Linuxコマンドでファイルの内容を表示する方法(cat, less)

Linuxコマンドでファイルの内容を表示する方法(cat, less)

CUI環境のLinuxでは、設定ファイルやログファイルなどのテキスト形式ファイルの内容を表示するコマンドとして「cat」「less」が一般的ですが、それぞれのコマンドの特徴や使い分け方がよくわからないという方もいらっしゃるでしょう。

そこでここでは「cat」「less」コマンドそれぞれの特徴と使用例を紹介します。

この記事は、以下の環境での動作結果を基にしています。他のディストリビューションでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Alma Linux9.4

catコマンド

catコマンドは、引数として指定したファイルの内容を標準出力に表示するコマンドです。

書式とオプション

cat [オプション] ファイル名

※[ ]は省略可能な引数を示しています

catコマンドの主なオプションは、次のとおりです。

オプション説明
-n行番号を表示します。
-r複数の連続する空白行を1行の空白行に置き換えます。

使用例

ファイルの内容を表示するときは、以下のようにコマンドを実行します。

$ cat file1.txt

ファイルの内容を表示するときに行番号も表示したいときは、以下のようにコマンドを実行します。

$ cat -n file1.txt

以下のようにコマンドを実行すれば、複数ファイルを1つのファイルに結合することもできます。

$ cat file1.txt file2.txt file3.txt > file4.txt

標準入力から入力した文字列をファイルに保存するときは、以下のようにコマンドを実行します。(標準入力からの入力を終了するときは、Ctrl+Dキーを押します。)

$ cat > file1.txt
hoge
hoge2

標準入力から入力した文字列をファイルに追記するときは、以下のようにコマンドを実行します。(標準入力からの入力を終了するときは、Ctrl+Dキーを押します。)

$ cat >> file1.txt
hoge3
hoge4

lessコマンド

lessコマンドは、指定したファイルの内容を1画面ずつ分割して表示できるコマンドで、ファイルサイズが大きくても表示できるため、行数の多いログファイルや設定ファイルなどを確認するときに利用します。

cat コマンドは、ファイル内容を最後まで続けて表示します。

書式とオプション

less [オプション] ファイル名

※[ ]は省略可能な引数を示しています

lessコマンドの主なオプションは、次のとおりです。

オプション説明
-s連続する空白行を1行の空白行に置き換えます。
-N行番号を表示します。
+行数指定した行番号から表示します。
+/文字列指定した文字列を検索し、見つかった行から表示します。

lessコマンドでファイルの内容を表示しているときに使用するキーは、以下のとおりです。

キー操作説明
hヘルプを表示します。
q終了します。
エンターキー,e1行進みます。(コマンドに続けて数字を入力すると指定した行数分進みます。)
y1行戻ります。(コマンドに続けて数字を入力すると指定した行数分戻ります。)
スペースキー,f1画面進みます。
b1画面戻ります。
d半画面進みます。
u半画面戻ります。
gファイルの先頭へ移動します。
XgX行目に移動します。
Gファイルの末尾へ移動します。
Fファイルの末尾まで表示しても終了せずにファイルの変更を監視します。
/文字列指定した文字列を、カーソル以降から検索します。
?文字列指定した文字列を、カーソル以前から検索します。
n次を検索します。
N逆順に次を検索します。

使用例

ファイルの内容を表示するときは、以下のようにコマンドを実行します。

$ less file1.txt

ファイルを10行目から表示するときは、以下のようにコマンドを実行します。

$ less +10 file1.txt

ファイルの行末から表示したいときは、以下のようにコマンドを実行します。

$ less +G file1.txt

別のコマンドの実行結果を1画面ずつ表示させたいときは、以下のようにコマンドを実行します。

$ コマンド | less

あとがき

一般的には、行数の少ないファイルを表示するときはcat、行数の多いファイルの場合はlessを使用するのがよいでしょう。なお、ファイル内容を表示できるコマンドとしてmoreコマンドもありますが、lessコマンドがmoreコマンドの改善版なので、あえて使う場面はほぼないでしょう。