(最終更新月:2023年3月)
✔このような方へ向けて書かれた記事となります
「catコマンドって何ができるの?」
「catコマンドの具体例が見たい」
「catコマンドでできることをすべて知りたい」
✔当記事を通じてお伝えすること
- catコマンドとは?
- catコマンドを使うべき場面
- catコマンドのオプション一覧
当記事では、catコマンドの基本についてはもちろん、catコマンドのオプションについて具体例付きで解説しています。
ぜひ最後までご覧ください。
catコマンドで知っておくべきこと
catコマンドで知っておくべきことについて解説していきます。
catコマンドはLinuxやMac OSなどのシステムで頻繁に使用され、知っておくととても便利です。
- catコマンドとは?
- catコマンドの基本構成とは?
- catコマンドを使うべき場面
- catコマンドで行数を指定する方法
- catコマンドの出力から文字を検索する方法
catコマンドとは?
catコマンドは、UnixやLinuxなどのオペレーティングシステムで使用され、ファイルの内容を表示するもの。
応用した使い方では、複数のファイルを連結して表示することも可能なコマンドです。
catは、「concatenate」の略語であり、複数のファイルを連結する機能も持ち合わせているのです。
catコマンドの書き方とは?
catコマンドの書き方は以下のとおり。
cat [オプション] [ファイル名]
itc.txtを例とすると、以下のようになります。
cat itc.txt
catとファイル名の間にはスペースで区切るようにしてください。
正しく入力すれば、ファイルの内容がターミナルに表示されます。
catコマンドを使うべき場面
catコマンドを使うべき場面は以下のようなとき。
- 複数のファイルを結合して表示したい
- ファイルの中身を開かずに確認したい
catコマンドを使用して、ターミナル上でログファイルの中身を確認するなどが可能です。
catコマンドは、複数のファイルを一度に表示することができるため、複数のファイルを結合して表示する場合や、ファイルの中身を確認する場合に便利である。
catコマンドで行数を指定する方法
catコマンドで行数を指定する方法は、-nオプションを使うことで実現できます。
–nオプションでheadと組み合わせると、表示するファイルの先頭から指定した行数だけを表示できるのです。
例えば、itc.txtのファイルの先頭から5行だけを表示するには以下のとおり。
cat -n itc.txt | head -5
catコマンドを使って、表示するファイルの行数を制限したいときは、-nオプションを使いましょう。
catコマンドの出力から文字を検索する方法
catコマンドの出力から文字を検索するには、grepコマンドと組み合わせる必要があります。
grepコマンドは、テキストファイル内の文字列を検索するためのコマンドで、catコマンドで表示されたテキスト内を検索できるのです。
例えば、catコマンドで表示されたテキストから「apple」という文字列を検索したい場合、以下のようにgrepコマンドを使います。
cat itc.txt | grep apple
このコマンドを実行することで、itc.txtファイル内の「apple」という文字列が含まれる行が表示されます。
catコマンドで表示されたテキストから特定の文字列を検索するには、grepコマンドを利用するのです。
catコマンドで新たなファイルを作成する方法
catコマンドで新たなファイルを作成できます。
方法は以下のとおり。
cat itc.txt > new.txt
「>」を使うことで、新たなファイルを作成できるのです。
catコマンドのオプション一覧を徹底解説
catコマンドのオプション一覧について解説していきます。
catコマンドのオプションについて理解すると、catコマンドをより応用して使えるようになります。
- 行番号を表示する:-n
- 空白行以外の行にのみ行番号を表示する:-b
- 連続した空白行を1行にまとめる:-s
- 各行の末尾に$を表示する:-E
- タブ文字を^Iとして表示する:-T
- 制御文字を^として表示する:-v
- バッファリングを無効にする:-u
- 制御文字を表示する:-A
行番号を表示する:-n
catコマンドの-nオプションは、ファイルの内容を表示する際に、各行の先頭に行番号を表示するオプション。
cat -n itc.txt
1 これは1行目
2 これは2行目
3 これは3行目
4 これは4行目
5 これは5行目
6 これは6行目
7 これは7行目
8 これは8行目
9 これは9行目
10 これは10行目
headと組み合わせれば、表示する行数を制限できます。
cat -n itc.txt | head -6
1 これは1行目
2 これは2行目
3 これは3行目
4 これは4行目
5 これは5行目
6 これは6行目
空白行以外の行にのみ行番号を表示する:-b
-bオプションを使うと、空白行外に行番号を割り振ります。
例えば、以下のテキストで試してみましょう。
$nano -n itc2.txt
1 これはファイル2つ目の1行目
2 これはファイル2つ目の2行目
3 これはファイル2つ目の3行目
4 これはファイル2つ目の4行目
5 これはファイル2つ目の5行目
6
7
8
9 これはファイル2つ目の6行目
10 これはファイル2つ目の7行目
11 これはファイル2つ目の8行目
12 これはファイル2つ目の9行目
13 これはファイル2つ目の10行目
$ cat -b itc2.txt
1 これはファイル2つ目の1行目
2 これはファイル2つ目の2行目
3 これはファイル2つ目の3行目
4 これはファイル2つ目の4行目
5 これはファイル2つ目の5行目
6 これはファイル2つ目の6行目
7 これはファイル2つ目の7行目
8 これはファイル2つ目の8行目
9 これはファイル2つ目の9行目
10 これはファイル2つ目の10行目
連続した空白行を1行にまとめる:-s
-sオプションは、複数の連続した空行をまとめるオプションです。
上のitc2.txtで試してみると以下のとおり。
$ cat -s itc2.txt
これはファイル2つ目の1行目
これはファイル2つ目の2行目
これはファイル2つ目の3行目
これはファイル2つ目の4行目
これはファイル2つ目の5行目
これはファイル2つ目の6行目
これはファイル2つ目の7行目
これはファイル2つ目の8行目
これはファイル2つ目の9行目
これはファイル2つ目の10行目
各行の末尾に$を表示する:-E
-Eオプションは、行の末尾に「$」をつけます。
$ cat -E itc.txt
これは1行目$
これは2行目$
これは3行目$
これは4行目$
これは5行目$
これは6行目$
これは7行目$
これは8行目$
これは9行目$
これは10行目$
$
$
$
タブ文字を^Iとして表示する:-T
catコマンドの-Tオプションは、タブで空けられたスペースを「^I」と表示します。
以下のとおり違いを見てください。
$ cat itc3.txt
これは1行目 タブであけて文を書く
これは2行目 タブであけて文を書く
これは3行目 タブであけて文を書く
$ cat -T itc3.txt
これは1行目^Iタブであけて文を書く
これは2行目^Iタブであけて文を書く
これは3行目^Iタブであけて文を書く
制御文字を^として表示する:-v
-vオプションを使うと、制御文字を「^」として表示できます。
制御文字とは、通信や機器の制御で使われる文字のこと。あまり見る機会はないかもしれません。
$ cat -v itc.txt
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/1M-hM-!M-^LM-gM-^[M-.
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/2M-hM-!M-^LM-gM-^[M-.
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/3M-hM-!M-^LM-gM-^[M-.
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/4M-hM-!M-^LM-gM-^[M-.
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/5M-hM-!M-^LM-gM-^[M-.
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/6M-hM-!M-^LM-gM-^[M-.
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/7M-hM-!M-^LM-gM-^[M-.
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/8M-hM-!M-^LM-gM-^[M-.
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/9M-hM-!M-^LM-gM-^[M-.
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/10M-hM-!M-^LM-gM-^[M-.
バッファリングを無効にする:-u
-uオプションを使うと、バッファリングを無効にし、すぐに出力されるようになります。
通常のcatコマンドとは異なり、リアルタイムでのログ表示などに便利です。
$ cat -u itc.txt
制御文字を表示する:-A
catの-Aオプションは、ファイルの制御文字を表示するオプション。
制御文字は通常は非表示になっているのです。
$ cat -A itc.txt
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/1M-hM-!M-^LM-gM-^[M-.$
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/2M-hM-!M-^LM-gM-^[M-.$
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/3M-hM-!M-^LM-gM-^[M-.$
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/4M-hM-!M-^LM-gM-^[M-.$
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/5M-hM-!M-^LM-gM-^[M-.$
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/6M-hM-!M-^LM-gM-^[M-.$
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/7M-hM-!M-^LM-gM-^[M-.$
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/8M-hM-!M-^LM-gM-^[M-.$
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/9M-hM-!M-^LM-gM-^[M-.$
M-cM-^AM-^SM-cM-^BM-^LM-cM-^AM-/10M-hM-!M-^LM-gM-^[M-.$
$
$
$
catコマンドのWindowsにおける扱い方
Windowsでcatコマンドを使う方法を見ていきましょう。
なぜならデフォルトの設定ではWindows上でcatコマンドが使えないから。
- LinuxのcatコマンドをWindowsでおこなう方法
- Linuxのcatコマンドをコマンドプロンプトで実施するには?
LinuxのcatコマンドをWindowsでおこなう方法
LinuxのcatコマンドをWindowsで使うには、以下のようなUnix環境を提供するソフトウェアをインストールする必要があります。
- Cygwin
- Git Bash
なぜならcatコマンドはLinuxやUnix系のOSで標準的に使われるコマンドで、Windowsには標準で搭載されていないからです。
CygwinやGit Bashは、Windows上でUnix環境をエミュレートすることができるソフトウェアです。
もしくはWindowsでLinux環境が構築できる「wsl」を使用するのも方法のひとつです。
Linuxのcatコマンドをコマンドプロンプトで実施するには?
Windowsでは、typeコマンドを使うと、catと同じようにファイルの内容を表示できます。
type itc.tokyo
Windowsでは、typeコマンドを使いましょう。
まとめ:catコマンドを使えば、ファイルを開かずに中が見える
当記事の内容をまとめます。
- catコマンドとは、ファイルの内容を表示するためのもの
- catコマンドを使って、ほかのファイルに内容を転機できる
- catコマンドのオプションを使えばより高度な表示方法が実現できる
Linuxでは、catコマンドはよく使われます。
ただしオプションを使いこなしている人も少ないはず。
ぜひオプションやほかのコマンドと組み合わせながら、作業効率を高めましょう。