2009-05-21 60 views
0

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

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

好的程序應該如何處理它們的交換文件?

回答

2

如果這些文件因爲包含敏感信息而「惱火」,那麼您應該知道,僅使用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 {} \; 

有意義嗎?

+0

我相信這些並不是OP正在討論的交換文件的類型,但是您將rm留在磁盤上的數據直到它被稍後覆蓋爲止是正確的。 – 2010-08-27 08:17:38

0

取決於在那裏的,從運行,但它應該是罰款,但如果它們運行作爲你的用戶ID我會ammend比賽是「* .SWP」或「* SWP」一個更完美的匹配

0

那麼創建的文件可能不會被其他人讀取。如果他們是那麼你有更深層次的安全問題。