コマンドラインで削除せずに指定したファイルの内容を空にする

Anonim

コマンド ラインで作業していて、ファイルの内容をすばやく空にする必要がある場合は、問題のファイル名の前に大なり記号とスペースを挿入することで実行できます。

コマンドラインからファイルの内容をクリアする方法

ファイルを保存したままファイルの内容を削除するトリックは次のようになります:

> ファイル名

このアプローチは bash や他の多くのシェルで機能しますが、zsh や他のシェルで機能しない場合は、echo のバリエーションを使用することもできます。 zsh の場合、次のコマンドを使用して、コマンド ラインから echo null とリダイレクトを使用してファイルの内容をクリアします。

echo -n > ファイル名

ターゲット ファイル内のすべてのコンテンツは、警告なしにすぐに削除され、ファイルの存在、ファイル名、および権限を保持したまま空白のままになります。これは多くの場合、手動でファイルを削除して再作成するよりも迅速で望ましい方法です。

実用的な良い例は、ログファイルの内容を消去することです。例:

> ~/Library/Logs/updates.log

または、エコーのリダイレクトで同じ効果を実現:

echo -n > ~/Library/Logs/updates.log

また、このコマンドを使用して、touch コマンドを使用する場合と同様に、その場所に新しい 0 バイト ファイルを作成することもできます。

これは、特定のファイルのパーミッションを同じに保ちたいが、内容を上書きしたい場合に特に役立ちます。これは、ログ ファイルや同様のアイテムでよくあることです。

コマンドラインで削除せずに指定したファイルの内容を空にする