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

时间:2022-12-11 11:31:43

参考: rm改造

问题来源: rm命令在Linux下是致命的,特别是加上-rf选项,这样非常难恢复。

解决方法:

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

将上述代码写入.bashrc即可