您的位置:首页 > 运维架构 > Linux

CentOS 6.4 x64 系统回收站功能

2016-01-07 15:55 525 查看
linux rm删除文件之后,恢复就比较麻烦了,即使恢复了,文件名格式都变成一串数字了。

修改root用户的环境变量vi ~/.bashrc注释第5行的别名#alias rm='rm -i'最后一行添加如下内容mkdir -p ~/.trashalias rm=trashalias r=trashalias rl='ls ~/.trash'alias ur=undelfileundelfile(){ mv -i ~/.trash/$@ ./}trash(){ mv $@ ~/.trash/}
cleartrash(){ read -p "clear sure?
" 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如果需要清空回收站文件使用以下命令[root@localhost ~]# cleartrashclear sure?
y再次查看,发现空了。[root@localhost ~]# ll .trash/total 0
虽然rm用别名定义了,但是可以是用绝对路径删除文件比如/bin/rm 1.txt它是不会保存到.trash目录的。
如果需要定义自动清理7天删除的文件可以写一个脚本#!/bin/bash
find /root/.trash -ctime 7 -type f -name "*" -exec /bin/rm {} \;然后在任务计划里面调用一下就可以了。
如果Linux除了root用户,还有其他用户需要登陆服务器,也想他们使用回收站机制可以修改系统环境变量vi /etc/profile最后一行添加mkdir -p ~/.trashalias rm=trashalias r=trashalias rl='ls ~/.trash'alias ur=undelfileundelfile(){ mv -i ~/.trash/$@ ./}trash(){ mv $@ ~/.trash/}
cleartrash(){ read -p "clear sure?
" confirm [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/*}重新加载环境变量source /etc/profile
创建普通用户测试useradd a设置密码passwd a
登陆Linux查看目录,发现会创建.trash目录[a@localhost ~]$ ll -atotal 24drwx------. 3 a a 4096 Jun 4 11:45 .drwxr-xr-x. 5 root root 4096 Jun 4 11:44 ..-rw-r--r--. 1 a a 18 Oct 16 2014 .bash_logout-rw-r--r--. 1 a a 176 Oct 16 2014 .bash_profile-rw-r--r--. 1 a a 124 Oct 16 2014 .bashrcdrwxrwxr-x. 2 a a 4096 Jun 4 11:45 .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目录位置觉得不爽,可以修改环境变量,改成其他位置,注意保证目录可写。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  功能 回收站 rm