ページング処理 ~moreコマンド・lessコマンド~
本記事の対象者
LPIC level1習得を目指す初学者の方
コマンドの基本的な用途について、要点を絞って解説します。
今回の内容
今回は、moreコマンドとlessコマンドについて解説します。
moreコマンド
moreコマンドは、「ページャ」と呼ばれるプログラムの一種で、一画面に収まりきらない量の出力をページングしてくれるコマンドです。
例として、/etc/passwdをcatコマンドとmoreコマンドで出力した結果を以下に示します。
/etc/passwdの内容は、画面1ページに収まりきらない量となっています。catコマンドで出力した場合、最終行付近は確認がとれますが、出力の前半部分は流れてしまって確認がとれません。(※ Linuxの標準コンソールの場合。使用しているツールによっては、上部にスクロールすることで確認ができます。)
一方で、moreコマンドを使用した場合、ファイルの先頭から出力を行ってくれています。
一度出力した後は、Enterキーで一行送り、Spaceキーで一ページ送りが行えます。以下にページング中に使用できる操作を示します。
moreコマンド中の操作 | |
---|---|
Enter | 一行送り |
Space | 一ページ送り |
Ctrl + f | 一ページ送り |
Ctrl + b | 一ページ戻り | /文字列 | 文字列のところまでスキップ(検索機能) |
行送り、ページ送りのほか、特定の文字列が含まれる行までスキップする機能もついています。
lessコマンド
lessコマンドもmoreコマンド同様、ページング処理を行うページャとなります。基本的な処理や操作方法はmoreコマンドと同様です。ここでは、moreとlessの違いに焦点を絞ってみましょう。
以下はlessコマンドで/etc/passwdを出力した例となります。
違いとしては、
・出力途中のパーセント表示がない
・最終行まで出力してもプロンプトが返ってこない
の2点が挙げられます。
個人的な意見にはなりますが、この「・最終行まで出力してもプロンプトが返ってこない」という点で、lessコマンドのほうが使い勝手がよく感じます。
最終行まで確認して、もう一度前のページに戻りたいというケースはよくあります。moreコマンドではもう一度コマンドを実行しなければならないのに対して、lessコマンドでは↑キーやCtrl+bでそのまま確認がとれます。とはいえ、軽微な違いなのでどちらか好きなほうを使用してください。
lessコマンドの表示を終了するには、「q」キーを押下します。
まとめ
今回は、出力結果をページング処理するコマンド「more」と「less」についてでした。
結論としては、どちらを使用してもそこまで変わりはないため、実際に使用する際には使いやすいほうを選定していただいて問題はないかと思います。
また、ファイルの内容を確認後に書き換える可能性がある際には、viエディタを使用することのほうが多いと思います。
確認問題
ファイルの内容を標準出力する際にページングを行い、単語検索を可能にするコマンドは次のうちどれか。
A) less
B) fmt
C) pr
D) page