前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 下回收站机制

Linux 下回收站机制

作者头像
程序手艺人
发布2018-05-18 15:32:42
3K0
发布2018-05-18 15:32:42
举报
文章被收录于专栏:程序手艺人程序手艺人

Linux下删除文件不像Windows那样,删除文件放入回收站. 而是通过rm 命令删除文件.文件一般无法找回, 就是这种机制,每次带来的都是巨大的教训. 为此这里实现一个简易的回收站机制:

功能:

  • rm 删除的文件备份到指定的文件夹
  • 每天定时清理 

步骤1

写个shell脚本替换rm命令,或者在需要删除文件的时候使用mv命令将文件移动到回收站.

  • 家目录(~)新建一个隐藏文件夹: mkdir .trash
  • 家目录(~)新建tool文件夹,存放remove.sh, 脚本内容如下 :
    • 脚本主要是把文件根据当前日期重命名,移动到.trash
代码语言:javascript
复制
TRASH_DIR="~/.trash"  
for i in $*; do  
    STAMP=`date +%m-%d-%H:%M:%S`  
    fileName=`basename $i`  
    mv $i $TRASH_DIR/$fileName.$STAMP  
done

步骤2

实现rm 命令和remove.sh 脚本的绑定 

  • 修改~/.bashrc, 增加一行
代码语言:javascript
复制
alias rm="sh ~/tools/remove.sh"
  • alias命令用来设置指令的别名,相当于执行rm,实际执行的是remove.sh
  • source ~/.bashrc 使替换立即生效

步骤3

定时清空垃圾箱.trash, 通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本

  • 编辑crontab文件中条目: crontab -e
  • 添加: 0 0 * * * rm -rf ~/.trash/* .表示每天的0点0分删除 .tarsh文件中的内容

如果以上步骤感觉比较繁琐,有一个简单的方法,实现上面的基本功能.

safe-rm

safe-rm 是一个开源软件用来替代不太安全的rm,可以在/etc/safe-rm.conf中配置路径黑名单,定义哪些不能被safe-rm删除

  • 不想删除文件写入/etc/safe-rm.conf, rm删除时会自动跳过

参考

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年03月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 功能:
    • 步骤1
      • 步骤2
        • 步骤3
          • safe-rm
          • 参考
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档