ホームページ > システムチュートリアル > Linux > Linuxとunixでそれらを削除せずにファイルをすばやく空にする方法

Linuxとunixでそれらを削除せずにファイルをすばやく空にする方法

Joseph Gordon-Levitt
リリース: 2025-03-19 10:32:09
オリジナル
501 人が閲覧しました

今日は、LinuxおよびUNIXのようなオペレーティングシステムでファイル自体を削除することなく、コマンドラインからファイルの内容をクリアする方法を学びます。 Linuxでファイルを空にすることは、ファイルの許可と所有権を保持したいが、そのすべての内容を削除する場合に役立ちます。

目次

ファイルコンテンツをクリアする理由

ファイルを削除せずに迅速に空にする方法を学ぶ前に、これが役立つ理由と時期を理解しましょう。

ファイル自体を削除せずにファイルの内容をクリアすることは、いくつかの理由で重要になる可能性があり、多くの場合、システム管理、ロギング、アプリケーション管理に関連しています。

  1. ファイルの許可と所有権を保持する:ファイルのデフォルト設定とシステム構成に応じて、ファイルを削除して新しいファイルを作成する可能性があります。ファイルを削除せずに空にすることにより、元の権限と所有権が保持されます。これは、セキュリティ上の理由または運用機能のために特定のアクセス許可を必要とするファイルにとって重要です。
  2. シンボリックリンクの維持:ファイルがシンボリックリンクを介してシステム内の他の場所にリンクされている場合、ファイルを削除および再作成すると、これらのリンクが破損します。ファイルのコンテンツを空にすると、巻線が保持されるため、リンクがそのまま続きます。
  3. サービスやアプリケーションの混乱を避ける:一部のアプリケーションまたはサービスは、ログファイルまたは構成ファイルが常に特定の場所に存在することを期待する場合があります。一時的にファイルを削除すると、エラーや混乱を引き起こす可能性があります。ファイルのコンテンツをクリアすることにより、アプリケーションは、おそらく新鮮なログまたはリセット構成でスムーズに動作し続けることができます。
  4. ファイルロックの問題:場合によっては、ファイルがプロセスによってロックされているため、プロセスを停止せずに削除することが不可能になります。ファイルのコンテンツをクリアする必要がある場合(ログ回転など)、プロセスを停止することを望んでいない、または停止できない場合は、コンテンツをクリアすることは実行可能なソリューションです。
  5. ログ管理の効率:時間の経過とともに大きく成長するログファイルの場合、コンテンツを定期的にクリアして(ログ回転)、ディスクスペースを解放しながら、システムを中断することなく実行し続けることが一般的です。自動化されたスクリプトは、それらを再作成する必要なく、ログファイルを定期的にクリアでき、ファイルが欠落しているためにこれらのファイルにログにログインすることが保証されます。

理由に関係なく、Linuxでファイルのコンテンツを削除せずにクリアしたい場合は、ここにいくつかの方法があります。

コマンドラインからLinuxでファイルを空にする7つの方法

次の7つのメソッドは、ファイル自体を削除せずにファイルの内容をクリアします。

1。> redirection

LinuxとUnixの演算子は、リダイレクトに使用されます。ファイル名で使用すると、コマンドの出力をファイルにリダイレクトします。コマンドが与えられていない場合、ファイルに「何もない」を効果的にリダイレクトし、そのコンテンツをクリアします。これは、ファイル自体をそのままに保ち、Linuxでファイルコンテンツを空にするための簡単な方法です。

 > file.txt
ログイン後にコピー

file.txtを独自に置き換えます。

2。TRUNCATEコマンドの使用

Truncateコマンドは、ファイルのサイズを変更するように特別に設計されています。

Truncateコマンドを使用してファイルの内容をクリアするには、次のことを実行します。

 truncate -s 0 file.txt
ログイン後にコピー

-s 0オプションを使用してサイズを0バイトに設定することにより、ファイルの存在やそのメタデータに触れずに、ファイルからすべてのコンテンツをファイルから効果的に削除します。

3.リダイレクトでエコーコマンドを使用する

Echoコマンドは通常、引数として渡されるテキスト/文字列の行を表示するために使用されます。 -Nフラグ(NewLine文字が追加されるのを防ぐ)とファイルへのリダイレクト(>)と組み合わせると、ファイルのコンテンツを何も置き換えて、ファイルを空にします。この方法は、直接リダイレクトを使用するのと同じくらい簡単ですが、コマンド(echo)が含まれます。

 echo -n> file.txt
ログイン後にコピー

4。 /dev /nullでCPコマンドを使用します

CPコマンドは、ファイルまたはディレクトリのコピーに使用されます。ファイルに /dev /nullをコピーすることにより、ファイルのコンテンツを本質的に /dev /nullのコンテンツ(常に空)に置き換え、ファイルをクリアします。

 cp /dev /null file.txt
ログイン後にコピー

この方法は、同じ権限と所有権でファイルがアクセス可能なままであることを要求するスクリプトやプログラムに役立ちます。

5。SEDコマンドの使用

sedコマンドを使用してfile.txtという名前のファイルからすべての行を削除するには、実行します。

 SED -id file.txt
ログイン後にコピー

コマンドの各部分が行うことは次のとおりです。

  • -I:このオプションは、SEDにファイルを編集するように指示します。つまり、SEDは、変更されたテキストをコンソールに出力するだけでなく、指定されたファイルを直接変更することを意味します。
  • D:これは、「delete」を表すSEDコマンドです。入力から行を削除するために使用されます。
  • file.txt:これは、変更するファイルの名前です。

6。VIMエディターの使用

VIMエディターを使用して大きなファイルコンテンツを削除できます。

VIMエディターを使用してファイルを開きます。

 vim file.txt
ログイン後にコピー

ESCボタンを押して、次のように入力してください。

 :1、$ d
ログイン後にコピー

タイピング:1、$ d in VIMは、ファイル全体のすべての行を削除するコマンドを実行します。コマンドの各部分が行うことの内訳は次のとおりです。

  • ::これにより、VIMでコマンドラインモードが入ります。
  • 1 :これは範囲を指定します。この場合、1はコマンドがファイルの最初の行から開始されることを意味します。
  • :これにより、範囲が分離されます。コンマは、出発点から終了点までの範囲を示すために使用されます。
  • $ :これは、ファイルの最後の行を示します。
  • D :これは削除するコマンドです。

したがって、:1、$ dは、最初の行からファイルの最後の行まですべての行を削除するようにVIMに指示します。このコマンドを実行した後、ファイルは空になります。

7。DDコマンドの使用

DDコマンドは、ファイル、デバイス、またはパーティション間でデータをコピーして変換できる低レベルのデータコピーユーティリティです。

/dev /nullからのデータをファイル(= file.txt)にコピーすることにより、ファイルにゼロバイトを効果的に書き込み、コンテンツをクリアします。このタスクでは少し過剰ですが、その汎用性に役立ちます。

 dd if =/dev/null of = file.txt
ログイン後にコピー

チートシート

Linuxとunixでそれらを削除せずにファイルをすばやく空にする方法

結論

このチュートリアルでは、Linuxでファイル自体を削除せずにファイルの内容を空にする5つの異なるコマンドラインメソッドについて説明しました。これらのコマンドを使用すると、コンテンツをリセットしながら、ファイルの許可、所有権、およびシンボリックリンクを維持できます。

ログファイルの管理、構成ファイルのリセット、または単に別の使用のためにファイルをクリアする必要がある場合でも、これらのツールは簡単で迅速な方法を提供します。

以上がLinuxとunixでそれらを削除せずにファイルをすばやく空にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート