UNIX/Linuxの部屋 コマンド:less


※空白区切りで AND 検索 (例:「ファイル 削除」)

コマンド less ファイル表示プログラム (ページャ)

最終更新


あるコマンドを実行結果や、ファイルの内容を見たいとき、1画面に収まりきらずスクロールしてしまって最初の部分が見えないことがある。そういう場合、
% ls -l | less

% less file.txt
などとすることでゆっくり見ることができる。

more ではできなかったバックスクロールに対応、他にも gzip や compress で圧縮されたファイル (*.gz や *.Z) を直接見ることができるなど、いろいろな機能が付け加えられている。なお、FreeBSD の less は日本語を表示できないので、jless (ja-less) を使うこと。

最初に使うときは
  • q で終了 (more と違って、less はファイルの最後に到達しても終了しない)
  • カーソルキー・Ctrl-p・Ctrl-n で上下スクロール
  • <・>で先頭行・最終行に移動
  • / で検索 (正規表現として扱われる)
ということを覚えておくとよい。

less コマンドのキーバインド
less コマンドのキーバインドについて説明する。less は1つの動作に対して複数のキーが割り当てられている。例えば less を終了するには q か :q か :Q か ZZ のうちいずれを使ってもよい。

▷ q または :q または :Q または ZZ
less を終了
▷ カーソルキー
前後に1行移動。なお、左右スクロールもできる。
▷ 数字
指定行に移動
▷ f または SPACE または ^V または ^F
1画面前進
▷ b または ^B または ESC-v
1画面後退
▷ RETURN または e または j または ^N または ^E または ^J
1行前進
▷ y または k または ^Y または ^P または ^K
1行後退
▷ d または ^D
1/2画面前進
▷ u または ^U
1/2画面後退
▷ r または ^R または ^L
画面を再表示
▷ R
ファイルを読み直して再表示
▷ g または < または ESC-<
先頭行に移動
▷ G または > または ESC->
最終行に移動
▷ /文字列
文字列を前方検索 (正規表現として扱われる)
▷ /!文字列
文字列を含まない行を検索
▷ /*文字列
コマンドラインで指定した全てのファイルを検索
▷ /@文字列
ファイルの先頭から検索
▷ ?[!*@]文字列
文字列を後方検索。/と同じ機能を持つ
▷ n
次検索。一度 / で検索した後、もう一度同じ文字列を検索したいとき n を使う。
▷ N
nとは逆方向に次検索
▷ F
tail -f のように、追記部分を順次表示する。Ctrl-C で tail -f モード終了。
▷ ESC-u
検索にマッチした部分の反転表示を解除
▷ v
エディタを起動して現在表示しているファイル編集
▷ = または ^G または :f
現在位置の行数、バイト数、パーセンテージを表示する。
lines 1-36/1453 byte 1834/68190 2%
→ 全体で1453行あるうち、現在1行目から36行目を表示している。全体サイズは68190バイトだが、画面最下行は1834バイトで、全体の2%を表示している
▷ -[オプション]
起動後に less オプションを指定する。例えば less 起動後に行番号表示の -N オプションを指定し忘れていたことに気づいた場合、less を起動したまま -N とすると、最下行にて
Constantly display line numbers (press RETURN)
と表示され、ENTER キーを押せば行番号が表示されるようになる。もう一度 -N とすると行番号が非表示になる。
▷ h
簡易ヘルプを表示
▷ V
バージョンを表示
▷ !(リターン)
シェルを起動
▷ !コマンド
コマンドを実行
▷ !!
直前の!コマンドを再実行

less コマンドのオプション
less コマンドのオプションは以下のとおり。なお、less 起動時にオプションを付け忘れた場合でも、less 起動後に -[オプション] として後から指定することもできる。
-e ファイル終端に2度到達すると終了する
-E ファイル終端に1度到達すると終了する (more と同じ動作)
-f ディレクトリや実行ファイルも表示する。less でバイナリファイルを見ようとすると「"/bin/ls" may be a binary file. See it anyway?」などという確認メッセージが表示され、`y' を押すと内容を見ることができる。-f オプションを付けると、バイナリファイルでも確認を求めずに表示する。
-g サーチにマッチした文字列のうち最後にマッチしたものだけを反転表示する
-G サーチにマッチした文字列を反転表示しない
-jn(数字) ターゲットラインの位置を指定する。ターゲットラインとは、サーチにマッチした文字列が表示される行のこと。-j10 とすると、サーチにマッチした文字列は上から 10行目に表示される。 -j-10 とすると、下から 10行目に表示される。
-kファイル名 lesskey で作られたキーバインド設定ファイルを読み込む
-m プロンプトに常に現在行のパーセンテージを表示する
-M プロンプトに常に現在行のパーセンテージと行数を表示する
-n 行数計算をしない。非常にサイズの大きいファイルの場合動作が高速化される
-N 各行の先頭に行番号を表示する
-oファイル名 入力をファイルにコピーする。パイプから入力した場合に有用
-Oファイル名 -oと同じだが、同名のファイルがすでに存在したら上書きする
-p [パターン] 起動後、指定されたパターンをサーチする。例えば less -p abc file.txt と起動するのは、less file.txt と起動した後に / で検索し abc と入力するのと同じである。マッチした部分が反転し、n を押下することで次のマッチ箇所に移動できるので、最初から検索したい文字列がわかっている場合は有用である。
-q エラーの際にあまりビープ音を鳴らさない (状況による)
-Q エラーの際にビープ音を鳴らさない
-r コントロールコードをそのまま表示する。デフォルトでは control-A は ^A と表示されるが、-r を指定するとそのまま表示する。これによって、cat で日本語が表示できる環境なら、less -r で日本語が表示できるかも。
-s 連続する空行を1つにまとめる
-S 1行の文字数が画面の横幅を超えた場合、折り返さず、はみでた部分は表示しない
-V バージョンを表示
-w 空行を表す記号に~を表示しない
-xn(数字) タブ幅をnに設定する。デフォルトは 8
-zn(数字) f キー、b キーを押した時にスクロールする行数を指定する。n がマイナスなら (スクリーンの縦幅-n) 行スクロールする

環境変数 LESS にオプションを設定することで、デフォルトオプションとして扱われる。例えば
% setenv LESS -Ngj10 (csh・tcsh の場合)
% export LESS=-Ngj10 (sh・bash の場合)
などと設定する。

なお、less を使わなくても kterm なら Shift+PageUp、Shift+PageDown、Tera Term なら Ctrl+PageUp、Ctrl-PageDown でさかのぼることもできるので、覚えておくとよいだろう。
>> Linuxオンラインマニュアル(man) Linux less(1)
>> FreeBSDオンラインマニュアル(man) FreeBSD less(1)

読み方 less (UNIXコマンド) [れす]

more の逆:-)。逆スクロールもできる more 型フィルタということで名付けられた。


頑張って書いたおすすめコンテンツ!
クラウドサービス徹底比較・徹底解説