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

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

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

  先来建个目录做回收站吧,我选择在根目录下建了一个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,现在这个功能就永远留存下来了~~

转载于:https://www.cnblogs.com/Toonter/p/4982824.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值