前言:

  linux系统下的rm是不可挽回的,命令设计本身没有问题,问题在于我们通常非常的自信,执行的时候喜欢rm -rf,这样的话就非常危险了,在执行的时候如果执行命令不对,甚至是执行的目录不对,那么将会造成很大的麻烦,轻则会导致加班加点,浪费人力物力,重则影响公司业务,更甚则有开除之虞,而windows下的回收站机制就是一个非常不错的策略,但linux并不自带,那我们就可以手动创建一个,直接执行就好:

  1. mkdir -p ~/.Trash
  2. cat >>~/.bashrc<<EOF
  3. #add by caimengzhi at $(date +%F) for Linux trash start
  4. alias rm=trash
  5. alias rl='ls ~/.Trash'
  6. alias ur=undelfile
  7. undelfile()
  8. {
  9. mv -i ~/.Trash/\$@ ./
  10. }
  11. trash()
  12. {
  13. mv \$@ ~/.Trash/
  14. }
  15. cleartrash()
  16. {
  17. read -p "Clear trash?[n]" confirm
  18. [ \$confirm == 'y' ] || [ \$confirm == 'Y' ] && /usr/bin/rm -rf ~/.Trash/*
  19. }
  20. #add by caimengzhi at $(date +%F) for Linux trash end
  21. EOF
  22. source ~/.bashrc

说明:

1. ~/.Trash就是以后被删除的文件和文件夹移动到的地方,也就是回收站

2. \$confirm 是实现验证的意思,也就是最后在文件中就是$confirm。其中\$@一样

3. 上面的作用,说白了就是命令rm 的重命名。

使用语法:

rm(删除),ur(撤销),rl(列出回收站),cleartrash(清空回收站)命令了。

#删除一个文件夹和文件都会被移动到回收站中。

$rm  filedirctory

#删除一个文件

$rm  file.txt

#撤销对file.txt的删除

$ur  file.txt

#撤销filedirctory文件夹

$ur  filedirctory

#列出回收站

$rl

#清空回收站

cleartrash

  ok,基本的内容就是这些,本质上来说,只是替换了root用户的rm命令为mv命令,如果系统建立了别的用户,那么也需要使用该用户重新执行上面的命令,看情况吧,如果失去了root权限,那么rm -rf的威力也就不足为惧了,当然,我们也需要执行正规的rm命令,怎么做呢,这样就ok了:

  1. /usr/bin/rm -rf

系统优化——建立linux回收站机制的更多相关文章

  1. linux回收站设计

    linux回收站设计 在windows下有一个很好的东西,那就是回收站,虽然有很多人批评它.linux不是没有回收站,很多桌面环境都可以看到是有回收站的. 这里是讨论如何设计一个回收站,而不是有没有的 ...

  2. Centos实现回收站机制

    作为一个运维人员,在服务器上删除文件时为了方便经常会直接使用rm *.txt这类通配符,甚至为了省事加-rf参数,如果是确定的话还好,要是在删除的时候一个不留神,那事可就大了. 俗话说常在河边站哪有不 ...

  3. Linux Namespaces机制

    转自:http://www.cnblogs.com/lisperl/archive/2012/05/03/2480316.html Linux Namespaces机制提供一种资源隔离方案.PID,I ...

  4. Linux select 机制深入分析

    Linux select 机制深入分析            作为IO复用的实现方式.select是提高了抽象和batch处理的级别,不是传统方式那样堵塞在真正IO读写的系统调用上.而是堵塞在sele ...

  5. Linux VFS机制简析(二)

    Linux VFS机制简析(二) 接上一篇Linux VFS机制简析(一),本篇继续介绍有关Address space和address operations.file和file operations. ...

  6. Linux VFS机制简析(一)

    Linux VFS机制简析(一) 本文主要基于Linux内核文档,简单分析Linux VFS机制,以期对编写新的内核文件系统(通常是给分布式文件系统编写内核客户端)的场景有所帮助. 个人渊源 切入正文 ...

  7. 从自旋锁、睡眠锁、读写锁到 Linux RCU 机制讲解

    ​    同步自我的 csdn 博客 6.S081 从自旋锁.睡眠锁.读写锁到 Linux RCU 机制讲解_我说我谁呢 --CSDN博客 总结一下 O/S 课程里面和锁相关的内容. 本文是 6.S0 ...

  8. Linux模块机制浅析

    Linux模块机制浅析   Linux允许用户通过插入模块,实现干预内核的目的.一直以来,对linux的模块机制都不够清晰,因此本文对内核模块的加载机制进行简单地分析. 模块的Hello World! ...

  9. ORACLE回收站机制介绍

    回收站概念 从ORACLE 10g开始,引入了一个叫回收站(Recycle Bin)的概念.它的全称叫Tablespace Recycle Bin.回收站实际是一个逻辑容器(逻辑区域),原理有点类似于 ...

随机推荐

  1. CentOS 7 安装 dnsmasq 服务 实现内网DNS

    目录 安装 配置 服务管理 测试解析 安装 废话不多述,上来就安装 yum install -y bind-utils dnsmasq 配置 [root@jenkins ~]# rpm -ql dns ...

  2. hello gulp,使用gulp的第一天。

    昨天花了一天的时间,学习了一下gulp,今天整理一下,也分享给朋友们. 首先当然是去gulp的官网逛一圈了: http://gulpjs.com/ 中文站地址: http://www.gulpjs.c ...

  3. eclipse m2eclipse 从Maven的本地库中读取依赖库

    在Mac pro的终端中执行命令 mvn package 后,已经把该工程所需要的依赖库(dependancies)下载到本地库,但在把该工程 import 到 eclipse中时,发现m2eclip ...

  4. luogu P5414 [YNOI2019]排序 |动态规划

    题目描述 对于一个数列{7, 1, 2, 3}进行排序,我们可以把7 从头移动到尾.但是这个操作的成本是7,并不是最佳的.最佳的排序方式是将连续的1.2.3 移动到7 的前面.这样的话,总的操作成本就 ...

  5. oracle逻辑存储结构

    oracle数据库管理系统有三个重要的概念:实例.数据库.数据库服务器.oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构.逻辑存储结构用于描绘Oracle内部组织和管理数据的方式,而物理 ...

  6. CocoaPods 详解之----更新篇

    CocoaPods 大概是 2011 年出现的开源组件管理工具(目前已支持 Objective-C 和 Swift),近年来普及率越来越高,几乎已是所有 Cocoa 开源项目的标配.另外,很多大点的团 ...

  7. [FPGA]Verilog 60s秒表计时器(最大可计时间长达9min)

    [FPGA]Verilog 60s秒表计时器 1.引述 这次的实验来自于本人本科课程数电结课时的自选题目.由于这次上传是后知后觉,学校已将小脚丫板子回收,所以在这篇文章中没法贴出代码结果的效果图了,但 ...

  8. Orleans 初接触(一) 入门例子

    [返回导航] 在简单了解了Orleans 之后我们可以通过几个例子去加深印象 一.Orleans入门例子 这个例子是跟着<Orleans入门例子>(https://www.cnblogs. ...

  9. JS基础-事件队列

    为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. JavaSc ...

  10. 小而美的GIF生成神器ScreenToGif

    起因 在写计算机图形学博客时,需要讲解一个算法,课本上抽象的语言未免让人读着头大,还在老师给的PPT中有代码的演示,我就想将演示做出GIF动图帮助读者理解算法,其实之前浪迹博客园的时候就发现有许多博主 ...