有办法找回linux删除的文件夹,Linux下安全删除和恢复文件的方法

由于目前大家使用的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 "\"; 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命令了。下图演示了删除test文件、恢复test文件以及“~/.temp”目录下文件的变化。

350b13d24b2f675e4acfbac7881b8efc.png

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值