Ubuntuで行数の多いテキストの内容を確認したい場合に便利な「less」コマンドを紹介します。
今回は普段使うことが多い操作方法について説明をしていきます。
lessコマンドについて
「less」コマンドはファイルの中身を1画面分表示して、自由にスクロールさせたり検索することができる便利なコマンドです。
$ less ファイル
実際に「less」コマンドを使用すると、下記のようにファイルの内容が1画面分表示されます。
$ less /var/log/dpkg.log
操作方法
lessの操作方法をまとめました。
操作内容 | 操作キー |
---|---|
1画面分下へ | f スペース |
1画面分上へ | b |
半画面分下へ | d |
半画面分上へ | u |
1行分下へ | j Enter 下矢印キー |
1行分上へ | k y 上矢印キー |
ファイルの先頭へ | g |
ファイルの末尾へ | G(Shift + g) |
lessを終了 | q ZZ(Shift + zz) |
現在表示しているファイルを表示 | = :f 「Ctrl」+「g」 |
ヘルプを表示 | h (qでヘルプを終了) |
文字検索に関する操作
lessは「/検索パターン」で、読み込んでいるファイル内の文字検索も行うことが出来ます。
操作内容 | 操作キー |
---|---|
指定したパターンで検索 | /パターン |
次の検索結果を表示 | n |
前の検索結果表示 | N |
検索例
「/install」と入力して「install」という単語で検索を行ってみます。
検索に合致した文字がハイライトで強調表示されます。
「n」キーを押下すると次に合致した部分を表示し、「N」(Shift + N)を押下すると一つ前の部分を表示することが出来ます。
オプションについて
lessには多くのオプションがありますが、私が良く使用するものを紹介します。
操作内容 | オプション |
---|---|
行番号を表示 | -N |
指定した行数から表示 | +行数 |
大文字小文字を区別せずに検索 | -I |
行の折り返しをしない | -S |
行番号を表示 -N
「-N」オプションを使用して行番号を表示させてみます。
$ less -N /var/log/dpkg.log
左側に行番号が表示されています。
指定した行数から表示 +行数
「+30」として、30行目から表示させてみます。
$ less -N +30 /var/log/dpkg.log
「-N」オプションと同時に指定しているので、30行目から表示されていることが確認できます。
大文字小文字を区別せずに検索 -I
「-I」を指定すると、検索を行う時に大文字と小文字のどちらも区別せずに検索を行ってくれます。
$ less -I /var/log/dpkg.log
「/InsTall」といったように大文字と小文字を混ぜて検索を行ってみます。
大文字と小文字を混ぜても区別を行わず「install」が検索結果として表示されています。
行の折り返しをしない -S
$ less -S /var/log/dpkg.log
右端で折り返すことがなくなり、画面からはみ出している箇所には「>」が表示されます。
はみ出している部分を確認したい場合は、矢印キーの右と左で画面をスクロールさせることが出来きます。
便利な使い方
lessを使うにあたってちょっと便利な使い方を紹介します。
複数のファイルを連続表示
複数のファイルを指定することで、ファイルの中身を連続で表示させることが出来ます。
ファイルの指定には「*」等も使用することが出来ます。
less ファイル1 ファイル2 less *.txt
連続表示の操作方法
操作内容 | 操作キー |
---|---|
次のファイルを読む | :n |
前のファイルを読む | :p |
一番最初のファイルを読む | :x |
表示例
実際に「/var/log/dpkg.log」と「/var/log/dpkg.log.1」を続けて表示させてみます。
$ less /var/log/dpkg.log /var/log/dpkg.log.1
画面の下に現在表示しているファイル名と、何番目のファイルを表示しているのかを表すメッセージが表示されています。
最初のファイルを末尾まで表示すると「(END) - Next: 次のファイル」といったメッセージが表示されるので、「:n」と入力すると次のファイルを表示することが出来ます。
次のファイルが表示されていることは、画面の下に表示されているメッセージで確認できます。
表示するファイルの変更はどこでもできます
「:n」「:p」による表示するファイルの変更は、ファイルの最後や最初でなくてもいつでも自由に行うことが出来ます。
コマンドの実行結果を「|」(パイプ)でlessに渡す
コマンドの実行結果を「|」(パイプ)で「less」コマンドに渡すことで、表示結果を少しづつ表示させて読みやすくすることが出来ます。
ログを検証する際に「grep」で検索をして、結果を「less」に渡すといったような使い方をしたりします。
$ grep "status install" /var/log/dpkg.log /var/log/dpkg.log.1 | less
コメント