删除是危险系数很高的操作,一旦误删可能会造成难以估计的损失。在云服务器 ECS Linux 系统中这种危险尤为明显。比如,一条简单的语句:rm –rf /* 就会把整个系统全部删除,而 Linux 并不会因为这条语句的不合理而拒绝执行。
在 Windows 中,为了防止误删,系统默认提供了回收站功能。用户在执行删除操作后,文件并不会直接从硬盘中删除,而是被放到回收站中。在清空回收站前,如果发现有文件被误删,用户可以将回收站中的文件恢复到原来的位置。而 Linux 并没有提供类似功能,删除命令 rm 一旦确认执行,文件就会直接从系统中删除,很难恢复。
本文以 CentOS6.5 系统环境为例,给 Linux 创建一个简单的回收站功能。
1. 新建一个回收站目录。
2. vim /bin/trash 编辑一个文件。
mv $@ /tmp/trash_tmp
:wq 保存退出
3. alias rm=/bin/bash 添加别名。
4. 在 /etc/bashrc 文件底部添加图中所示内容。
5. source /etc/bashrc 启用环境变量。
6. 测试删除文件 a.txt,结果如图所示,执行 rm 命令后,发现 a.txt 文件已经被放到了最开始设置的回收站目录下了。
如果要真的删除某个文件的时候通过如下方式处理:
/bin/rm -i <文件名>