wipe是一种小命令,能够安全删除磁性媒介上的文件,该命令能够在各种unix平台进行汇编,包括Linux 2.*、(Open+Net+Free)BSD、 aix 4.1、 SunOS 5.5.1以及Solaris 2.6等。从磁性媒介上恢复已经被擦除的数据要比人们想象的容易得多,一种称为“Magnetic Force Microscopy (MFM)”的技术能够恢复写入磁盘的最后2层或者3层的数据。而wipe命令能够向已删除的文件反复写入特殊图案,使用fsync() call和/或 O_SYNC bit强迫磁盘访问。
在Ubuntu中安装wipe
sudo aptitude install wipe
wipe语句
wipe [options] path1 path2 … pathn
Wipe示例
擦除/home/berke/plaintext/下的每个文件和每个目录(option -r),常规文件将使用34次passes擦除,它们的大小也将骤减几倍。而特殊文件(字符和块设备、FIFO等)则不会这样。所有目录条目(文件、特殊文件和目录)将被重新命名10次,然后用unlink操作符删除文件。不被允许的操作将进行chmod()处理(option -c).这些都不需要用户确认(option -f):
wipe -rcf /home/berke/plaintext/
假设/dev/hda3是与主要IDE界面的主盘第三区相对应的,则将在快速模式(option -q)下被擦除,例如,使用四种任意passes。Inode不会被重新命名或者unlink,在开始前,系统将要求输入“确认”:
wipe -kq /dev/hda3
wipe从来不会按照symlink进行文件删除,除非用户明确要求使用symlink,如果你想要擦除/dev/floppy,而它正是到/dev/fd0u1440的symlink,则需要明确 –D选项,在开始前,系统将要求输入“确认”:
wipe -kqD /dev/floppy
在这里,wipe将递归式地(option –r)删除/var/log下的数据,而非/var/log之外的数据。这将不再是chmod(),而会变得有点复杂(option –i)。而且因为-f选项,系统不会要求用户输入“确认”:
wipe -rfi >wipe.log /var/log/*
根据操作系统的不同特质,要想获取特定设备可能包含的byte数量并不是易事(事实上,这个数字是变化的)。这就是为什么有时候需要告诉wipe擦除byte数量的原因,也是-l option的目的。另外,也可以使用b,K,M和G作为乘法器,分别对应2^9 (512)、2^10 (1024或者Kilo)、2^20 (Mage)以及2^30 (Giga)bytes。甚至还可以联合两个乘法器,这样1M416K = 1474560 bytes:
wipe -Kq -l 1440k /dev/fd0
在Ubuntu的Nautilus菜单中添加Wipe
首先在终端使用下列命令安装nautilus-actions数据包:
sudo aptitude install nautilus-actions
现在打开Nautilus Actions Configuration:System->Preference->Nautilus Actions Configuration
输入以下信息:
Label: Wipe
Tooltip: Wipe utility to securely erase files
Icon: gtk-dialog-warning
Path: wipe
Parameters: -rf %M
点击Conditions条目,勾选“Appears if selection contains”上面的“both”
勾选“Appears if selection has multiple files or folders”,单击确定。
打开终端,运行下列程序对nautilus进行更新:
nautilus -q
nautilus
这样将打开nautilus窗口,现在右击单击任何文件,就能在菜单中看到wipe命令选项。