作者:张岩峰,转载请注明出处     笔名:云烟旧梦

51CTO课程地址:https://edu.51cto.com/lecturer/12750547.html    Linux技术交流群:1127825548


        我们都知道“rm -rf”这个命令很危险,命令敲得多了,难免会失误。常在河边走,难免会湿鞋!

        在生产环境下,如果在你文件没备份,你一个手误,敲错了命令,把原本想要留下的文件夹给rm -rf掉了。几天心血全没了,靠,想死的心都有了!当然心态还得稳住!


几点教训:

        1、rm特别是rm -rf之前,小心,三四,或者直接将命令改写掉。

        2、做好备份,有便捷的备份脚本。

        3、做好定时备份,有个前辈搞定时脚本,每天定时自个执行,即使删错了也不会那么悲催。


        实验目的:我们就是要在linux服务器上弄一个windows系统上一样的回收站,这样即使我们删错了文件,也可以通过回收站找回,可以极大的减少我们的损失!(这是运维的一个小细节)


实验开始:

        rm命令被移除

        rl命令是查看回收站内容,相当于ls 回收站。

        ur命令是恢复指定文件。

        cleartrash命令是清空回收站。


首先,先搞个回收站

        [root@localhost ~]# mkdir -p ~/.trash

        在~下.bashrc或者bash_profile加入如下内容

        [root@localhost ~]# vi ~/.bash_profile

        alias rm=trash

        alias r=trash

        alias rl='ls ~/.trash'

        alias ur=undelfile


        undelfile()

        {

          mv -i ~/.trash/$@ ./

        }


        trash()

        {

          mv $@ ~/.trash/

        }

        [root@localhost ~]# . ~/.bash_profile

        注意:rm就相当于执行mv了,此时已经没有rm -rf了,删除的文件会在.trash中出现,所以我们就可以恢复回去了。


测试回收站主功能:

        创建/qq文件夹并删除,看一下回收站是否存在。

        [root@localhost ~]# mkdir /qq

        [root@localhost ~]# rl

        [root@localhost ~]# rm -f /qq

        [root@localhost ~]# rl

        qq        <==存在

        恢复回收站文件,需要指定文件名,或者可以直接进入文件夹mv出去!

        [root@localhost ~]# ll

        total 4

        -rw-------. 1 root root 1193 Nov 30 03:41 anaconda-ks.cfg

        [root@localhost ~]# ur qq

        [root@localhost ~]# ll

        total 4

        -rw-------. 1 root root 1193 Nov 30 03:41 anaconda-ks.cfg

        drwxr-xr-x. 2 root root    6 Feb  3 22:49 qq

        注意:使用ur命令恢复文件只会将文件恢复到用户家目录下。

        测试结束!


这里就出现了一个问题,如果删除回收站里的东西,rm命令在这里是没用的。

        在.bashrc加函数

        [root@localhost ~]# vi .bashrc

        cleartrash()

        {

        read -p "clear sure?[n]" confirm

        [ $confirm == "y" ] || [ $confirm == "Y" ] && /usr/bin/rm -rf ~/.trash/*

        }

        $..bashrc

        [root@localhost ~]# . ~/.bashrc

        然后,如果想清空回收站的话,使用“cleartrash”命令就可以了。


测试回收站清空功能:

        [root@localhost ~]# rl

        [root@localhost ~]# rm -f qq/

        [root@localhost ~]# rl

        qq

        [root@localhost ~]# cleartrash 

        clear sure?[n]y

        [root@localhost ~]# rl

        清空了!

        测试结束!

        至此实验结束!


©著作权归作者所有:来自51CTO博客作者ssdsscvsscg的原创作品,如需转载,请注明出处,否则将追究法律责任

每一份赞赏源于懂得

赞赏

0人进行了赞赏支持

更多相关文章

  1. Linux运维小细节之回收站(二)
  2. Linux下增加2G的交换分区
  3. CentOS 7 安装以及配置桌面环境
  4. 统信UOS中普通用户忘记密码处理方法
  5. 统信UOS系统登录界面反复弹出
  6. find工具 查找文件或目录
  7. 好玩、有趣的 Linux 命令学习神器 kmdr!
  8. 小姐姐用动画图解Git命令,一看就懂!
  9. Git 从入坑到成神,你只需要敲一遍命令!

随机推荐

  1. Go语言结构体与初始化图文详解
  2. golang怎么把字符串转成Int类型
  3. golang如何打包
  4. golang判断字符是否存在字符串中
  5. golang用什么编辑器
  6. Golang怎么判断是否为ip
  7. golang怎么判断字符串是否为空
  8. golang怎么判断slice是否为空
  9. go语言环境vim配置详解
  10. Go语言使用正则表达式提取网页文本