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删除时会自动跳过

Trash-Cli

直接安装 trash-cli 工具,即可完成替代rm 的功能

参考

  • Linux防止 "rm -rf "误删除
  • 工具参考篇
  • linux safe-rm
  • safe-rm 官网
  • Linux 下利用trash替换rm
  • Trash-Cli:Linux 上的命令行回收站工具

Linux 下回收站机制相关推荐

  1. 从一道面试题谈linux下fork的运行机制

    http://kb.cnblogs.com/page/76622/ 今天一位朋友去一个不错的外企面试linux开发职位,面试官出了一个如下的题目: 给出如下C程序,在linux下使用gcc编译: #i ...

  2. 机制 linux_从一道面试题谈linux下fork的运行机制

    今天一位朋友去一个不错的外企面试linux开发职位,面试官出了一个如下的题目: 给出如下C程序,在linux下使用gcc编译: #include "stdio.h" #includ ...

  3. LINUX下FORK的运行机制详细解析

    摘要:由于fork函数运行机制的复杂性,造就了当两个fork并排时,问题就变得很复杂.解这个题的关键,一是要对linux下进程的机制有一定认识,二是抓住上文提到的几个关于fork的关键点. 今天一位朋 ...

  4. Linux下触摸屏驱动程序分析

    [摘要: 本文以 linux 3.5--Exynos4412仄台,剖析 触摸屏 驱动焦点内容.Linux下触摸屏驱动(以ft5x06_ts为例)须要懂得以下学问: 1. I2C协定 2. Exynos ...

  5. Linux下进程间通信方式之管道、信号、共享内存、消息队列、信号量、套接字

    /* 1,进程间通信 (IPC ) Inter-Process Communication比较好理解概念的就是进程间通信就是在不同进程之间传播或交换信息.2,linux下IPC机制的分类:管道.信号. ...

  6. linux 进程 读写锁,linux 下实现高性能读写锁(read/write lock)

    前一篇文章分析了Windows slim read/write lock的工作原理.我们知道它的设计相当精妙,于是我们可以借鉴它的思路来设计linux下的读写锁. 在这个读写锁的设计上,需要注意的是l ...

  7. vss2010c语言怎么运行,在Linux下使用gcc运行C语言程序

    Linux下使用最广泛的C/C++编译器是GCC,大多数的Linux发行版本都默认安装,不管是开发人员还是初学者,一般都将GCC作为Linux下首选的编译工具.本教程毫不犹豫地使用GCC来编译C程序. ...

  8. linux 恢复回收站,避免误删文件:Linux回收站机制(升级版)

    昨日凌晨精神恍惚,误删了在虚拟机中写的程序文件,谷歌度娘数据恢复方法失败,使昨天的工作功亏一篑,幸好程序改动不多.现准备在所有服务器用机制来解决误删问题.这样总比花时间恢复付出的代价小得多把. 脚本说 ...

  9. Linux下的图标与文件关联机制:freedesktop

    Linux下的图标与文件关联机制:freedesktop 目前主流的Linux发行版中,使用的桌面基本都是基于GNOME.KDE.Xfce等环境,这几种桌面环境中,关于桌面图标,文件关联,应用程序启动 ...

最新文章

  1. XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件
  2. docker学习笔记(二)创建自己的镜像
  3. mysql left join 右表数据不唯一的情况解决方法
  4. 【转载】全球天然气探明储量
  5. Java线程的6个状态及状态的间的转换
  6. 最佳75个安全工具介绍及其下载地址
  7. 联想 m73 黑苹果 软路由 esxi AIO
  8. Qt 3D 学习路径规划
  9. deepin linux 安装jdk,deepin安装JDK
  10. win7调整屏幕亮度_win7系统设置护眼色后,不生效怎么办?
  11. 量化交易入门--写第一个量化程序
  12. Win11如何查看硬盘型号?Win11查看硬盘型号步骤
  13. 2023年天津天狮学院专升本微信收费平台缴费使用步骤
  14. 为了找出羞羞视频,百度云居然有“娇喘模式”
  15. mysql error1205 博客_Mysql Error:1205错误诊断
  16. 学习用HTML做新闻摘要
  17. 批处理为win7桌面添加计算机图标,win7桌面图标不见了图文解决方案
  18. 又一家中国IC进军IPO:年出货上亿颗,在做Type-C 8K芯片
  19. [附源码]Nodejs计算机毕业设计汽车维修服务系统Express(程序+LW)
  20. android 皮肤包换肤之Resources加载(一)

热门文章

  1. MatLab实现的ftt大数乘法
  2. win10要关闭自动更新吗?看完你就有答案了
  3. 史玉柱和郭广昌谈创业团队管理:两种类型的“孔雀王”
  4. 光谱分析有哪些最新发表的毕业论文呢?
  5. 数值计算笔记之数值积分(一)
  6. 网络笔记(29) 容器网络:来去自由的日子,不买公寓去合租
  7. Modbus转Modbus TCP的几种姿势
  8. 微信小程序开发—背景图片全屏(无白条)
  9. 【有利可图网】PS实战系列:制作抖音UI图标
  10. 【Word】论文的章标题以汉字编号,图、表以数字编号的实现