码迷,mamicode.com
首页 > 其他好文 > 详细

我们来自己弄个回收站玩玩吧

时间:2015-11-21 01:51:54      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:

  今天看到一个帖子,讲数据误删之后怎么恢复。在后面的跟帖中发现了一个比较好玩的东西,他的原话是这样的:

技术分享

觉得挺好玩的,于是决定自己弄着试试。

  先来建个目录做回收站吧,我选择在根目录下建了一个trash的隐藏文件夹用作回收站:mkdir /.trash

  来看一眼建立的回收站吧:ll -a /|grep .trash    技术分享

  然后我查了查mv的用法:man mv。在里面,有这么一个参数

                                    技术分享

这样一来就明显了,我需要把“rm *”替换成“mv -t /.trash -i *”,然后就大功告成了。既然准备自己定义命令,当然离不开alias:alias rm=‘mv -t /.trash -i‘

  然后我们看看alias的列表:alias    技术分享  这一条就是新添加的。

  我们来试试有没有作用吧,先随便新建一个文件:touch test.test,然后用rm删除:rm test.test。ls查看,发现test.test确实不见了,那么是不是被移到回收站“/.trash”中了呢,去看看吧:ls /.trash    技术分享果然在回收站。

  至此,功能已经实现。但是想到一个问题,如果我确实想要删除文件怎么办?我试着删除回收站中的文件:rm /.trash/test.test 得到提升  mv: "/.trash/test.test" 与"/.trash/test.test" 为同一文件   。这可麻烦了,难道每次删除文件都只能通过 /bin/rm 来实现了吗?算了,一不做二不休,干脆在加一条自定义命令吧:alias rrm=‘/bin/rm -i‘    这里不能写成“rrm=‘rm -i‘”   因为rm已经被替换成‘mv -t /.trash -i‘了。然后我们来试试rrm指令:rrm /.trash/test.test    技术分享输入y确认,最后成功删除了test.test文件。

 

  alias指令是单次生效的,关机后下次开机就没有了,为了保证下次开机指令的功能保持,我们可以修改~/.bashrc 文件。.bashrc文件有这么一句话“User specific aliases and functions”,我们可以把自己想要定义的别名都写在这个文件里。把文件里原有的  alias rm=‘rm -i‘ 注释掉,加上  alias rrm=‘/bin/rm -i‘ 和  alias rm=‘mv -t /.trash -i‘ 两句。ok,现在这个功能就永远留存下来了~~

我们来自己弄个回收站玩玩吧

标签:

原文地址:http://www.cnblogs.com/Toonter/p/4982824.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!