• 将linux下的rm命令改造成mv到指定的目录下


       rm是Linux下文件删除的命令,它是Linux下非常强大却又非常危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有文件和目录时,很简单
    #rm -rf ./*
    这没什么,但是,但是如果不小心打成这样
    #rm -rf /*
    兄弟请节哀吧!~~
    rm删除文件同时删除inode信息,这使得使用rm删除的文件十分难恢复。总之rm太危险了,特别是带有-rf参数时一定要慎之又慎,但老虎也有打盹的时候啊,所以为什么不给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() //这个函数是将指定的文件移动到指定的目录下,通过将rm命令别名值trash来实现把rm改造成删除文件至回收站 
    {  
      mv $@ ~/.trash/  
    }  
    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命令改造成删除文件到回收站了!

    这里我用到的是:

    [root@10-19-73-64 ~]# mkdir /data/rubbish
    [root@10-19-73-64 ~]# vim .bashrc #添加以下字段 #修改rm ##### alias rm=trash alias r=trash alias rl='ls /data/rubbish' alias ur=undelfile undelfile() { mv -i /data/rubbish/$@ ./ #mv -i ~/.trash/$@ ./ } trash() { mv $@ /data/rubbish }


    [root@10-19-73-64 ~]# source .bashrc 



    这个时候我们可以定时的去清理以下垃圾箱

  • 相关阅读:
    分析NGINX 健康检查和负载均衡机制
    基于ASIO的协程库orchid简介
    基于ASIO的协程与网络编程
    Boost.Asio技术文档
    Linux升级命令yum upgrade和yum update的区别
    yum和apt-get的用法和区别
    Linux-centos7设置静态IP地址
    Linux-各种姿势(lessvi等)打开各种类型的文件(txt/csv/xlsx等)出现不能打开(全乱码、部分乱码、二进制文件等)的问题
    Excel-vlookup(查找值,区域范围,列序号,0)如何固定住列序列号,这样即使区域范围变动也不受影响
    EXCEL-名称管理器
  • 原文地址:https://www.cnblogs.com/smail-bao/p/6347347.html
Copyright © 2020-2023  润新知