あなたはだんだん、ファイルを読むのにlessコマンドを使いたくなる


サーバー上のファイルの中身を確認するときって、どんなコマンドを使っていますか?
私は、短いファイルの場合はcat、長いファイルの場合はlessを使っています。
リモートエクスプローラーから、sakuraとかで開くより楽ちんです。

あなたがlessを使いたくなる理由

moreの上位互換

「上位互換」という響きだけで、使いたくなりますよね?
名前の由来も、「moreの対義語だから」です。素敵ですね。
「moreと何が違うの?」という説明は、今どきmoreを使う機会が無いという理由から割愛します。

manやgitコマンドのデフォルトのページャー

何かが当たり前のようにlessコマンドを使っている。
これはもう、使いたくなりますよね?

簡単、早い

サーバー上で

$ less <ファイルパス>

と入力すればパッと画面が切り替わって、ファイルの内容を読むことができます。起動もとても早いです。
時間の節約になるんだから、使いたくなりますよね?

lessを使いこなしてる感じが出る操作方法

使っていて気持ちがいいと、使いたくなりますよね?
矢印キー・マウスホイールを使う必要はありません。
キーボードから手を動かさずにスイスイとファイルが読めるようになる、必要十分なコマンドを紹介します。
大文字の場合は(Shift+)だと思ってください。
大抵の場合は、小文字の場合と逆の動作をします。

キー 動作 覚え方
j 1行下へ (↓キーと同じ)数字入力後なら指定行下へ joshi
k 1行上へ (↑キーと同じ)数字入力後なら指定行上へ kousei
d 半ページ下へ down
u 半ページ上へ up
f 1ページ下へ (PgDownと同じ) foward
b 1ページ上へ (PgUpと同じ) back
/<pattern> patternの文字列を下方検索
?<pattern> patternの文字列を上方検索
&<pattern> patternの文字列に一致する行のみを表示。"&"に続けて"!"を入力すると、マッチしない行のみの検索となる
n 検索した文字列の次のマッチへ next
N 検索した文字列の前のマッチへ
gg ファイルの先頭へ
G ファイルの末尾へ
n(数字)G n行目へ
q 終了 quit

また、起動時にオプションでNを渡すか、起動後に"-N、<Enter>"と入力すれば、行番号が表示されます。
これがあるだけで、とてもいいページャーな気がしてきます。
環境変数でデフォルトに設定することも可能です。(詳細は割愛)

私は、ローテートされていない長いエラーログを読むときなどは、起動後すぐにGを押しています。

こんな時にもお役立ち

活躍の場は、ただ単にファイルを読むだけに留まりません。
役に立つ子って、使いたくなりますよね?

  • コマンドの結果が標準出力に出る場合

ls -lR や tree を使った場合など、標準出力に長く結果が出てしまって、スクロールするのが面倒ですよね。
そんなときはこれ。

$ ls -lR | less

パイプで渡せば、じっくり&快適に読めます。

  • ファイルの末尾を追跡する

tailfでもできますが、ログが追記された時などに、再度開き直す必要はございません。
Fを押すことで、末尾を追跡するモードになります。(抜けるのは Ctrl + c)

締めに

ファイルの中身を確認する時の方法として、lessコマンドを使いたくなりましたでしょうか?

その他、よく使うコマンドやオプションがありましたら、お気軽にコメントなどでご指摘いただけると助かります。