一千萬個為什麽

搜索

刪除所有交換文件?

許多程序創建了大量的交換文件。他們煩我,因為他們中的一些包含敏感信息。我應該如何處理它們?這個命令是一個好主意:

find . -iname "*swp*" -exec rm '{}' \;

優秀的程序如何處理交換文件?

最佳答案

如果這些文件因為包含敏感信息而“惱火”,那麽您應該知道,僅僅通過 rm 命令刪除文件實際上並不會從您的硬盤擦除數據。

我並不確定你的交換文件在哪裏,或者什麽應用程序正在創建它們。通常,交換文件是由操作系統在特別指定的目錄中創建的。例如,在我的Mac上:

$ ls /private/var/vm/
-rw------T  1 root  wheel  4294967296 Mar 15 19:41 sleepimage
-rw-------  1 root  wheel    67108864 Mar 15 21:10 swapfile0
$ 

如果你想擦除交換文件中的信息,你真的需要覆蓋它們。你可以用“dd”來做到這一點,但你最好用 srm 來做。不幸的是, srm 默認會覆蓋每個文件7次,這是必要的6倍。 (將其與-s選項一起使用以獲得單個覆蓋)。

所以如果你想使用你的查找,請使用:

find . -iname "*swp*" -exec srm -s {} \;

合理?

轉載註明原文: 刪除所有交換文件?