catコマンドがいくつかのオンラインで出てくるのを見てきましcat
たが、単純なコマンドラインのことをやっている人のコンテキストで何が何をするのか興味がありました。
catコマンドがいくつかのオンラインで出てくるのを見てきましcat
たが、単純なコマンドラインのことをやっている人のコンテキストで何が何をするのか興味がありました。
回答:
cat
主な目的は、詐欺にある猫の enateファイル。cat file1 file2 ...
内容が表示されfile
、file2
内容が単一のファイルにあったかのように、次々に、他の。マンページを参照してください:
NAME
cat - concatenate and print files
次のいずれかの使用を目的としています。
ターゲットコマンドはファイルから読み取ることができず、複数のファイルを渡す必要があります。例はtr
ユーティリティです。通常、1つのファイルで次のことを行います。
tr < file
ただし、複数のファイルがある場合、リダイレクトは使用できないため、次の操作を行う必要があります。
cat file1 file2 ... | tr
wc
、各ファイルのカウントをファイル名とともに出力します。ファイル名なしで、合計だけが必要な場合があります。あなたが遭遇そのほとんどのコマンドを覚えておいてください(grep
、sed
、awk
、sort
、...)完全に罰金ファイルを読み込むことができます。
あなたがしたい場合は閲覧、ファイルの内容を使用してページャを - less
とmore
の両方の表示用にファイルを提示する極めて可能であり、そしてはるかに便利に使用するにしています。
cat
Unixライクなオペレーティングシステムで最も頻繁に使用されるコマンドの1つです。テキストファイルに関して3つの関連機能があります。
catの一般的な構文は次のとおりです。
cat [options] [filenames] [-] [filenames]
catの最も一般的な使用法は、ファイルの内容を読み取ることであり、catはこの目的に最も便利なプログラムであることがよくあります。ディスプレイモニタで表示するためにテキストファイルを開くために必要なことは、単語catに続けてスペースとファイル名を入力し、Enterキーを押すことだけです。たとえば、次の例では、file1という名前のファイルの内容が表示されます。
cat file1
猫の2番目の役割は連結です。(これは猫の好奇心の強い名前の元です。)元のファイルには影響はありません。
たとえば、次のコマンドは、3つのファイルfile1、file2、およびfile3の内容のコピーを連結します。
cat file1 file2 file3
各ファイルの内容がモニター画面に表示されます。この出力は、出力リダイレクト演算子を使用して、file4などの別のファイルに次のように簡単にリダイレクトできます。
cat file1 file2 file3 > file4
@muruコメントのおかげで:catは自分自身ではなくシェルリダイレクト機能に応じて新しいファイルを作成できます
小さなファイルの場合、これは多くの場合、vi、gedit、またはその他のテキストエディターを使用するよりも簡単です。catを入力し、その後に出力リダイレクト演算子と作成するファイルの名前をENTER入力し、Ctrl&dキーを押して最後に同時に押します。
たとえば、次のように入力して、file1という名前の新しいファイルを作成できます。
cat > file1
次にENTER、Ctrl&dキーを同時に押します。
PS1:file1という名前のファイルが既に存在する場合、上書きされます
PS2:追加演算子の>>
例cat >> file1 を使用して、終了したファイルに追加できます
catコマンドを使用して(シェルリダイレクト機能に応じて)新しいファイルを作成し、既存のファイルからデータを転送することもできます。例:ファイルのコピーを作成しますoldfile.txt
:
cat oldfile.txt > newfile.txt
参照:
cat
これらのファイルは作成されていません-リダイレクトを使用したのはシェルです。よくやったかもしれませんecho foo > file1
。
cat
は、実際に他の何かによって行われていることに帰属しています。たとえば、less file1 > file2
(またはgrep '.*' file1 > file
or awk 1 file1 > file2
または...)を実行しても同じ効果があります。Ditto for4。これらは単なる誤用です。
> file
同じ結果を与えることができることを知っていますが、猫でそれを行うことは有効だと考えることはできませんか?!
cat
ファイルを作成されていません。cat
ファイルを作成またはコピーすると言うのは、単なる偽です。
シェルリダイレクト(またはパイピング)を使用したファイル作成の別の方法を次に示しますcat
。
cat << EOF > foo.sh
#!/bin/sh
echo 'Hello World!'
EOF
cat << EOF
文字列EOF
が再び検出されるまで、次の行を出力します。次に、>
(>>
)は出力をファイルにリダイレクトしますfoo.sh
。あるいは、rootとしてファイルを作成する必要がある場合、コマンドによって実行されるコマンド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
ます。
< <(cat file[12]) tr
だけでなく、として<<<$(cat file[12]) tr
複数のファイルをリダイレクトするために、両方の完全に有効な方法です。もちろんcat
、そのためにも必要です。配管だけが唯一の方法ではありません。