zoukankan      html  css  js  c++  java
  • 将linux下的rm命令改造成移动文件至回收站【转】

    转自:http://blog.csdn.net/a3470194/article/details/16863803

    [-]
    
    将linux下的rm命令改造成移动文件至回收站
    将AIX下的rm命令改造成移动文件至回收站
     
    将linux下的rm命令改造成移动文件至回收站
    
    rm是Linux下文件删除的命令,它是Linux下非常强大却又非常危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有文件和目录时,很简单 #rm -rf ./* 这没什么,但是,但是如果不小心打成这样 #rm -rf /* 兄弟请节哀吧!~~ rm删除文件同时删除inode信息,这使得使用rm删除的文件十分难恢复。总之rm太危险了,特别是带有-rf参数时一定要慎之又慎,但老虎也有打盹的时候啊,所以为什么不给rm一剂后悔药呢! 经过在网上不断的寻找,我找到了一段将rm命令改造为把文件移动到一个指定的回收站目录下,然后可以查看回收站目录下的文件,然后在清空回收站目录彻底删除文件的一段代码,这短代码的原始出处已经无从考究,但本着独乐乐不如众乐乐的精神把它分享出来!
    
    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/*
    
      } #这个函数的作用是清空回收站目录下的所有文件
    
    这段代码定义了三个函数trash、undelfile和cleartrash。trash的作用是移动文件到指定的回收站目录;undelfile的作用是找回回收站目录中的指定文件;cleartrash的作用是清空回收站目录。经rm命令别名为trash来实现rm命令的改造!下面是我修改后的代码,直接在用户家目录下创建。trash目录作为回收站,将其它代码加入用户家目录下的.bashrc文件下,这样用户每次登录这段代码就会自动生效!登录后在bash下执行一遍下面的命令就可以把rm命令改造成删除文件到回收站了!
    
    mkdir -p ~/.trash
    
    cat >> .bashrc <<EOF
    
    alias rm=trash
    
    alias rl='ls ~/.trash'
    
    alias ur=undelfile
    
    undelfile()
    
    {
    
      mv -i ~/.trash/ $@ ./
    
    }
    
    trash()
    
    {
    
      mv$@ ~/.trash/
    
    }
    
    cleartrash()
    
    {
    
       read -p "clear sure?[n]" confirm
    
        [$confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/*
    
    }
    
    EOF
    
    =========================
    
     
    
    实例:
    
    
     
    
    mkdir -p ~/.trash       ----创建一个文件夹,用作垃圾桶。
    
     
    
     
    
     
    
    将AIX下的rm命令改造成移动文件至回收站
    
     
    
    mkdir -p /.trash #创建一个目录作为回收站,这里使用的是用户家目录下的.trash目录
    
    alias rm=trash #命令别名 rm改变为trash,通过将rm命令别名值trash来实现把rm改造成删除文件至回收站
    
    alias rl=’ls ~/.trash’ # rl 命令显示回收站中的文件
    
    alias ur=undelfile # ur命令找回回收站中的文件
    
    alias cleartrash=cleartrash  #命名清楚垃圾桶中所有垃圾
    
     
    
    把下面的脚本加入/etc/profile中:
    
    alias rm=trash
    
    alias rl='ls/.trash'
    
    aliasur=undelfile
    
    aliasrmcls=cleartrash
    
     
    
    trash()
    
    {
    
      mv $@ /.trash/
    
    }
    
     
    
    undelfile()
    
    {
    
      mv -i /.trash/$@ ./
    
    }
    
    cleartrash()
    
    {
    
        echo -n "clear sure?[n]"
    
       read I
    
    [ $I == 'y' ] || [ $I == 'Y' ] && /bin/rm -rf /.trash/*
    
    }
     
  • 相关阅读:
    git add 添加错文件 撤销
    工作流Activiti5.13学习笔记(一)
    instanceof, isinstance,isAssignableFrom的区别
    oracle表查询速度极慢的处理过程记录一下
    类里面的成员变量如果是public,为什么破坏封装
    IPv4 IPv6验证
    枚举使用
    XML之命名空间的作用(xmlns)
    XSD-JAVA
    jaxb
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/5885183.html
Copyright © 2011-2022 走看看