「cat」は何に使われますか?

「cat」は何に使われますか?

いくつかのオンラインコンテンツで cat コマンドが紹介されているのを見たことがありますが、cat単純なコマンド ライン操作を実行するユーザーにとって、このコマンドが何を実行し、何の目的で使用されるのか興味がありました。

答え1

catの主な目的は、ファイルを列挙します。の内容が1つのファイルにあるかのように、とその他cat file1 file2 ...の内容を順に表示します。filefile2マニュアルページ:

NAME
       cat - concatenate and print files

次のいずれかの場合に使用することを目的としています。

  • ターゲットコマンドはファイルから読み取ることができないため、複数のファイルを渡す必要があります。例は次のとおりです。trユーティリティ。通常、1 つのファイルの場合は、次のようにします。

    tr < file
    

    ただし、複数のファイルの場合はリダイレクトを使用できないため、次のようにする必要があります。

    cat file1 file2 ... | tr
    
  • ターゲットコマンドできる複数のファイルから読み取りますが、複数のファイルを与えられた場合、動作が変わる可能性があります。例を示します。wcは、ファイル名とともに各ファイルのカウントを出力しますが、ファイル名なしで合計のみを表示したい場合もあります。

遭遇するほとんどのコマンド ( grep、、、、...) はファイルを問題なく読み取ることができるsedことawkを覚えておいてください。sort

あなたがしたい場合はビューファイルの内容、使うページャ-lessそしてmoreどちらもファイルを表示するための優れた機能を備えており、使用もはるかに便利です。

答え2

catは、Unix 系オペレーティング システムで最も頻繁に使用されるコマンドの 1 つです。テキスト ファイルに関連する 3 つの機能があります。

  1. 表示する
  2. それらのコピーを組み合わせる
  3. 新しいものを作成します。
  4. ファイルをコピーする

cat の一般的な構文は次のとおりです。

cat [options] [filenames] [-] [filenames]

ファイルの読み取り

cat の最も一般的な用途はファイルの内容を読み取ることであり、cat は多くの場合この目的に最も便利なプログラムです。テキスト ファイルを開いてディスプレイ モニターに表示するには、単語 cat に続けてスペースとファイル名を入力し、ENTER キーを押すだけです。たとえば、次のコードでは、file1 という名前のファイルの内容が表示されます。

cat file1

連結

cat の 2 番目の役割は連結です。(これが cat の奇妙な名前の由来です。) 元のファイルには影響がありません。

たとえば、次のコマンドは、3 つのファイル file1、file2、file3 の内容のコピーを連結します。

cat file1 file2 file3

各ファイルの内容はモニター画面に表示されます。この出力は、次のように出力リダイレクト演算子を使用して、file4 などの別のファイルに簡単にリダイレクトできます。

cat file1 file2 file3 > file4

ファイル作成

感謝むるコメント :catはシェルのリダイレクト機能に応じて新しいファイルを作成することができますが、それ自体は作成できません。

小さなファイルの場合、これは vi、gedit または他のテキスト エディタを使用するよりも簡単です。これは、cat と入力し、続いて出力リダイレクト演算子と作成するファイルの名前を入力し、 を押して、最後に&キーをENTER同時に押すことで実行できます。Ctrld

たとえば、file1という名前の新しいファイルを作成するには、次のように入力します。

cat > file1

次に を押しENTER、同時にCtrl&dキーを押します。

PS1: file1という名前のファイルがすでに存在する場合は上書きされます

PS2: 追加演算子を使用して、終了したファイルに追加できます。>>例: cat >> file1

ファイルをコピーする

catコマンドも使用できます(依存するシェルのリダイレクト機能を使用して新しいファイルを作成し、既存のファイルからデータを転送します。例: ファイルのコピーを作成しますoldfile.txt:

cat oldfile.txt > newfile.txt

参考文献:

答え3

ファイルの内容を表示するために使用できます。例: 。また、 を実行して、何に使用できるかについての詳細を表示するcat "my file.txt"こともできます。man catcat

答え4

ここは別の方法シェルのリダイレクト(またはパイプ)を使用したファイル作成の場合cat

cat << EOF > foo.sh
#!/bin/sh
echo 'Hello World!'
EOF

cat << EOFEOFは、文字列が再び出現するまで、次の行を出力します。その後、 >( >>) は出力をファイル にリダイレクトしますfoo.sh。あるいは、ルートとしてファイルを作成する必要がある場合は、出力をコマンド によって実行されるコマンドtee( tee -a)にパイプすることができますsudo

cat << EOF | sudo tee foo.sh && sudo chmod +x foo.sh
#!/bin/sh
HELLO='Hello World!'
echo "\$HELLO"
EOF
  • 上記により、ファイルchmod +xが正常に作成された場合 ( )、ファイルは実行可能になります ( &&)。
  • 一部の文字の特殊な意味 ( など) は、 の出力内で$( を使用) エスケープする必要があります。\cat

関連情報