### 重定义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 来进行删除。

最新文章

  1. swfupload纠结bug总结
  2. MySQL Cluster 集群简介
  3. FTPClient使用中的问题--获取当前工作目录为null
  4. Delphi 时间耗时统计
  5. 这次一定理清晰ThinkPHP之中的模型、数据库之间命名规范
  6. [CSS3 Animation] TweenMax.staggerTo()
  7. Linux卸载系统自带的httpd的方法
  8. JMS基础(2)
  9. Microsoft HoloLens 技术解谜(上)
  10. span元素之间的间距
  11. Effective Java2读书笔记-类和接口(五)
  12. DDD分层架构之领域实体(验证篇)
  13. 从开发者角度解析 Android N 新特性!
  14. 【swoole】如果使用好定时器功能
  15. Greenplum扩容
  16. 1.4分布式-通讯协议TCP/IP
  17. 第四章:4.0 python常用的模块
  18. DotNetCore学习-2.程序启动
  19. 关于Java大数操作(BigInteger、BigDecimal)
  20. AJAX开发技术

热门文章

  1. 联合迭代器与生成器,enumerate() 内置函数真香!
  2. Vulnhub -- DC4靶机渗透
  3. 基于Vue2和Node.js的反欺诈系统设计与实现
  4. asp.net core的输入模型验证
  5. WPF 中的 button style 的修改
  6. Mybatis出现错误org.apache.ibatis.executor.ExecutorException: No constructor found in
  7. PB代码转JAVA工具
  8. CentOS_Server with GUI入门
  9. roslaunch保存的log文件没有打印的ERROR信息
  10. Gogs (Go git server) 使用笔记