将linux下的rm命令改造成移动文件至回收站

rmLinux下文件删除的命令,它是Linux下非常强大却又非常危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有文件和目录时,很简单 #rm -rf ./*这没什么,但是,但是如果不小心打成这样#rm -rf /* 请节哀吧!~~ rm删除文件同时删除inode信息,这使得使用rm删除的文件十分难恢复。总之rm太危险了,特别是带有-rf参数时一定要慎之又慎,但老虎也有打盹的时候啊,所以为什么不给rm一剂后悔药呢!

 
 
  1. mkdir -p ~/.trash #创建一个目录作为回收站,这里使用的是用户家目录下的.trash目录
  2. alias rm=trash #命令别名 rm改变为trash,通过将rm命令别名值trash来实现把rm改造成删除文件至回收站
  3. alias rl='ls ~/.trash' # rl 命令显示回收站中的文件
  4. alias ur=`undelfile` # ur命令找回回收站中的文件
  5. undelfile() #这个函数的作用是找回回收站下的文件
  6. {
  7. mv -i ~/.trash/\$@ ./
  8. }
  9. trash() #这个函数是将指定的文件移动到指定的目录下,通过将rm命令别名值trash来实现把rm改造成删除文件至回收站
  10. {
  11. mv $@ ~/.trash/
  12. }
  13. cleartrash() #这个函数的作用是清空回收站目录下的所有文件
  14. {
  15. read -p clear sure?[n]” confirm
  16. [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/*
  17. }

这段代码定义了三个函数trashundelfilecleartrashtrash的作用是移动文件到指定的回收站目录;undelfile的作用是找回回收站目录中的指定文件;cleartrash的作用是清空回收站目录。经rm命令别名为trash来实现rm命令的改造! 下面是直接在用户家目录下创建。trash目录作为回收站,将其它代码加入用户家目录下的.bashrc文件下,这样用户每次登录这段代码就会自动生效!登录后在bash下执行一遍下面的命令就可以把rm命令改造成删除文件到回收站了!

 
 
  1. mkdir -p ~/.trash
  2. cat >> .bashrc <<EOF
  3. alias rm=trash
  4. alias r=trash
  5. alias rl='ls ~/.trash'
  6. alias ur=undelfile
  7. undelfile()
  8. {
  9. mv -i ~/.trash/\$@ ./
  10. }
  11. trash()
  12. {
  13. mv \$@ ~/.trash/
  14. }
  15. cleartrash()
  16. {
  17. read -p "clear sure?[n]" confirm
  18. [ \$confirm == 'y' ] || [ \$confirm == 'Y' ] && /bin/rm -rf ~/.trash/*
  19. }
  20. EOF
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值