【 less 】コマンド(活用編)――表示内容を検索する/検索文字を指定して起動する:Linux基本コマンドTips(85)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。前回に続き、今回も「less」コマンドを紹介します。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、「less」コマンドの活用編を紹介します。
lessコマンドとは?
「less」は、テキストファイルを1画面ずつ表示するコマンドです。「less ファイル名」で実行する他、「コマンド | less」のように、別のコマンドの実行結果を1画面ずつ表示する場合にも使われます。
- lessコマンド(基本編)――メッセージやテキストファイルを1画面ずつ表示する(本連載 第84回)
[Enter]キーで1行、スペースキーで1画面先に進める他、上下矢印キーによるスクロールも可能です。表示を終了するには[Q]または[q]キーを入力します。
同じ用途のコマンドに「more」があります(本連載第2回)。lessコマンドはmoreコマンドよりも機能が多く、画面内で検索したり、上にスクロールしたりすることが可能です。
lessコマンドの主なオプション
lessコマンドの主なオプションは次の通りです。
| 短いオプション | 長いオプション | 意味 |
|---|---|---|
| +行数,-行数 | 指定した行から表示する | |
| +/文字列 | 指定文字列を検索し、見つけた行から表示する(正規表現によるパターン指定が可能) | |
| -p文字列 | --pattern=文字列 | 指定文字列を検索し、見つけた行から表示する(正規表現によるパターン指定が可能) |
| -oファイル | --log-file=ファイル | パイプ(|)などで標準入力から入力した内容を表示する際、指定したファイルにコピーを保存する。既存ファイルを指定した場合は、上書きするか、追加するかを確認するメッセージが表示される |
| -Oファイル | --LOG-FILE=ファイル | 「-o」と同じだが、既存ファイルを指定した場合は、確認せずに上書きする |
| -kファイル名 | --lesskey-file=ファイル名 | lesskeyファイル(キー定義ファイル、「lesskey」コマンドで生成)を指定する |
| -L | --no-lessopen | 環境変数LESSOPEN(lessコマンド用のオプションを定義した環境変数)を無視する |
| 短いオプション | 長いオプション | 意味 |
|---|---|---|
| -s | --squeeze-blank-lines | 連続した空行を1行にする |
| -S | --chop-long-lines | 画面幅より長い行を折り返さない |
| -# | --shift | 水平方向にスクロールする際のデフォルトの移動桁数(「0」にするとデフォルト値が画面幅の半分になる) |
| -数、-z数 | --window=数 | スクロールするウィンドウの大きさを指定する(1画面より小さくする際は負の数で行数を指定。例えば、ウィンドウが24行で「-z-4」とした場合は、20行でスクロールする) |
| -q | --quiet、--silent | ファイル末尾まで表示したときのビープ音を鳴らさない(入力コマンドエラー時は鳴らす) |
| -Q | --QUIET、--SILENT | 「-q」のときも含め、ビープ音を一切鳴らさない |
| -e | --quit-at-eof | ファイルの末尾に2回達したら表示を終了する(実行例4を参照) |
| -E | --QUIT-AT-EOF | ファイルの末尾に到達したら表示を終了する |
| -F | --quit-if-one-screen | 1画面で表示できる場合はすぐに終了する |
| -K | --quit-on-intr | [Ctrl]+[C]キーで終了する |
| -n | --line-numbers | 行番号を表示しない |
| -N | --LINE-NUMBERS | 行番号を表示する |
| -J | --status-column | 画面の左にステータス行を表示する(例えば、検索時に該当する行に「*」記号が表示される) |
| -m | --long-prompt | moreコマンド同様、プロンプトに現在の表示位置をパーセントで表示する |
| -M | --LONG-PROMPT | 「-m」より詳細なプロンプトを表示する |
| -f | --force | 通常のファイル以外も強制的に表示する |
| -r | --raw-control-chars | 制御文字をそのまま表示する(デフォルトでは「^A」のようにキャレット記号を使って表示する) |
| -R | --RAW-CONTROL-CHARS | 「-r」と同様だが、可能な限り画面表示を正しく維持する |
| -XXX | --mark-wrong-char | 表示できない誤った文字を表示する際にマーク文字(〓)を使用する(デフォルトではバイナリとして表示) |
| -u | --underline-special | バックスペースとキャリッジリターンを印刷可能文字として扱う |
| -U | --UNDERLINE-SPECIAL | バックスペース、タブ、キャリッジリターンを制御文字として扱う(「-u」「-U」ともに指定していない場合は、これらの文字を使って重ね打ちによる太字や下線を表示する) |
| -x数,… | --tabs=数,… | タブストップの位置を設定する。「-x4」の場合4の倍数、「-x9,17」は「9,17,25,33…」となる(デフォルトは8) |
| -~ | --tilde | ファイル末尾以降のチルダ記号(~)を表示しない |
| 短いオプション | 長いオプション | 意味 |
|---|---|---|
| -i | --ignore-case | 検索時に大小文字を区別しない(ただし、検索文字列に大文字を使用した場合は大小文字を区別する) |
| -I | --IGNORE-CASE | 検索時、常に大小文字を区別しない |
| -a | --search-skip-screen | 画面に表示されている次の行以降を検索する(デフォルトは画面内の2行目以降、または最後の検索対象が見つかった行以降を検索する) |
| -g | --hilite-search | 検索時、最初に見つけた分だけをハイライト表示する(デフォルトでは見つけた箇所を全てハイライト表示) |
| -G | --HILITE-SEARCH | 検索時のハイライト表示をしない |
| -w | --hilite-unread | 画面単位でスクロールした際、新しく表示された行の先頭部分をハイライト表示する |
| -W | --HILITE-UNREAD | 新しく表示された行の先頭部分を常にハイライト表示する |
| -tタグ | --tag=タグ | タグを定義する(タグはソースコードで定義箇所にジャンプしたりする際に使用する) |
| -Tタグファイル | --tag-file=タグファイル | タグのリストが書かれたファイルを指定する(タグファイルは「ctags」コマンドで生成) |
| キー操作 | 内容 |
|---|---|
| ※「^v」は[Ctrl]キーを押しながら[v]、[esc-v]は[ESC]キーを押してから[v] | |
| h/H | ヘルプを表示(less画面と同様、[Enter]キーで1行、スペースキーで1画面先に進み[q]で終了する) |
| q/:q/Q/:Q/ZZ | 終了する(「:q」は[:]キーを押してから[q]キー) |
| e/^E/j/^N/return | 1行進む(コマンドに続いて数字を入力すると指定行数分進む) |
| y/^Y/k/^K/^P | 1行戻る(コマンドに続いて数字を入力すると指定行数分進む) |
| f/^F/^V/space/esc-space | 1画面進む([esc-space]の場合データの末尾で止まらない) |
| F | 1画面進み、末尾まで表示しても終了せずにファイルを監視する(「tail -f」同様、データが追加され続けるログファイルなどに使用する) |
| b/^B/esc-v | 1画面戻る |
| d/^D | 半画面分進む |
| u/^U | 半画面分戻る |
| esc-)/右矢印 | 半画面分右を表示する |
| esc-(/左矢印 | 半画面分左を表示する |
| g/</esc-< | 先頭行に移動する(コマンドに続いて数字を指定すると指定した行へ移動する) |
| G/>/esc-> | 最終行に移動する(コマンドに続いて数字を指定すると指定した行へ移動する) |
| v | 表示中のファイルを「vi」コマンドで編集する(使用するエディタは、環境変数VISUALまたはEDITORで変更可能) |
| !コマンド | シェルでコマンドを実行する(シェルは環境変数SHELLで変更可能) |
| キー操作 | 内容 |
|---|---|
| / | 検索する(「/」続いて検索パターンを入力する) |
| ? | 後ろ方向に検索する(「?」に続いて検索パターンを入力する) |
| n | 次を検索する(「n」に続いて数字を入力すると指定回数分先に進む) |
| N | 逆順に次を検索する(「N」に続いて数字を入力すると指定回数分先に進む) |
| esc-u | 検索結果の反転/反転解除を切り替える |
| & | 検索パターンにあっている行だけを表示する(「&」に続いて検索パターンを入力する) |
表示内容を検索する
lessコマンドで内容を表示している際に、キーを入力することでスクロールや検索を行うことができます。表示内容を検索するには[/]に続けて検索したい文字列を入力し、[Enter]キーを押します。検索には正規表現も使用できます。
検索結果はハイライト表示(反転表示)されます。同じ文字を続けて検索したい場合は[n]、逆方向に検索したい場合は[N]を入力します。
なお、表示中に[h]キーを押すと、キー操作のヘルプを表示することができます(前回記事参照)。
コマンド実行例
コマンド | less
(コマンドの実行結果をlessコマンドで表示する)
less ファイル名
(ファイルの内容をlessコマンドで表示する)
以下の実行画面では、「less /etc/bashrc」で「/etc/bashrc」を表示し、検索文字として[/]に続けて「PS1」を入力しています(画面1〜3)。
検索文字を指定して起動する
「less +/検索文字列」または「less -p検索文字列」で、lessコマンド起動時に検索文字列を指定できます。この場合も[n]または[N]キーで続けて検索したり、[/]キーで別の文字列を検索したりすることができます。
コマンド実行例
less +/検索文字列 ファイル名
less -p検索文字列 ファイル名
(検索文字を指定してlessコマンドを起動する)
以下の実行画面では、「less +/PS1 /etc/bashrc」で検索文字列に「PS1」を指定した状態で「/etc/bashrc」を表示しています(画面4)。
エディタを起動する
lessコマンドでテキストファイルを表示している際に[v]キーを押すと、エディタが起動します。デフォルトのエディタは「vi」で、画面の見た目はlessコマンドの表示とかなり似ています。
viを終了するには、[ESC]キーを押してから[:]キーを押し、次に[q]キーを押します。
表示内容を保存して終了したい場合は[ESC]キーの後に[:]キー、[w]キー、[q]キーの順で押します。
「内容を書き換えてしまったが、保存せずに終了したい」という場合は[ESC]キーの後に[:]キー、[q]キー、[!]キーの順で押します。
なお「w」はwrite(書き込み)、「q」はquit(終了)、「!」は“強制的に”という意味です。
以下の実行画面は、lessコマンドで「/etc/bashrc」を表示している時に[v]キーを押した直後の状態になります(画面5)。
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.




