用于删除无法以任何代价检索的文件的 Unix 命令
Unix command to remove a file that can't be retrieved at any cost
rm 命令只从磁盘中删除引用而不是实际数据,以便以后可以检索,有没有同时删除引用和数据的命令。
这真的取决于你需要什么。
如果需要回收存储 space 而无需等待所有打开文件的进程关闭它或死亡,调用 truncate -s 0 FILENAME
释放数据,然后删除文件一个普通的 rm FILENAME
。但是,这两个操作不是原子操作,已经打开文件的程序可能会以各种方式失败(包括分段错误,如果它们已将文件的某些部分映射到内存中)。但是,鉴于您打算同时删除文件及其内容,因此没有通用的方法来防止依赖于内容的程序失败。
如果您的目标是在删除后无法通过取证分析检索数据,请使用 shred
等命令,该命令专门用于在删除文件之前覆盖数据。并且 - 在相信这些工具能够可靠地销毁敏感数据之前,请密切注意它们的局限性。
如果正如您的评论所暗示的那样,您在 OSX 上,您可以使用 srm
执行“安全删除”。
SRM(1) SRM(1)
NAME
srm - securely remove files or directories
SYNOPSIS
srm [OPTION]... FILE...
DESCRIPTION
srm removes each specified file by overwriting, renaming, and truncat-
ing it before unlinking. This prevents other people from undeleting or
recovering any information about the file from the command line.
联机帮助页是 here。
或者,shred
在 GNU coreutils 中可用,您可以使用 homebrew
在 OS X 上轻松安装它,使用命令
brew install coreutils
rm 命令只从磁盘中删除引用而不是实际数据,以便以后可以检索,有没有同时删除引用和数据的命令。
这真的取决于你需要什么。
如果需要回收存储 space 而无需等待所有打开文件的进程关闭它或死亡,调用 truncate -s 0 FILENAME
释放数据,然后删除文件一个普通的 rm FILENAME
。但是,这两个操作不是原子操作,已经打开文件的程序可能会以各种方式失败(包括分段错误,如果它们已将文件的某些部分映射到内存中)。但是,鉴于您打算同时删除文件及其内容,因此没有通用的方法来防止依赖于内容的程序失败。
如果您的目标是在删除后无法通过取证分析检索数据,请使用 shred
等命令,该命令专门用于在删除文件之前覆盖数据。并且 - 在相信这些工具能够可靠地销毁敏感数据之前,请密切注意它们的局限性。
如果正如您的评论所暗示的那样,您在 OSX 上,您可以使用 srm
执行“安全删除”。
SRM(1) SRM(1)
NAME
srm - securely remove files or directories
SYNOPSIS
srm [OPTION]... FILE...
DESCRIPTION
srm removes each specified file by overwriting, renaming, and truncat-
ing it before unlinking. This prevents other people from undeleting or
recovering any information about the file from the command line.
联机帮助页是 here。
或者,shred
在 GNU coreutils 中可用,您可以使用 homebrew
在 OS X 上轻松安装它,使用命令
brew install coreutils