less
UNIX
shell

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

More than 1 year has passed since last update.

サーバー上のファイルの中身を確認するときって、どんなコマンドを使っていますか?

私は、短いファイルの場合は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コマンドを使いたくなりましたでしょうか?

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