zoukankan      html  css  js  c++  java
  • 重新嫁接rm命令


    ### 重定义rm命令 ###

    # 定义回收站目录
    trash_path='~/.trash'

    # 判断 $trash_path 定义的文件是否存在,如果不存在,那么就创建 $trash_path.
    if [ ! -d $trash_path ]; then
    mkdir -p $trash_path
    fi

    # 定义别名:使用 rm 就调用 trash
    alias rm=trash

    # 使用 rl 就调用 'ls ~/.trash'
    # 如果更改上面的回收站目录这里的目录也需要修改
    alias rl='ls ~/.trash'

    # 使用 unrm 就调用 restorefile,需要在删除目录的父目录下执行
    alias unrm=restorefile

    # 使用 rmtrash 就调用 claearteash
    alias rmtrash=cleartrash

    # 恢复文件的函数
    restorefile()
    {
    mv -i ~/.trash/$@ ./
    }

    # 删除文件的函数
    trash()
    {
    mv $@ ~/.trash/
    }

    # 清空回收站的函数
    cleartrash()
    {
    read -p "确定要清空回收站吗?[y/n]" confirm
    [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/*
    }

    最后将上述脚本写入 /etc/bashrc,并立即执行命令 source /etc/bashrc 即刻生效。

    原文地址https://hoxis.github.io/linux-rm-2-mv.html
    • rl:查看回收站下的文件
    • unrm 文件名或目录:恢复到当前的路径下
    • rmtrash:清空回收站,不过会友好提示。

    执行 rm 不会真正删除,而是使用 mv 移动到我们指定的回收站。

    实在真的想删除可以 /bin/rm 来进行删除。

  • 相关阅读:
    一:字符串中匹配中文
    flask+gevent的异步框架
    linux常见的操作指令
    Markdown语法
    Git常用操作
    Vim
    IDEA使用汇总
    Maven基本使用汇总
    Zookeeper问题汇总
    编程最佳实践
  • 原文地址:https://www.cnblogs.com/cy0917/p/10168631.html
Copyright © 2011-2022 走看看