ubuntu下恢复被rm删除的文件

ubuntu是文件系统,不像windows系统划分盘符(C/D/E/etc...盘)。ubuntu对磁盘划分分区,可以使用extundelete恢复ext3/ext4格式的磁盘分区。

其中,ext3/ext4是linux的正规文件系统,是一款索引式文件系统。

注意:一旦发生误删操作,应该立即停止对磁盘进行写入操作(download or install),记录下误删操作发生的时间文件路径

extundelete软件的官网

http://extundelete.sourceforge.net/

使用extundelete软件撤销rm操作的博客

https://my.oschina.net/fufangchun/blog/176550

https://www.cnblogs.com/yuhuLin/p/7027253.html

https://blog.csdn.net/zcf1002797280/article/details/49812649#commentBox

相关命令行

1. 查看本机的所有磁盘分区

sudo fdisk -l

2. 查看某一目录属于哪个磁盘分区

% df -h [directory]
df -h /usr/lib/

经验总结:

1. 做好备份。熟练使用git。

2. 重定义rm。rm是个非常危险的命令行。具体操作如下:

在 ~/.bashrc 添加如下内容,重定义 rm 指令。

mkdir -p ~/.trash
alias rm=trash
alias rl='ls ~/.trash'
alias ur=undelfile

undelfile()
{
    mv -i  ~/.trash/$@ ./
}

trash()
{
    mv $@ ~/.trash/
}

cleartrash()
{
   read -p "clear sure?[n]" confirm
   [ $confirm == 'y' ] || [ $confirm == 'Y' ]  && /bin/rm -rf ~/.trash/*
}

这段代码定义了三个函数 trash()、 undelfile() 和cleartrash() 。

其中,trash的作用是挪动文件到指定回收站目录;

undelfile的作用是找回回收站中的指定文件;

cleartrash的作用是清空回收站目录。

添加完毕后, source ~/.bashrc  使重定义生效。此时已经可以找到  ~/.trash/  文件夹了。

实验示范一下:

gordon@gordon-5577:~ $ mkdir showtime     
gordon@gordon-5577:~ $ cd showtime/
gordon@gordon-5577:~/showtime $ l
gordon@gordon-5577:~/showtime $ touch baba
gordon@gordon-5577:~/showtime $ mkdir mama
gordon@gordon-5577:~/showtime $ l                       // 创建showtime文件夹,在这里演示
baba  mama/

gordon@gordon-5577:~/showtime $ rl                      // 此时回收站 ~/.trash/ 文件夹为空
gordon@gordon-5577:~/showtime $ rm baba           // rm baba 文件,进入 ~/.trash/ 文件夹
gordon@gordon-5577:~/showtime $ rl
baba

gordon@gordon-5577:~/showtime $ rm -r mama
mv: invalid option -- 'r'
Try 'mv --help' for more information.
gordon@gordon-5577:~/showtime $ rm mama         // 注意,移除文件夹不需要加 -r 参数
gordon@gordon-5577:~/showtime $ rl
baba  mama

gordon@gordon-5577:~/showtime $ l                       // 查看 showtime/ 文件夹,此时为空的 
gordon@gordon-5577:~/showtime $ ur baba           // 从 ~/.trash/ 文件夹恢复baba文件至原位
gordon@gordon-5577:~/showtime $ l
baba
gordon@gordon-5577:~/showtime $ rl
mama
gordon@gordon-5577:~/showtime $ ur mama        // 恢复 mama/ 文件夹
gordon@gordon-5577:~/showtime $ l
baba  mama/
gordon@gordon-5577:~/showtime $ rl

gordon@gordon-5577:~/showtime $ rm baba mama
gordon@gordon-5577:~/showtime $ rl
baba  mama

gordon@gordon-5577:~/showtime $ cleartrash        // 彻底清空 ~/.trash/ 文件夹中的内容
clear sure?[n]y 
gordon@gordon-5577:~/showtime $ rl

猜你喜欢

转载自www.cnblogs.com/gdut-gordon/p/11840503.html