Linux 下回收站机制

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

功能:

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

步骤1

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

  • 家目录(~)新建一个隐藏文件夹: mkdir .trash
  • 家目录(~)新建tool文件夹,存放remove.sh, 脚本内容如下 :
    • 脚本主要是把文件根据当前日期重命名,移动到.trash
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, 增加一行
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删除时会自动跳过

参考

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏余生开发

ionic创建过程

编译成功后会在项目下的platforms/android/build/outputs/apk里面生成生成默认名字为android-release-unsigne...

20650
来自专栏三木的博客

Shell常用命令小结

1、ls:这是linux里最常用的命令,像数学里的1一样,简单但很重要。类似于dos里的dir命令,该命令的功能是列出目录下的文件或子目录。 -a:显示所有文件...

20880
来自专栏nummy

python 命令行选项

一般的,我们使用python执行x.py代码的时候,不需要添加任何命令行选项参数,但是其实了解下这些选项对我们的开发还是有很大帮助的。 python有如下命令...

10910
来自专栏潘佳宇的专栏

如何创建属于你自己的域名邮箱

有域名,就有个人域名邮箱。 通过域名邮箱的使用,再也不用靠记住9位数的 QQ 号码的邮箱地址了,方便快捷。所以,本文给大家分享,如何利用云服务器和申请到的域名搭...

7.3K00
来自专栏网站漏洞修补

网站漏洞修复对于网站清除木马的解决办法

THINKPHP漏洞修复,官方于近日,对现有的thinkphp5.0到5.1所有版本进行了升级,以及补丁更新,这次更新主要是进行了一些漏洞修复,最严重的就是之前...

24630
来自专栏H2Cloud

FF ASIO 异步消息网络框架

在前边 https://cloud.tencent.com/developer/article/1056482 我提到,针对前面使用boost asio 中遇到...

32430
来自专栏linux驱动个人学习

linux交换空间

swap空间有两种形式:一是交换分区,二是交换文件。总之对它的读写都是磁盘操作。 linux内存通过 virtual memory 虚拟内存来管理整个内存, 虚...

43870
来自专栏cnblogs

nodejs 命令行、自定义

一、必备插件 1. babel:es6语法支持,需要babel-perset-es2015(转换成es5执行)、babel、babel-core(程序执行) 2...

29960
来自专栏linux运维学习

linux学习第十二篇:usermod命令,用户密码管理,mkpasswd命令

usermod命令 usermod:更改用户属性的命令 用法: usermod -u 111 user1   //修改用户user1的uid为111 userm...

22560
来自专栏编程

中间件漏洞检测框架利器F-MiddlewareScan

介绍 纯python编写的轻量级中间件漏洞检测框架,实现针对中间件的自动化检测,端口探测->中间件识别->漏洞检测->获取webshell 漏洞检测脚本以插件形...

31060

扫码关注云+社区

领取腾讯云代金券