首页 > 操作系统 >CentOS增加系统回收站功能介绍

CentOS增加系统回收站功能介绍

来源:互联网 2026-04-18 13:34:33

Linux“回收站”机制:给rm命令加一道保险 在Linux系统里,用过rm命令的朋友大概都深有体会:文件一旦删除,想恢复可就麻烦大了。即便费尽周折找回,文件名也往往变成了一串难以辨认的数字,实用性大打折扣。 有没有办法像Windows那样,给命令行也装上一个“回收站”呢?答案是肯定的。今天就来分享

Linux“回收站”机制:给rm命令加一道保险

在Linux系统里,用过rm命令的朋友大概都深有体会:文件一旦删除,想恢复可就麻烦大了。即便费尽周折找回,文件名也往往变成了一串难以辨认的数字,实用性大打折扣。

有没有办法像Windows那样,给命令行也装上一个“回收站”呢?答案是肯定的。今天就来分享一套行之有效的方案,通过改造环境变量,让rm命令变得“温柔”起来。

长期稳定更新的攒劲资源: >>>点此立即查看<<<

第一步:为root用户配置回收站

我们首先从root用户开始。核心思路是,用命令别名(alias)将rm重定义为一个移动到特定目录的操作,而不是直接删除。

打开root用户的环境变量配置文件:

vi ~/.bashrc

找到通常位于第5行左右的alias rm='rm -i'这行(如果存在),把它注释掉:

#alias rm='rm -i'

然后,在文件的最后,添加下面这段函数定义:

mkdir -p ~/.trash
alias rm=trash
alias r=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/*
}

保存退出后,别忘了让配置立即生效:

source ~/.bashrc

效果验证与使用

配置完成后,用ll -a命令查看家目录,你会发现多了一个隐藏文件夹.trash。它就是我们的“回收站”。

drwxr-xr-x. 2 root root 4096 Jun 4 11:31 .trash

现在,尝试删除一个文件:

[root@localhost ~]# rm percona-xtrabackup_2.2.3.orig.tar.gz

再去查看回收站目录,被“删除”的文件果然好端端地躺在那儿:

[root@localhost ~]# ll .trash/
total 33780
-rw-r--r--. 1 root root 34584359 Jun  2 09:39 percona-xtrabackup_2.2.3.orig.tar.gz

如果需要清空回收站,运行cleartrash命令,它会贴心地让你二次确认:

[root@localhost ~]# cleartrash
clear sure[n]y

再次查看,回收站就被清空了。

重要提醒与进阶配置

这里有个关键点需要注意:我们只是为rm命令创建了别名。如果使用绝对路径/bin/rm,文件依然会被直接删除,不会进入回收站。这在需要彻底删除时有用,但也意味着操作时要格外留心。

另外,回收站目录不会自动清理,时间长了可能堆积大量文件。我们可以设置一个定期任务。比如,编写一个脚本,自动清理7天前的文件:

#!/bin/bash
find /root/.trash -ctime 7 -type f -name "*" -exec /bin/rm {} \;

然后,将这个脚本加入crontab计划任务即可。

第二步:推广到所有系统用户

如果希望服务器上所有用户都能享受这个“保险”机制,只需将配置放在系统级的环境变量文件中。

编辑/etc/profile文件:

vi /etc/profile

同样,在文件末尾添加与之前完全相同的函数和别名定义。保存后,重新加载配置:

source /etc/profile

之后,任何新创建的用户登录时,系统都会自动在其家目录创建.trash文件夹,并启用回收站功能。

普通用户测试

我们创建一个普通用户a来测试一下:

useradd a
passwd a

切换到该用户登录,执行ll -a,可以看到.trash目录已经自动创建。接着进行测试:

[a@localhost ~]$ touch 1.txt
[a@localhost ~]$ rm 1.txt
[a@localhost ~]$ ll .trash/
total 0
-rw-rw-r--. 1 a a 0 Jun  4 11:45 1.txt

看,文件成功转移到了回收站,功能完全正常。

最后,如果你觉得~/.trash这个默认位置不合适,完全可以在环境变量配置中修改trash()函数里的路径,将其指向任何你有写入权限的目录。如此,一套简单而实用的Linux命令行回收站系统就搭建完成了,这下可以更放心地管理文件了。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。