コマンド
less
テキストファイル表示プログラム (ページャ)
最終更新 2018-02-08
UNIX/Linux における less コマンドは、テキストファイルの内容を表示するコマンドである。単純に表示するだけではなく、次ページに進んだり、1ページ戻ったり、文字列を検索するなど、便利な使い方ができる。more ではできなかったバックスクロールに対応、他にも gzip 等で圧縮されたファイル (*.gz) を直接見ることができるなど、いろいろな便利機能が付け加えられている。
● less コマンドの基本的な使い方
あるコマンドを実行結果や、ファイルの内容を見たいとき、1画面に収まりきらずスクロールしてしまって最初の部分が見えないことがある。そういう場合、
や
などとすることでゆっくり見ることができる。
最初に使うときは、最低限下記を覚えておくとよい。
q で終了 (more と違って、less はファイルの最後に到達しても終了しない)
カーソルキー・Ctrl-p・Ctrl-n で 1行スクロール
"f" で次ページ移動、"b" で前ページ移動
<・>で先頭行・最終行に移動
/ で検索 (正規表現として扱われる)
● 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
サーチにマッチした文字列を反転表示しない
-i
検索時に大文字小文字を同一視する
-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 でさかのぼることもできるので、覚えておくとよいだろう。
読み方
less
(UNIXコマンド) [れす]
more の逆:-)。逆スクロールもできる more 型フィルタということで名付けられた。