桌面版本的linux就默认有,非桌面版本貌似没(反正我没找到)

linux rm删除文件之后,恢复就比较麻烦了,即使恢复了,文件名格式都变成一串数字了。

修改root用户的环境变量

vi ~/.bashrc

注释第5行的别名

#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

如果需要清空回收站文件

使用以下命令

[root@localhost ~]# cleartrash

clear sure?[n]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 ~/.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 /etc/profile

创建普通用户测试

useradd a

设置密码

passwd a

登陆Linux

查看目录,发现会创建.trash目录

[a@localhost ~]$ ll -a

total 24

drwx------. 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 .bashrc

drwxrwxr-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目录位置觉得不爽,可以修改环境变量,改成其他位置,注意保证目录可写。

centos rm 回收站的更多相关文章

  1. centos建立回收站

    linux下的回收站在每一个当前用户目录./local/share/Trash中. 也可以给linux添加一个回收站. mkdir /tmp/trash_tmp 建立一个回收站目录 vi /bin/t ...

  2. Centos实现回收站机制

    作为一个运维人员,在服务器上删除文件时为了方便经常会直接使用rm *.txt这类通配符,甚至为了省事加-rf参数,如果是确定的话还好,要是在删除的时候一个不留神,那事可就大了. 俗话说常在河边站哪有不 ...

  3. linux/mac下命令行rm回收站--rmtrash

    Linux.mac的命令行下没有回收站功能,很多时候手一抖就把重要文件给 rm -fr * 了,虽然linux下有可能通过lost +found/debugfs找回,但难度也比较大,不能保证一定能够找 ...

  4. centos rm -rf 恢复删除的文件

    Linux有时候执行了 rm -rf 等操作误删了文件绝对是一件可怕的事情,好在有一些解决的办法可以临时救急.这时我们就要用到一款叫做extundelete的工具了. 目录[-] 依赖 安装 查找要恢 ...

  5. Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Mariadb 10.1.20 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

  6. centos 6.5 升级内核 linux 3.12.17 (笔记 实测)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-mi ...

  7. centos 6.5 升级内核 linux 3.12.17

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-mi ...

  8. Centos7 编译安装 Nginx Mariadb Asp.net Core2 (实测 笔记 Centos 7.3 + Openssl 1.1.0h + Mariadb 10.3.7 + Nginx 1.14.0 + Asp.net. Core 2 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

  9. Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Openssl 1.1.0e + Mariadb 10.1.22 + Nginx 1.12.0 + PHP 7.1.4 + Laravel 5.4 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

随机推荐

  1. BeanUtils组件

    引入jar包(需要引入依赖的日志jar包) Person p = new Person(); p.setName("Daisy"); p.setAge(12); //对象的copy ...

  2. HDU 1693 二进制表示的简单插头dp

    题目大意: 找到多条回路覆盖所有非障碍格子,问这样回路的种数 这里的插头与URAL1519 不一样的是 只要管它是否存在即可,只需要1个二进制位表示状态 #include <cstdio> ...

  3. C语言输出规定长度的整数,不够位数前面补零

    今天在做ACM题目的时候,遇到了这么一个问题,还真别说,这个以前真的没用过,当时就傻掉了,还好这个世界有Google,通过搜索了解了输出这种格式的C语言实现方法.但是没有找到C++的实现方法,希望知道 ...

  4. Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(四)

    利用Matlab与VC++联合编程,既可在C语言程序中打开Matlab引擎,调用Matlab的ToolBox函数和作图函数,也可在Matlab中调用C代码生成的动态链接库文件,用以加快执行速度.缩短开 ...

  5. HTML--7JavaScript的DOM操作

    1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Window对象操作 一.属性和方法: 属性(值或者子对象): op ...

  6. 使用开源工具MonoDevelop开发GTK#图形界面

    转自:http://developer.51cto.com/art/201011/235040.htm Mono一直到现在的2.8已经完全可以胜任一些比较小的项目了,但相关的开发文档与教程一直比较匮乏 ...

  7. (转)经典收藏 50个jQuery Mobile开发技巧集萃

    (原)http://www.cnblogs.com/chu888chu888/archive/2011/11/10/2244181.html 经典收藏 50个jQuery Mobile开发技巧集萃   ...

  8. php空心菱形

    <?php for($i=1;$i<=9;$i++){ for($j=1;$j<=9-$i;$j++){ echo " "; } for($k=1;$k<= ...

  9. STL源码分析----神奇的 list 的 sort 算法实现

    STL中有一个std::sort算法,但它是不支持std::list的,因为list不提供RandomIterator的支持,但list自己提供了sort算法,把list的元素按从小到大的方式来排序, ...

  10. HDOJ-三部曲-1002-Etaoin Shrdlu

    ContestsProblemsRanklistStatusStatistics Etaoin Shrdlu Time Limit : 2000/1000ms (Java/Other)   Memor ...