2009-05-21 81 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

那么创建的文件可能不会被其他人读取。如果他们是那么你有更深层次的安全问题。