エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


Linuxでファイルの内容を表示するcatコマンドの解説。more、lessで代替も

      2020/07/11

ファイルの内容を確認する cat、more、lessコマンド

 

catコマンドはファイルの内容を見る、ファイルを連結するコマンド

 
Linuxのコマンドでファイルの内容を見るコマンド「cat」について解説します。
 
catコマンドはファイルの内容を表示することができるコマンドですので、使用頻度が高いコマンドの一つです。
 
また、単にファイルの内容を表示するだけではなく、複数のファイルを 1ファイルに連結するときにも使うことが出来ます。
 
というより、「cat」コマンドは「conCATenate(連結する)」から来ていますので、ファイルを連結することの方が本来の機能であるのでしょう。
 
 

catコマンドの基本的な使い方

 
catコマンドの基本的な機能である、ファイルの内容を確認する、ファイルを連結するコマンドの使い方を解説します。
 
 

ファイルの内容を表示

 
ファイルの内容を表示するときは下記の様に、パラメータにファイル名を指定します。
 

 
 

ファイルを連結する場合

 
ファイルを連結する場合は、連結するファイルをパラメータとして複数指定します。
 

 
連結するファイルは、スペースで区切り、いくつでも設定することが出来ます。
また、指定した順番に連結されます。
 
連結した結果は、標準出力(画面に出力)されますが、連結した内容をファイルに保存したい場合は、「>(リダイレクト)」を使用して出力ファイルを指定します。
 
 
実際にファイルを連結すると下記の様になります。
 

 
 

catコマンドのオプション

 
catコマンドに用意されている主なオプションは以下の通りとなります。
 

オプション 説明
-n、–number 行番号を付け加える。
-b、–number-nonblank 行番号を付け加える。ただし空白行には行番号を付けない。
-s、–squeeze-blank 連続した空行を 1行にする
-v、–show-nonprinting tab、改行、改ページ以外の制御コード(非表示文字)を表示する
-t 制御コード(非表示文字)を表示する(TABを「^I」、改ページを「^L」とする)
-E、–show-ends 行末に「$」を表示する
-A、–show-all すべての制御コード(非表示文字)を表示する(-vET と同一)
-e tabを除くすべての制御コード(非表示文字)を表示する(-vE と同一)

 
 
オプションの処理内容を確認するため、オプションを付けなかった場合は下記の様に表示される「file_name7」ファイルを参考に確認していきます。
 

 
 

-nオプションで行番号を付け加える

 
「-n」オプションで行番号を付け加えて表示させます。
 

 
 

-bオプションで行番号を付け加える(空白行には付けない)

 
「-b」オプションも行番号を付け加えて表示させます。
ですが、「-n」オプションと違うところは、空白行のところには行番号が付かないところです。
 

 
 

-sオプションで連続した空行を 1行にする

 
「-s」オプションは、連続した空行がある場合はまとめて 1行にします。
 

 
ちなみに、オプションを「-sn」とすると、空行を 1行にした状態での行数が表示されます。
 
 

-Aオプションで行末に「$」を表示する

 
「-A」オプションは行末に「$」を表示します。
これにより、空行が何行あるかが分かりやすくなります。
 

 
 

catコマンドと似た機能を持つ more、less、tac、nlコマンド

 
ファイルの内容を確認するコマンドとして catコマンドを使うことが多いのですが、同じ様にファイルの内容を確認する際に使用するコマンドとして、more、less、tacコマンドがあります。
 

more、lessコマンドは単独でファイルの内容を表示できる

 
more、lessコマンドは、ページャーとして利用している方も多いかと思います。
 
例えば、下記の様に「|(パイプ)」でつないで catの表示をページャーでページごとに区切って表示する、と言う使い方です。
※「/var/log/boot.log」を表示するには root権限が必要です。
 

 
 
ですが、実は、more、lessは、それ単体でファイルの内容を表示するという機能を持っており、catコマンドを使わなくても下記の様にmore、lessコマンドだけでファイルの内容をページャー機能付で表示することが出来るのです。
 

 
more、lessの詳しい使い方については下記に記事を書いていますので、あわせて参考にしてください。
less、moreはページャー、ファイルの中身を表示するLinuxのコマンド
 
 

tacコマンドはcatとは逆の順番で表示する

 
「cat」の文字列を逆にした「tac」というコマンドもあります。
 
この「tac」コマンドは「cat」コマンド名の文字列が逆になっているわけですが、コマンド名の綴りだけではなく、機能も「cat」の逆の機能となります。
 
