Guides, HowTos and Tips for Technology Geeks - The Geek Stuff

UbuntuやFreeBSDなどのUnix系OSでよく利用するコマンドのひとつにless(1)がある。テキストファイルの内容を閲覧するためのコマンドで、エディタを使うよりも高速で軽量という特徴がある。ページ送り以外にも検索、フィルタリング表示、ブックマーク、複数ファイル閲覧、テキストファイル以外のファイルの内容を閲覧するための機能などがあり、いくつかの操作方法を覚えておくと作業効率が向上する。

Unix Less Command: 10 Tips for Effective Navigationにおいてless(1)コマンドの便利な使用方法が紹介されている。紹介されているテクニックは次のとおり。

1. 検索

コマンド 内容 備考
/キーワード キーワードを前方検索。nキーで次の検索一致へジャンプ、Nで前の検索一致へジャンプ
?キーワード キーワードを後方検索。nキーで次の検索一致へジャンプ、Nで前の検索一致へジャンプ nとNは/とは方向が逆

「/」による前方検索ではキーワードに「/」を含めるときには「\/」のようにバックスラッシュを指定する。「/usr/local/」を検索する場合は「/\/usr\/local\/」となる。「?」による後方検索ではキーワードに「/」が含まれていてもそのまま指定できる。「/usr/local/」を検索する場合は「?/usr/local/」となる。

2. ページ送り

ショートカットキー 内容
Ctrl-f ページ送り
Ctrl-b ページ戻し
Ctrl-d 半ページ送り
Ctrl-u 半ページ戻し

3. 行送り

ショートカットキー 内容
j 1行送り
k 1行戻し

4. まとめ移動

ショートカットキー 内容
G ファイルを最後へ移動
g ファイルの先頭へ移動
q less終了
ZZ less終了

5. 追記監視モード

ショートカットキー 内容
F tail -fと同じモード。ファイルへの追加書き込みを監視する。ログファイルの監視に便利。Ctrl-Cでtail -fモードから抜ける

6. 複数行送りと場所表示

ショートカットキー 内容
数字j 数字行分送り
数字k 数字行分行戻し
Ctrl-g 表示部分の行数やバイト数情報を表示

7. エディタ、ヘルプ、フィルタリング

ショートカットキー 内容
v エディタで表示
h ヘルプを表示
&パターン パターンに一致する行のみを表示

8. テキストファイル以外も開く

環境変数 OS 内容 備考
LESSOPEN Ubuntu 9.10 |/usr/bin/lesspipe %s
LESSCLOSE Ubuntu 9.10 /usr/bin/lesspipe %s %s
LESSOPEN FreeBSD |/usr/local/bin/lesspipe.sh %s misc/lesspipeをインストール
LESSCLOSE FreeBSD /usr/local/bin/lesspipe.sh %s %s misc/lesspipeをインストール

9. ブックマークとジャンプ

ショートカットキー 内容
ma マークセット
'a セットしたマークへジャンプ

10. 複数ファイルナビゲーション

コマンド 内容
less file1 file2 ... 複数ファイルの閲覧
:e file2 閲覧中に対象ファイルを追加
:n 次のファイルを閲覧
:p 前のファイルを閲覧

基本的なナビゲーション操作以外に、lesspipeのインストールと環境変数の設定、パターン指定によるフィルタリング表示、追記監視モードでの利用、パスを検索するために後方検索の利用などを覚えておくと便利。