最新消息:

Linux 下安全删除和恢复文件

系统 2786浏览

由于目前大家使用的 Linux 文件系统大多是 Ext3 格式的,文件一旦删除,很可能无法恢复,即便可以恢复也十分麻烦。所以执行 rm 命令变得异常危险,为此,我们可以编写两个 Shell 脚本来实现安全删除和恢复文件的功能。

原理很简单,在当前用户的家目录下创建一个隐藏文件夹“.temp”,它相当于 Windows 系统中的回收站。当我们想安全删除一个文件时,将要删除的文件剪切到该目录下即可。如果想要恢复,再将“.temp”目录内的文件剪切到原始位置便是。

删除文件的 Shell 脚本我们命名为 erase,代码如下:

#! /bin/bash
RecycleBin=~/.temp
(($#==0)) && { echo "No paraments!";exit 1; }
if [ ! -d $RecycleBin ]; then 
 mkdir $RecycleBin
fi
for i in $*
do
 if test -e $i
 then
 cd $(dirname $i)
 mv -f $(basename $i) $RecycleBin/$(find $(pwd) -maxdepth 1 -name $(basename $i) | tr "/" "=")
 cd -
 else
 echo "$i:No such file or directory!"
 fi
done

恢复文件的 Shell 脚本我们命名为 unerase,代码如下:

#! /bin/bash
cd ~/.temp
list=$(for i in $*; do ls |grep "<$i>"; done)
(($#==0)) && { list=$(ls|grep ""); }
for j in $list
do
 file=$(echo $j | tr "=" "/")
 mv $j ${file%/*}/${file##*/}
done

保存这两个文件,并使用 chmod 命令为其添加可执行权限,然后拷贝到“/usr/bin”目录下,之后我们就可以像使用 rm 命令一样来使用 erase 跟 unerase 命令了。

要安全删除某些文件,使用 eares 命令跟上要删除的文件,既支持相对路径也支持绝对路径。要安全恢复某些文件,使用 unerase 命令跟上要恢复的文件名即可,如果不跟文件名,默认恢复“~/.temp”目录下的所有文件。

好了,Linux 下安全删除和恢复文件 就分享到这里,非常感谢你的来访。如果你很喜欢本站,请不要忘记收藏本站,以便下次继续访问;也可以 关注站长微博 随时获取最新动态。你的支持就是我最大的动力!

转载请注明:爱维科斯 » Linux 下安全删除和恢复文件

支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者