linux rm命令改造成回收站
2016-03-28 21:54
363 查看
在linux下删除文件用的是 rm 命令,这个命令是非常强大的,几乎可以删除linux下所有的文件。
如果你不小心敲个 # rm -rf /* ,那就非常愉快了。我相信每个用linux的人都有过误删除文件的经历,删了怎么办。是不是瞬间就懵逼了。linux不像windows有个回收站,删除了恢复起来就很麻烦了。如果你真的误删除了不要方。第一件事该是卸载掉被删文件所在的盘,或者以只读模式挂(防止写入覆盖掉删除的文件,因为删除文件只是删掉了文件的索引)。 不过恢复文件是个麻烦事, 尤其是我这种菜鸟,简直懵逼。所以网上搜索了下,果然大神们都是有想法的, 将rm 改造成 mv 然后定时清理下就好(还可以写个计划任务,清理都不用自己动手。)所以将rm改造下是非常有用的
正题:
首先修改bash的环境变量
# cd ~
# vim .bashrc
#alias rm='rm -i'
//注释掉这行
然后添加如下内容
重新加载环境变量
source ~/.bashrc
这样只有当前用户会生效,为了让所有的用户生效,可以将上面的内容写到
/etc/bashrc
重新加载环境变量,或者重新打开终端就可以所有的用户都有效的
演示效果如下:
如果你不小心敲个 # rm -rf /* ,那就非常愉快了。我相信每个用linux的人都有过误删除文件的经历,删了怎么办。是不是瞬间就懵逼了。linux不像windows有个回收站,删除了恢复起来就很麻烦了。如果你真的误删除了不要方。第一件事该是卸载掉被删文件所在的盘,或者以只读模式挂(防止写入覆盖掉删除的文件,因为删除文件只是删掉了文件的索引)。 不过恢复文件是个麻烦事, 尤其是我这种菜鸟,简直懵逼。所以网上搜索了下,果然大神们都是有想法的, 将rm 改造成 mv 然后定时清理下就好(还可以写个计划任务,清理都不用自己动手。)所以将rm改造下是非常有用的
正题:
首先修改bash的环境变量
# cd ~
# vim .bashrc
#alias rm='rm -i'
//注释掉这行
然后添加如下内容
mkdir -p ~/.trash alias rm=trash alias rl='ll -a ~/.trash' alias ur=undelfile undelfile() { mv -i ~/.trash/$@ ./ } trash() { mv $@ ~/.trash/ } cleartrash() { read -p "clear sure?[y/n]" confirm [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/* ~/.trash/.* 2>>/dev/null
重新加载环境变量
source ~/.bashrc
这样只有当前用户会生效,为了让所有的用户生效,可以将上面的内容写到
/etc/bashrc
重新加载环境变量,或者重新打开终端就可以所有的用户都有效的
演示效果如下:
[llin@localhost ~]$ mkdir rm_test [llin@localhost ~]$ touch rm_test/test.txt [llin@localhost ~]$ ls rm_test/test.txt rm_test/test.txt [llin@localhost ~]$ rm rm_test/ [llin@localhost ~]$ rl 总用量 4 drwxrwxr-x. 3 llin llin 20 Mar 28 21:49 . drwx------. 26 llin llin 4096 Mar 28 21:49 .. drwxrwxr-x. 2 llin llin 21 Mar 28 21:49 rm_test [llin@localhost ~]$ ls rm_test ls: 无法访问rm_test: 没有那个文件或目录 [llin@localhost ~]$ ur rm_test [llin@localhost ~]$ ls rm_test test.txt [llin@localhost ~]$ rm rm_test/ [llin@localhost ~]$ rl 总用量 4 drwxrwxr-x. 3 llin llin 20 Mar 28 21:49 . drwx------. 26 llin llin 4096 Mar 28 21:49 .. drwxrwxr-x. 2 llin llin 21 Mar 28 21:49 rm_test [llin@localhost ~]$ cleartrash clear sure?[y/n]y [llin@localhost ~]$ rl 总用量 4 drwxrwxr-x. 2 llin llin 6 Mar 28 21:50 . drwx------. 26 llin llin 4096 Mar 28 21:49 ..
相关文章推荐
- linux常见知识点总结
- Centos下本地连接postgresql时出现认证错误的问题
- Linux中怎样安装Chrome
- Linux学习笔记
- 《Linux内核分析》 第六周
- Linux系统中校验下载文件的完整性方法(MD5,SHA1,PGP)
- 《Linux内核分析》 第六节 进程的描述和进程的创建
- Linux学习6之环境下暂停进程和恢复暂停的进程
- linux中的解压命令
- Linux学习笔记——查看Linux系统信息的方法
- linux下so动态库一些不为人知的秘密(下)
- Linux 学习之路:read,array,declare
- Linux学习笔记之一
- Linux下MySQL 5.5/5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)适用于centos 7
- 理解Linux系统/etc/init.d目录和/etc/rc.local脚本
- 在CentOS 7中安装与配置JDK8
- linux安装Tesseract-OCR
- linux安装Tesseract-OCR
- Linux下LVS搭建负载均衡集群
- linux下so动态库一些不为人知的秘密(中)