エス技研

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.

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

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

  関連記事

UNIX・Linuxの sedコマンドで特定の文字列を置換する方法

UNIX・Linuxのコマンドで特定の文字列を置換する sedコマンドの使い方と、perlコマンドを使っての方法を解説しています。

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

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

Linuxのheadコマンドは先頭行から、tailコマンドは最終行から指定した行を表示する
Linuxのheadコマンドは先頭行から、tailコマンドは最終行から指定した行を表示する

Linuxのhead、tailコマンドはファイルの先頭の一部、もしくは、末行の一部を表示するコマンド。行数や文字数で指定をする。tailはログを監視するためのオプションがある。

Linuxの wcコマンドでファイルの行数、単語数、バイト数、文字数をカウントする
Linuxの wcコマンドでファイルの行数、単語数、バイト数、文字数をカウントする

Linuxの行数、単語数、文字数、バイト数をカウントする「wc」コマンドの使い方の解説。find、lsと組み合わせてファイル数のカウント方法などを解説。

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

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

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

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

Linuxのbashのコマンドの履歴をhistoryで確認し!、↓、↑で実行する
Linuxのbashのコマンドの履歴をhistoryで確認し!、↓、↑で実行する

Linuxで実行したコマンドの履歴を確認するコマンド「history」。「history」の使い方、設定の変更、設定ファイルの設置場所について解説。「!番号」「!文字列」「!?文字列」など。

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

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

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

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

Linuxのsplitコマンドは指定したサイズにファイルを分割する
Linuxのsplitコマンドは指定したサイズにファイルを分割する

Linuxのsplitコマンドはファイルを分割する機能を有する。分割するサイズ、行数、ファイル数を指定するオプションや、分割後のファイルの接尾辞を指定するオプションなどがある。