「cat」はファイルの最初から順番に標準出力しますが、「tac」はファイルの最後から順番に標準出力する機能を持っています。
 

 
 

nlコマンドは行番号を表示するコマンド

 
catコマンドにはファイルに行番号を表示する「-n」「-b」オプションがありますが、行番号を表示するコマンドとして専用の nlコマンドもあります。
 
catコマンドでは「-n」オプションである、すべての行に行番号を付与する場合は下記のように記述します。
 

 
 
また、「-b」オプションである、空白行には行番号を付与しない場合は下記のように記述します。
 

 
 
nlコマンドの詳しい解説は下記に記事を書いていますので、あわせて参考にしてください。
Linuxのnlは行番号を付与してファイルの内容を表示するコマンド

 - Linuxコマンド

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

Linuxのマニュアルページ表示コマンドmanの解説
Linuxのマニュアルページ表示コマンドmanの解説

Linuxにはコマンド操作のオンラインマニュアルが用意されています。そのマニュアルを表示するコマンドが「man」です。「man」コマンドの使い方について解説します。

Linuxで使用される主な環境変数・PATH、HOME、PS1・printenv、set、declare
Linuxで使用される主な環境変数・PATH、HOME、PS1・printenv、set、declare

Linuxに設定されている主な環境変数の解説。PWD、HOSTNAME、USER、LANG、HOME、LOGNAME、PS1、PS2、HISTSIZE、HISTFILE、HISTFILESIZE、TERMなどがある。

makewhatis、mandbコマンドでLinuxのオンラインマニュアル索引情報を更新
makewhatis、mandbコマンドでLinuxのオンラインマニュアル索引情報を更新

Linuxコマンドのオンラインマニュアルを検索するwhatis、aproposなどのコマンドはwhatisデータベースを対象に検索する。このデータベースを更新するmandb、makewhatisコマンドを解説。

less、moreはページャー、ファイルの中身を表示するLinuxのコマンド
less、moreはページャー、ファイルの中身を表示するLinuxのコマンド

Linuxにはコマンドで実行した結果が長い場合、1画面ごとに区切って表示するコマンドが用意されている。それがページャーと呼ばれるmore、lessだ。この使い方を解説。

Linuxの環境変数でパスの設定をする方法とシェル変数の扱い方を解説
Linuxの環境変数でパスの設定をする方法とシェル変数の扱い方を解説

Linuxでコマンドを設置するパスの設定情報である環境変数「PATH」の確認方法と環境変数「PATH」に新しいパスを追加する方法の解説。Linuxのシェルでの変数の扱い方についての解説も。

Linux findコマンドを使ってn日前のファイルを削除する 3つの記述方法
Linux findコマンドを使ってn日前のファイルを削除する 3つの記述方法

作成からn日経ったファイルを削除したい、そんなときにはfindコマンドを使う。コマンドの記述の方法は3種類あり、それぞれを解説。書き易さもあるがスピードに大きく差がある記述方法もある。

Linuxのbashで変数に値を追加する方法を多数紹介。+=や""を使う方法など
Linuxのbashで変数に値を追加する方法を多数紹介。+=や””を使う方法など

Linuxのbashで変数に値を代入する方法を解説。bashの変数の処理は柔軟で様々な方法を採れる。デリミタなしで値を追加する方法などを解説。

Linuxのタイムスタンプはmtime、ctime、atimeの3種類。touchコマンドで更新する方法
Linuxのタイムスタンプはmtime、ctime、atimeの3種類。touchコマンドで更新する方法

Linuxのファイルのタイムスタンプにはmtime、ctime、atimeの3種類がある。その違いを詳細に解説しつつ、lsで表示するオプション、touchで更新するオプションを解説。

Linuxのコマンドの情報を調べるwhich、whereis、whatis、apropos、man
Linuxのコマンドの情報を調べるwhich、whereis、whatis、apropos、man

Linuxのコマンドの実行ファイルやマニュアルの情報を確認するコマンドwhich、whereis、whatis、apropos、manの機能と使い方、似たところと違うところの紹介。

Linuxのファイル表示・結合catの逆処理のtac、revコマンドの解説
Linuxのファイル表示・結合catの逆処理のtac、revコマンドの解説

Linuxにtac、revというコマンドがある。catの逆の処理なのだが、tacは最終行から逆に表示し、revは行末の文字から逆に表示をすることを解説しつつその使い方について詳しく解説をする。