概要
ファイル内容を順に出力します。確認、連結、パイプ入力の供給などでよく使いますが、長大ファイルの閲覧はlessのほうが向いています。
基本構文
cat [オプション]... [ファイル]...詳細解説
catは、指定したファイルの内容を順に読み出して標準出力へ送る基本コマンドです。最も単純な表示コマンドの一つですが、パイプと組み合わせると「入力を供給する役割」として非常によく使われます。
実務では、設定ファイルの素早い確認、複数ファイルの単純連結、ヒアドキュメントの代わりに小さな内容を流す場面などで使います。ただし、画面で読むための道具としてはlessやhead、tailのほうが適する場面も多く、使い分けが重要です。
また、catは何でも気軽に表示できる反面、巨大ファイルやバイナリをそのまま端末へ流してしまう事故も起こします。内容の性質に応じて、head、tail、less、fileなどへ切り替える判断が大切です。
このコマンドを使う場面
短い設定ファイルを素早く確認したい時、複数ファイルを単純につなげたい時、パイプへ入力を流したい時に使います。
まず安全に試す方法
1. printf 'alphan' > a.txt
2. printf 'betan' > b.txt
3. cat a.txt b.txt
4. cat -n a.txt
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
a.txtとb.txtを作り、catで順に表示します。
-
cat -nで確認し、簡易閲覧に使えることを体験します。
資格試験との関連
-
LinuC レベル1
範囲: 1.03.2 フィルタを使ったテキストストリームの処理根拠: officialcatは、テキスト処理系の基本フィルタとしてLinuCレベル1の範囲に関わります。
-
LPIC-1
範囲: 103.2 フィルタを使ったテキストストリームの処理根拠: officialcatは、LPIC-1でテキストストリームへフィルタを適用する技能と関係します。
-
共通基礎
範囲: Linuxコマンド基礎根拠: editorialcatは、ファイル操作またはテキスト処理の基本を支えるため、試験横断の共通知識として価値があります。
実行結果サンプル
-
cat a.txt b.txtalpha beta
戻り値コード
- 0 正常終了。出力に成功しました。
- >0 対象不存在や読取権限不足などで失敗しました。
使用例
cat /etc/hostnamecat a.txt b.txtcat -n config.ini
よくあるエラー
-
長いログをcatで開いて読みづらい 原因: catはページ送りしません。対処: less、head、tailを使い分けます。
-
バイナリをcatして端末表示が乱れた 原因: 制御文字を含む内容をそのまま表示しました。対処: fileで種別確認し、必要ならhexdumpなどを使います。
導入・互換性情報
POSIXのcatは広く共通です。GNU実装では-Aなどの見やすさ向上オプションがありますが、表示系の細部は実装差があります。
注意点 / セキュリティリスク
危険度は低いですが、巨大ファイルやバイナリをそのまま端末へ流すと、読みにくさや端末状態の乱れの原因になります。内容が不明な場合は先にfileやheadで様子を見ると安全です。
FAQ
-
Q. catは連結専用ですか。 A. 連結だけでなく、単一ファイルの表示やパイプ入力の供給にも使われます。
-
Q. 画面で読むなら常にcatでよいですか。 A. 短い内容なら便利ですが、長い内容はlessのほうが向いています。
関連用語
参照リンク
- カテゴリー: Text Processing
- レベル: Beginner
- 対応試験: LinuC, LinuC レベル1, LPIC, LPIC-1, 共通基礎