【LinuC/LPIC対策】catコマンドとオプションの由来【Linux】

LinuC/LPIC対策

コマンドとオプションは由来で覚える

LinuC/LPICの101試験では、必ず「コマンドを覚えているか」「目的に応じてオプションを指定できるか」が問われます。
これらの問いに解答するためには、正確にコマンドとそのオプションを記憶しておく必要がありますが、コマンドの種類とオプションの数は多く、単純に記憶することは非常に難しいです。

そのため、コマンドとオプションはその由来(基本的に英単語)とともに記憶していくことが重要です。由来を知っていることで記憶を引き出す際のとっかかりが大きくなり、試験当日に思い出しやすくなります。

今回の記事では、catコマンドとそのオプションについて由来を整理しましたので、ぜひ参考にしてみてください。

catコマンドとは

catコマンドは「ファイルを閲覧する」際に使用します。
しかし、実はそれだけではありません。正確には「指定したファイルを連結して標準出力に出力する」コマンドであることを理解しておきましょう。

catコマンドは、そもそもconcatenate(連結する)の略称です。
つまり、単純にファイルの内容を確認できるというだけではなく、複数のファイルを指定すれば指定したファイルの中身をまとめて閲覧できますし、標準出力に出力することから、リダイレクト(「>」や「>>」)を用いることで別ファイルに上書きや追記を行うことができます

実際の画面で確認してみましょう。

ファイルの閲覧

1ファイルの閲覧

指定した1つのファイルの内容を確認します。
(例では「fileA」という名称のファイルの内容を確認しています。)

$ cat fileA

2つ以上のファイルの閲覧

2つ以上のファイルを閲覧する場合は、catの後に複数のファイルを指定します。

fileAの内容は先ほどと同様、fileBの内容は以下です。

それでは、以下のコマンドで2つのファイルの内容を確認します。

$cat fileA fileB

fileAとfileBの内容がまとめて表示されました。
このように、catでは2つ以上のファイルの内容を同時に確認することができます。

別ファイルへの上書き

リダイレクト「>」を使用することで、ファイルの内容を別ファイルに上書きすることができます。

$ cat fileA > fileB

先ほどまでfileBの内容は数字の111から777でしたが、リダイレクト「>」を使用することで、fileBの中身がfileAの内容に上書きされました。

別ファイルへの追記

リダイレクト「>>」を使用することで、ファイルの内容を別ファイルに追記することができます。

まずは現状を確認します。
fileAとfileBの内容は以下のとおり、同じ内容になっています。

リダイレクト「>>」を使用して追記します。

$ cat fileA >> fileB

fileBにfileAの内容が追記されました。
このように、上書きする場合は「>」を使用し、上書きせず追記する場合は「>>」を使用することをしっかりと覚えておきましょう。

catコマンドのオプション

次に、catコマンドのオプションをその由来とともに覚えておきましょう。
catコマンドのオプションは少ないですが、必ず覚えるべきオプションと、可能であれば覚えておくオプションの2つにわけて記載します。

必ず覚えるべきオプション

以下の2つは必ず覚えておきましょう。

オプション由来(覚え方)内容
-n(–number)数(numberの頭文字n)行番号をつけて出力する
-b(–number-nonblank)空白を除いた数(blankの頭文字b)空白行以外に行番号をつけて出力する

実際の画面でも確認してみましょう。

-nオプションを使用すると、空白行を含めた各行に番号をつけて出力します。

$ cat -n fileB

–numberも-nと同様の働きをします。

$ cat --number fileB

-bオプションを使用すると、空白行を除いた各行に番号をつけて出力します。

$ cat -b fileB

–number-nonblankも-bと同様の働きをします。

$ cat --number-nonblank fileB

可能であれば覚えておくオプション

試験に出ることはないと思いますが、どうせなら知っておきたいオプションを3つ記載します。

オプション由来(覚え方)内容
-s(–squeeze-blank)空白を絞る/詰める(squeezeの頭文字s)連続した空白行を1行の空白行にする
-E(–show-ends)最後を示す(endsの頭文字からE)各行の最後に”$”を表示する
-T (–show-tabs)タブを示す(tabsの頭文字からT)タブを”^I”に置き換えて表示する

-s もしくは –squeeze-blank オプションをつけることで、連続した空白行を1行の空白行にまとめることができます。

-s もしくは –squeeze-blank をつけない状態では3行空白がありますが、

-s もしくは –squeeze-blank をつけると、空白行が1行にまとまりました。

$ cat -s fileB
$ cat --squeeze-blank fileB

-E もしくは –show-endsオプションをつけると、各行の最後に$が表示されます。

$ cat -E fileB

$ cat --show-ends fileB

-T もしくは –show-tabs オプションをつけると、タブが”^I”に置き換えられて表示されます。

オプションをつけない場合は以下のように表示されますが、

-T もしくは –show-tabs オプションをつけると、タブがどこにいくつ入っているのか可視化されます。(444のあとに1つ、その下の空白行に1つ、さらにその下の空白行に2つ入っていることがわかると思います。)

$ cat -T fileC

$ cat --show-tabs fileC

まとめ

LinuC/LPICを受験される場合は、必ず以下のことを覚えておきましょう。
合格へ一歩近づくこと、間違いなしです。

・オプション-nは、行番号をつけて出力する
・オプション-sは、空白行以外に行番号をつけて出力する
・リダイレクト「>」は、指定のファイルに上書きする
・リダイレクト「>>」は、指定のファイルに追記する

コメント

タイトルとURLをコピーしました