こちらからSWELLを購入できます 詳しくはこちら

【Linux】catコマンド完全ガイド ファイルの中身を閲覧する

  • URLをコピーしました!

今回はLinuxコマンドであるcatコマンドについて解説します

ファイルの中身を閲覧するために必要なコマンドです
Linuxを使用するうえで頻繁に使うコマンドなのでぜひ覚えて帰ってくださいね!
※注 本文の△は半角スペースに置き換えてください。わかりやすくするために△で記述してます

 

目次

catコマンドとは??

catコマンドは、ファイルを閲覧するコマンドです

コマンド実行例
cat△ファイル名

catコマンドでのファイル結合

そもそも「cat」は連結するという意味を持つ「concatenate」の略です
そのため、ファイルを2つ3つ指定することでファイルの連結も可能です

コマンド実行例
cat△ファイル名1△ファイル名2

 

catコマンドの主なオプション

catコマンドは多くの便利なオプションがあります

オプション意味
-n (--number)行番号をつけて出力
-b (--number-blank)空白行を入れずに行番号をつけて出力
-n (--squeeze-blank)連続した空白行を1つの空白行にまとめて出力
-E (--show-ends)各行の最後に「$」をつけて出力
-T (--show-tabs)タブを「^|」に変換して出力

 

-n (–number)

行番号をつけて出力するオプション
よくオプションは頭文字がつけられることが多いのですが、
こちらは「number」の頭文字のnと覚えましょう

コマンド実行例
cat△-n△ファイル名

 

-b (–number-nonblank)

空白行を入れずに行番号をつけて表示するオプション
「blank」のbです

コマンド実行例
cat△-b△ファイル名

 

-s (–squeeze-blank)

連続している空白行を1行にまとめるオプション
「squeeze」のsです

コマンド実行例
cat△-s△ファイル名

 

-E (–show-ends)

各行の最後に「$」をつけて表示するオプション
各行の終わりがわかりやすくなるので、1行が長くなりすぎた時に、変に改行されていないか等の確認に使えます

コマンド実行例
cat△-E△ファイル名

 

-T (–show-tabs)

タブを「^I」に置き換えて表示するコマンド
ファイル内のタブ文字を視覚的に確認したい場合に便利です

コマンド実行例
cat△-T△ファイル名

 

-A (–show-all)

-vET オプションをすべて組み合わせたオプション
タブ、行末、非印字文字をすべて表示します
ファイルの内容を詳細に調査したい場合に便利です

コマンド実行例
cat△-A△ファイル名

 

-v (–show-nonprinting)

印字できない文字を可視化して表示するオプション
制御文字やバイナリデータが混入していないかチェックする際に有効です

コマンド実行例
cat△-v△ファイル名

 

-u

出力をバッファリングしないオプション
リアルタイムでファイルの内容を確認したい場合に使用します
特にログファイルの監視などで役立ちます

コマンド実行例
cat△-u△ファイル名

 

catを使う際に覚えておくと便利なもの

画面へ標準出力した結果をテキスト化するリダイレクト「>」「>>」を覚えておくとめちゃくちゃ便利なので一緒に覚えるとよいでしょう

「>」:上書きリダイレクト

別ファイルに出力内容を記述することが出来る

コマンド実行例
cat△ファイル名1△>△ファイル名2
ファイルがもともとあった場合、そのファイルの内容がなくなり、上書きされる

 

「>>」:追記リダイレクト

別ファイルに出力内容を追記することが出来る

コマンド実行例
cat△ファイル名1△>>△ファイル名2
ファイルがもともとあった場合、そのファイルの内容に追加で記述される

 

catコマンドの実用的な活用例

実際の現場でよく使われるcatコマンドの活用例をご紹介します

ファイルの新規作成

catコマンドとリダイレクトを組み合わせて、新しいファイルを作成できます

新規ファイル作成例
cat△>△newfile.txt
# 入力待ちになるので、内容を入力してCtrl+Dで終了

cat△<<△EOF△>△newfile.txt
ここに内容を記述
複数行も可能
EOF

# ヒアドキュメントを使った作成方法

 

複数ファイルの結合

