0

一部のファイルを削除するために、PHPでUnlinkをテストしています。ファイルは確かに削除されており、もう見ることはできませんが、驚いたことに、ハード ドライブの容量が減ることはありません。

ファイルを完全に削除したい。

4

4 に答える 4

7

ファイルのサイズと、空き容量をどのように確認していますか? ファイルのリンクを解除すると、ファイルへの最後のリンクをリンク解除した場合にのみ、ドライブの空き容量が増えます。Unix システムでは、1 つのファイルが複数の異なる場所に存在し、それぞれに固有のファイル名が付けられることに注意してください。1 つのファイルが同じディレクトリに複数回表示されることさえあります。ファイルを指す最後のリンクが削除された場合にのみ、ファイルは実際に削除されます。

于 2011-07-27T16:49:50.723 に答える
2

unlinkファイルシステムから名前を削除します ( man unlink )。スペースも解放し、プロセスがファイルハンドラーをさらに使用していない場合–私の推測では、一部のプロセスがまだハンドラーを所有していると思われます(この仮説をテストするために、インタープリターを呼び出すコマンドラインphpスクリプトを書くことができます実行時間)。

于 2011-07-27T16:50:06.620 に答える
0

ファイル サイズが無視できる場合は、サイズの変化が見られないことがあります。ファイルが表示されなくなった (非表示になっていない) 場合、そのファイルは削除対象としてマークされており、その後に作成または変更されたファイルは古いスペースを占有する可能性があるため、ファイルに残っていたものを上書きする可能性があります。

于 2011-07-27T16:51:26.510 に答える
0

考慮すべき点が 2 つあります。

  • unlink特定の i ノードの参照カウントを減らします。システムの別の場所にハード リンクがある場合、ストレージはまだ使用されています。
  • ファイルが開かれているプログラムは、ファイルがディスク上にリストされていなくても、スペースが解放されるのを防ぎます。
于 2011-07-27T16:52:57.447 に答える