ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux运维小细节之回收站

2021-03-20 18:01:09  阅读:177  来源: 互联网

标签:运维小 qq 回收站 Linux rm trash root localhost


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

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

        清空了!

        测试结束!

        至此实验结束!


标签:运维小,qq,回收站,Linux,rm,trash,root,localhost
来源: https://blog.51cto.com/12760547/2666771

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有