Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

Linux をマスターする:cat および tac コマンドの実用的な使い方を解説

この記事は、Linux のトリックとヒント シリーズの一部です。この記事では、cat の基本的な使用法について説明します。 コマンド (Linux で最も頻繁に使用されるコマンド) と tac (cat コマンドの逆 - ファイルを逆の順序で出力) と実際の例をいくつか示します。

関連記事:Linux での 13 の便利な「cat」コマンドの例

Linux での Cat コマンドの基本的な使用法

Cat コマンド、連結の頭字語。 は、*nix システムで最もよく使用されるコマンドの 1 つです。このコマンドの最も基本的な使用法は、ファイルを読み取り、標準出力に表示することです。 、端末上にファイルの内容を表示することを意味します。

# cat file.txt
Linux をマスターする:cat および tac コマンドの実用的な使い方を解説 Linux でのファイルの内容の表示

の別の使い方 コマンドは、以下の例に示すように、複数のファイルを読み取るか結合して、出力をモニターに送信することです。

# cat file1.txt file2.txt file3.txt
Linux をマスターする:cat および tac コマンドの実用的な使い方を解説 複数のファイルのコンテンツの表示

このコマンドは、“>” を使用して複数のファイルを 1 つのファイルに連結 (結合) することもできます。 Linux リダイレクト演算子。

# cat file1.txt file2.txt file3.txt > file-all.txt
Linux をマスターする:cat および tac コマンドの実用的な使い方を解説 Linux での複数のファイルの結合

追加リダイレクタを使用すると、新しいファイルの内容を file-all.txt の最後に追加できます。 次の構文を使用します。

# cat file4.txt >> file-all.txt
Linux をマスターする:cat および tac コマンドの実用的な使い方を解説 コンテンツ ファイルを新しいファイルに追加

The cat コマンドを使用して、ファイルの内容を新しいファイルにコピーできます。新しいファイルの名前は任意に変更できます。たとえば、ファイルを現在の場所から /tmp/ にコピーします。 ディレクトリ。

# cat file1.txt > /tmp/file1.txt 
Linux をマスターする:cat および tac コマンドの実用的な使い方を解説 ファイルの内容を新しいファイルにコピー

ファイルを現在の場所から /tmp/ にコピーします。 ディレクトリに移動し、その名前を変更します。

# cat file1.txt > /tmp/newfile.cfg
Linux をマスターする:cat および tac コマンドの実用的な使い方を解説 ファイルを /tmp の場所にコピー

の使用が減りました。 コマンドは、以下の構文で新しいファイルを作成することです。ファイルの編集が完了すると、CTRL+D がヒットします。 新しいファイルを保存して終了します。

# cat > new_file.txt
Linux をマスターする:cat および tac コマンドの実用的な使い方を解説 Cat コマンドを使用して新しいファイルを作成する

空行を含むファイルのすべての出力行に番号を付けるには、-n を使用します。 switch.

# cat -n file-all.txt
Linux をマスターする:cat および tac コマンドの実用的な使い方を解説 ファイル内の行に番号を追加する

空ではない各行の番号のみを表示するには、-b を使用します。 switch.

# cat -b file-all.txt
Linux をマスターする:cat および tac コマンドの実用的な使い方を解説 ファイル内の行番号を印刷する

Linux の cat コマンドについて詳しく知りたいですか?その後、Linux での 13 の便利な「cat」コマンドの例に関する記事をお読みください。

Linux で Tac コマンドを使用する方法を学ぶ

一方、*nix システムではあまり知られておらず、あまり使用されていないコマンドは tac です。 コマンド。 Tac 事実上、cat の逆バージョンです。 このコマンド (逆綴りも可能) は、ファイルの各行を最下行から始めて最上位行でマシンの標準出力に出力します。

# tac file-all.txt
Linux をマスターする:cat および tac コマンドの実用的な使い方を解説 コンテンツ ファイルを逆の順序で印刷する

コマンドの最も重要なオプションの 1 つは、-s で表されます。 ファイルの文字列またはキーワードに基づいてファイルの内容を区切るスイッチ。

# tac file-all.txt --separator "two"
Linux をマスターする:cat および tac コマンドの実用的な使い方を解説 ファイル内の一致する文字列を削除

次にタックの最も重要な使い方です。 このコマンドは、ログ内容の時系列順を逆にして、ログ ファイルをデバッグするのに非常に役立ちます。

$ tac /var/log/auth.log
Or to display the last lines
$ tail /var/log/auth.log | tac
Sample Output
tecmint@tecmint ~ $ tac /var/log/auth.log
pr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
....
tecmint@tecmint ~ $ tail /var/log/auth.log | tac
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 15:55:02 tecmint CRON[17194]: pam_unix(cron:session): session closed for user root
Apr 6 15:55:01 tecmint CRON[17195]: pam_unix(cron:session): session closed for user root
...

Same as cat コマンド、tac は、テキスト ファイルの操作には優れた機能を果たしますが、他のタイプのファイル、特にバイナリ ファイルや、最初の行がそれを実行するプログラムを示しているファイルでは使用しないでください。


  1. Linuxシェルスクリプトでの配列の操作–パート8

    配列の概念がなければプログラミング言語を想像することはできません。さまざまな言語間でどのように実装されているかは関係ありません。代わりに、配列は、類似または異なるデータを1つの記号名で統合するのに役立ちます。 ここではシェルスクリプトについて懸念しているので、この記事は、この配列の概念を利用するいくつかのシェルスクリプトを試すのに役立ちます。 アレイの初期化と使用法 新しいバージョンのbashでは、1次元配列をサポートしています。配列はdeclareで明示的に宣言できます シェルビルトイン。 declare -a var ただし、上記のように配列変数を宣言する必要はありません。次

  2. Nethogs:Linux 上のプロセスごとのリアルタイム ネットワーク トラフィック監視

    Web 上には、Linux オペレーティング システム用に利用できるオープンソースのネットワーク監視ツールが大量にあります。たとえば、iftop コマンドを使用して帯域幅の使用状況を監視したり、netstat コマンドまたは ss コマンドを使用してインターフェース統計に関するレポートを表示したり、top コマンドを使用してシステム上で実行中のプロセスを監視したりできます。 しかし、プロセス使用量ごとのネットワーク帯域幅のリアルタイム統計を取得できるものを本当に探しているのであれば、NetHogs をお勧めします。 探す必要がある唯一のユーティリティです。 Nethogs – Linux の