私は一般的にLinuxに初めて触れたので、特定のコマンドが何をすべきか、それをしないでください。
ファイルを作成してメモしたいです。
touch file.txt `
ファイルを生成するだけでなく、次も実行します。
echo >> file.txt
そして
> file.txt
"">"と"touch"を使用して作成されたファイルは両方とも0バイトですが、"echo"を使用して作成されたファイルは1バイトです。
ファイルサイズが異なるのはなぜですか?ファイルを作成する最良の方法は何ですか?ファイルを作成するときに「touch」または「」>」の代わりに「echo」を使用する必要がある場合はいつですか?
ベストアンサー1
ファイルの生成に関する一般的な質問については、次を参照してください。ファイルを生成するシェルコマンドがないのはなぜですか?
> file
とともにecho >> file
、シェルファイルがまだ存在しない場合は、ファイルが生成されます。
を使用すると、> file
ファイルがすでに存在する場合は切り捨てられます。コマンドが指定されていないため、ファイルには何も書き込まれず、ファイルは空になります。
echo
、パラメータなしで空白行を印刷します。したがって、出力には行末文字、通常改行文字(LF、\n
)が含まれます。
% echo | od -c
0000000 \n
0000001
したがって、を使用すると、echo >> file
ファイルに1バイトを書き込むことができます。ファイルがすでに存在する場合(上書き)の>>
代わりに(追加)を使用したため、バイトが追加されます>
。
touch
ファイルがまだ存在しない場合はファイルを作成し、それ以外の場合はファイルのタイムスタンプを更新します。touch
ファイルの内容は変更されないため、ファイルがすでに存在し、一部の内容が含まれている場合touch
。
どんなものを使いたいかは、目的の効果によって異なります。