Linux

【Linux】catコマンドとは?

  • このエントリーをはてなブックマークに追加



対象読者

● Linuxコマンド初学者

要点

● catコマンドは主に以下を実行可能
○ 特定のファイルの中身を表示する
○ 特定のファイルの中身を別のファイルに記述する
○ 特定のファイルの中身を別のファイルに追記する
● CLI上でファイルの中身を確認したい時や特定ファイルの中身を別ファイルに反映させたい時に利用する事が多い

catコマンドとは?

catコマンドは、大きく以下2つの事が実施可能なコマンドです。
①特定のファイルの中身を表示する
②特定のファイルの中身を別のファイルに記述する
順番に見ていきましょう。

特定のファイルの中身を表示する

catコマンドは、cat cat_test.txtのようにcat {ファイル名}という形式で利用する事でファイルの中身を確認する事ができます。実際に手を動かして確認してみましょう。まずはターミナル(Windowsの場合git bashなど)を開いてください。

まずは挙動確認の準備をします。cat_test.txtを作成して、ファイルに”cat command succeeded!”と記載しましょう。
touchコマンドを利用してデスクトップの階層にファイルを作成し、viコマンドを利用して記載する事ができます。(もちろん右クリック→新規ファイル作成で作成し、GUIで書き込んでも構いません。)以下のコマンドを実施しましょう。

touch cat_test.txt

ls※正常に作成された事を確認

cat_prep

vi cat_test.txt ※viコマンドの詳細については【Linux】viコマンドとは?を参照下さい。

viコマンドでファイルの編集が終わったらescキー → :wqを忘れずに行いましょう。
以上でcatコマンドの挙動を確認する準備ができました。では、catコマンドでcat_test.txtの中身を確認してみましょう。
以下のコマンドを実施します。

cat cat_test.txt

cat_test.txtに記載した”cat command succeeded!”が確認できました。
この様に、catコマンドを利用してファイルの中身を確認する事ができます。

特定のファイルの中身を別ファイルに記述する

続いて特定のファイルの中身を別ファイルに記載するコマンドですが、ファイルの中身をまるっきり書き換えるパターンと上書きするパターンがあります。順番に見ていきましょう。

特定のファイルの中身を別のファイルに記述する(書き換え)

結論から記載すると、特定のファイルの中身を別ファイルに記述(書き換え)するコマンドは、
cat fileA.txt > fileB.txtのようになります。
cat {書き換えに利用するファイル} > {書き換えられるファイル}といった記載です。
実際にfileA.txt, fileB.txtを作成して確認してみましょう。
先ほどの手順通りtouchコマンドとviコマンドを利用して、fileA.txtには”This is file A!”、fileB.txtには”This is file B!”と記載し、cat {ファイル名}を用い、ファイルの中身が適切に記載されているか確認しましょう。

cat_copy_prep

上の写真のような状態になれば準備完了です。

では、cat fileA.txt > fileB.txtを実行してみましょう。

cat_a_b

cat fileB.txtを使ってfileB.txtを確認すると、

cat_b_result_1

この様に、fileB.txtに記載した”This is file B!”という文章が、fileA.txtに記載した”This is file A!”という文章に書き換わっている事が分かります。

特定のファイルの中身を別のファイルに記述する(上書き)

次に、特定のファイルの中身を使って別のファイルを上書きする方法を見てみましょう。こちらも結論から記載すると、cat fileA.txt >> fileB.txt の様に、cat {上書きに利用するファイル} >> {上書きされるファイル}といった形式になります。書き換えの場合が、”>”が1つだったのに対し、上書きは”>>”と重ねて記載します。

こちらも実際に試してみましょう。
fileA.txtは”This is file A!”を、fileB.txtに”This is file B!”を記載し準備します。準備が完了したら以下のコマンドを実行しましょう。
cat fileA.txt >> fileB.txt
cat_file_b
cat fileB.txt を利用してfileB.txtの中身を確認しましょう。

この様に、fileB.txtの既存の内容である”This is file B!”に、fileA.txtの内容の”This is file A!”が上書きされている事が分かります。

 

【次の記事】
headコマンド

  • このエントリーをはてなブックマークに追加

お問い合わせ

    このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシー利用規約が適用されます。

    コメントを残す

    *