删除是危险系数很高的操作,一旦误删可能会造成难以估计的损失。比如,一条简单的语句:rm –rf /* 就会把整个系统全部删除,而 Linux 并不会因为这条语句的不合理而拒绝执行。

在 Windows 中,为了防止误删,系统默认提供了回收站功能。用户在执行删除操作后,文件并不会直接从硬盘中删除,而是被放到回收站中。在清空回收站前,如果发现有文件被误删,用户可以将回收站中的文件恢复到原来的位置。而 Linux 并没有提供类似功能,删除命令 rm 一旦确认执行,文件就会直接从系统中删除,很难恢复。

本文以 CentOS 系统环境为例,给 Linux 创建一个简单的回收站功能。

1.新建一个回收站目录

我们服务器的/data分区容量比较大,所以回收站目录建在/data下面

mkdir /data/trash

2.新建一个删除执行文件

vim /bin/trash

mv $@ /data/trash

:wq 保存退出

3. 添加别名

alias rm=/bin/trash

4.使全局生效,在/etc/bashrc文件底部添加如下内容

alias rm=/bin/trash
chmod /bin/trash
chmod /data/trash

CentOS 服务器添加简易"回收站"-LMLPHP

使配置生效

source /etc/bashrc 

5.测试删除test.log,执行rm命令后,发现test.log已经被移动到/data/trash目录了

CentOS 服务器添加简易"回收站"-LMLPHP

6.如果想彻底删除,则使用系统原生rm命令删除即可

/bin/rm -rf test.log
05-11 21:47