複数のファイルを一つに結合する際の便利な使い方です

ファイル結合例
cat△file1.txt△file2.txt△file3.txt△>△merged.txt
# 3つのファイルを結合して新しいファイルに保存

cat△*.txt△>△all_text_files.txt

# 現在のディレクトリの全txtファイルを結合

cat△header.txt△content.txt△footer.txt△>△complete.txt

# ヘッダー、コンテンツ、フッターを結合

 

ログファイルの確認

システム管理でよく使われるログファイルの確認方法です

ログ確認例
cat△-n△/var/log/messages
# システムログを行番号付きで表示

cat△/var/log/apache2/access.log△|△tail△-n△100

# Apacheアクセスログの最後100行を表示

cat△/var/log/syslog△|△grep△”ERROR”

# エラーログのみを抽出

 

設定ファイルのバックアップ

重要な設定ファイルをバックアップする際の方法です

バックアップ例
cat△/etc/nginx/nginx.conf△>△nginx.conf.backup
# Nginxの設定ファイルをバックアップ

cat△/etc/hosts△>>△hosts_backup_$(date△+%Y%m%d).txt

# 日付付きでhostsファイルをバックアップ

cat△/etc/fstab△|△cat△-n△>△fstab_with_numbers.txt

# 行番号付きでfstabをバックアップ

 

catと組み合わせて使える便利なコマンド

catコマンドを他のコマンドと組み合わせることで、より高度な操作が可能になります

組み合わせコマンド例
cat△file.txt△|△wc△-l
# ファイルの行数をカウント

cat△file.txt△|△sort

# ファイル内容をソートして表示

cat△file.txt△|△head△-n△10

# ファイルの最初10行のみ表示

cat△file.txt△|△tail△-n△5

# ファイルの最後5行のみ表示

cat△*.log△|△grep△”$(date△+%Y-%m-%d)”

# 今日の日付を含むログエントリを全ログファイルから検索

 

オプションの組み合わせ例

複数のオプションを組み合わせることで、より詳細な情報を得ることができます

オプション組み合わせ例
cat△-nET△file.txt
# 行番号、行末文字、タブ文字をすべて表示

cat△-bs△file.txt

# 空白行以外に行番号を付けて、連続空白行を圧縮

cat△-A△suspicious_file.txt

# すべての制御文字を表示(ファイル内容の詳細調査)

 

catの類似コマンド

おまけですが、「cat」の類似のコマンドとして「tac」コマンドというものがあります。
これは「cat」をさかさまにしたもので、出力もさかさまにしてしまうというコマンドです。
ぜひ試してみてください!実行例も載せておきます。

その他の類似コマンド

ファイル表示に関連する他の便利なコマンドもご紹介します

関連コマンド
less△file.txt
# ページ単位でファイルを表示(大きなファイルに適している)

more△file.txt

# スクロール表示でファイルを閲覧

head△file.txt

# ファイルの先頭部分のみ表示

tail△file.txt

# ファイルの末尾部分のみ表示

zcat△file.txt.gz

# 圧縮ファイルを展開せずに表示

 

catコマンドの効率的な使い方

大きなファイルや多数のファイルを扱う際のパフォーマンスを向上させるコツです

効率化のコツ
# 大きなファイルの場合はlessやmoreを使用
less△large_file.txt

# 特定の部分だけ必要な場合

cat△file.txt△|△head△-n△100△|△tail△-n△10

# 91-100行目を表示

# バイナリファイルは避ける

file△unknown_file

# ファイルタイプを事前確認

# パイプを活用した効率的な処理

cat△*.log△|△sort△|△uniq△>△sorted_unique.log

 

まとめ

いかがでしたでしょうか
今回はcatコマンドについてまとめてみました
catコマンドはファイルの中身を閲覧するLinuxの基本コマンドですが、様々なオプションや組み合わせにより非常に多機能なツールとして活用できます
ファイルの表示だけでなく、結合、作成、バックアップなど、日常的なLinux作業で欠かせないコマンドです
リダイレクトやパイプと組み合わせることで、さらに強力なファイル操作が可能になるので、ぜひマスターしてください!

 

 

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次