Linuxでファイルを作成しますか? (タッチ&エコ)

Linuxでファイルを作成しますか? (タッチ&エコ)

私は一般的に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

どんなものを使いたいかは、目的の効果によって異なります。

おすすめ記事