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 sudorm=sudotrash
alias rl='ls ~/.trash'
alias ur=undelfile undelfile()
{
mv -i ~/.trash/$@ ./
} trash()
{
mv $@ ~/.trash/
}
sudotrash()
{
sudo mv $@ ~/.trash/
}
cleartrash() { read -p "clear sure?[n]" confirm [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/* }
这段代码定义了三个函数 trash()、 undelfile() 和cleartrash() 。
其中,trash的作用是挪动文件到指定回收站目录;
sudotrash的作用是使用超级权限挪动文件到指定回收站。如果运行sudo rm,此时rm是最原始的删除功能,并非重定义的移动功能。
undelfile的作用是找回回收站中的指定文件;
cleartrash的作用是清空回收站目录。
添加完毕后, source ~/.bashrc 使重定义生效。此时已经可以找到 ~/.trash/ 文件夹了。
命令行:
1. rl 查看 ~/.trash/ 文件夹中的内容;
2. rm file, rm directory 删除文件或者文件夹;
3. sudorm file, sudorm directory 使用超级权限删除文件或者文件夹;
4. ur file, ur directory 从 ~/.trash 中恢复文件或者文件夹到原位;
5. cleartrash 清空 ~/.trash/
实验示范一下:
gordon@gordon-:~ $ mkdir showtime
gordon@gordon-:~ $ cd showtime/
gordon@gordon-:~/showtime $ l
gordon@gordon-:~/showtime $ touch baba
gordon@gordon-:~/showtime $ mkdir mama
gordon@gordon-:~/showtime $ l // 创建showtime文件夹,在这里演示
baba mama/ gordon@gordon-:~/showtime $ rl // 此时回收站 ~/.trash/ 文件夹为空
gordon@gordon-:~/showtime $ rm baba // rm baba 文件,进入 ~/.trash/ 文件夹
gordon@gordon-:~/showtime $ rl
baba gordon@gordon-:~/showtime $ rm -r mama
mv: invalid option -- 'r'
Try 'mv --help' for more information.
gordon@gordon-:~/showtime $ rm mama // 注意,移除文件夹不需要加 -r 参数
gordon@gordon-:~/showtime $ rl
baba mama gordon@gordon-:~/showtime $ l // 查看 showtime/ 文件夹,此时为空的
gordon@gordon-:~/showtime $ ur baba // 从 ~/.trash/ 文件夹恢复baba文件至原位
gordon@gordon-:~/showtime $ l
baba
gordon@gordon-:~/showtime $ rl
mama
gordon@gordon-:~/showtime $ ur mama // 恢复 mama/ 文件夹
gordon@gordon-:~/showtime $ l
baba mama/
gordon@gordon-:~/showtime $ rl gordon@gordon-:~/showtime $ rm baba mama
gordon@gordon-:~/showtime $ rl
baba mama gordon@gordon-:~/showtime $ cleartrash // 彻底清空 ~/.trash/ 文件夹中的内容
clear sure?[n]y // 根目录下,创建/删除文件都需要sudo权限
gordon@gordon-:/usr/local $ cd showtime/
gordon@gordon-:/usr/local/showtime $ sudo mkdir baba mama
gordon@gordon-:/usr/local/showtime $ sudo touch gege didi
gordon@gordon-:/usr/local/showtime $ l
baba/ didi gege mama/
gordon@gordon-:/usr/local/showtime $ rl
gordon@gordon-:/usr/local/showtime $ sudorm baba/
gordon@gordon-:/usr/local/showtime $ sudorm gege
gordon@gordon-:/usr/local/showtime $ rl
baba gege
gordon@gordon-:/usr/local/showtime $ l
didi mama/ gordon@gordon-:/usr/local/showtime $ sudo rm mama // 在有些电脑,运行sudo rm是原始的删除,并非重定义的移动操作
sudo: trash: command not found
gordon@gordon-:/usr/local/showtime $ sudo rm -r mama
sudo: trash: command not found
gordon@gordon-:/usr/local/showtime $ sudo rm didi
sudo: trash: command not found
最新文章
- Linux配置环境报“/usr/local/develop-tools/apache-maven-3.3.9/bin: 是一个目录“的解决方案
- 关于编译Android源码
- Docker之Linux Cgroups
- 上下联动,右侧按钮过多poper展示
- Android四种LaunchMode
- iOS 自定义进度条
- memcached学习(4). memcached的分布式算法
- Codeforces 475D CGCDSSQ(分治)
- Spring强制使用CGLIB代理事务
- NSThread常见方法
- 喜欢的女生快被别人抢走了,我敢怎么抢? - V2EX
- asp:UpdatePanel中js失效问题已解决
- Android--开发过程中使用到的长度单位
- xml转义符
- 【ANT】description元素和属性
- 为你的APK进行数字签名
- 虚拟机中克隆后使用eth0
- 对于CAN ID的理解
- Centos下新建用户及修改用户目录
- python模块中sys.argv[]使用