今天在终端下,看到我的用户目录下有个~的文件夹(maven生成),相要删除收回点空间,习惯性的用命令 rm -rf ~ ,一回车,猛然想起的时候已经来不及了,世界一下子清静了,想死的心都有了!

没错,~指定的是当前用户的目录,我的用户名是liyd,相当于是执行了rm -rf /home/liyd,所有的文件都删除了。试了linux下的各种文件恢复方法,都不理想,ext4格式,找回来的比率太小了,还要在一大堆乱文件中查找需要的,唉!所幸没什么特别重要的文件,代码都git和svn提交了,损失还能接受。

这次是~,下次要是误敲个其它的说不定会更杯具,经过这个教训,想着能不能有方法将rm命令删除的文件先放到回收站呢,留点误删后悔的余地,网上一查,还真有。

看了下,基本上是偷换了概念,把rm命令转换成了mv命令,但是能够达到我想要的效果,只不过在习惯性的敲入-r 参数时会报出一个错误,因为mv命令没有-r参数嘛,下面是方法:

原理是在用户主目录下创建一个隐藏文件夹~/.trash作为垃圾回收站。

代码如下:

mkdir -p ~/.trash 
vi ~/.bashrc

然后把以下代码写入~/.bashrc后,保存一下。

代码如下:

alias rm='trash' 
alias rl='trashlist' 
alias ur='undelfile' 
#替换rm指令移动文件到~/.trash/中 
trash() 

mv $@ ~/.trash/ 

#显示回收站中垃圾清单 
trashlist() 

echo -e "33[32m==== Garbage Lists in ~/.trash/ ====33[0m" 
echo -e "\a33[33m----Usage------33[0m" 
echo -e "\a33[33m-1- Use 'cleartrash' to clear all garbages in ~/.trash!!!33[0m" 
echo -e "\a33[33m-2- Use 'ur' to mv the file in garbages to current dir!!!33[0m" 
ls -al ~/.trash 

#找回回收站相应文件 
undelfile() 

mv -i ~/.trash/$@ ./ 

#清空回收站 
cleartrash() 

echo -ne "\a33[33m!!!Clear all garbages in ~/.trash, Sure?[y/n]33[0m" 
read confirm 
if [ $confirm == 'y' -o $confirm == 'Y' ] ;then 
/bin/rm -rf ~/.trash/* 
/bin/rm -rf ~/.trash/.* 2>/dev/null 
fi 
}

在命令行下面刷新一下环境配置,即可生效:

代码如下:

source ~/.bashrc

linux中使用rm命令将文件移到回收站的方法的更多相关文章

  1. 【转】Linux 中清空或删除大文件内容的五种方法(truncate 命令清空文件)

    原文: http://www.jb51.net/article/100462.htm truncate -s 0 access.log -------------------------------- ...

  2. Ubuntu中恢复rm命令误删文件(转)

    计算机系统:Ubuntu 16.04 1 背景 在做项目的时候,本来想使用rm命令删除以14开头的文件,结果写成如下形式: rm 14 * 注意,本来14和*之间不应该有空格的,但是误写了一个空格,结 ...

  3. Linux基础教程 linux中使用find命令搜索文件常用方法记录

    find是linux非常强大的搜索命令,通过man find查看find手册,可以发现find的说明一屏接一屏,估计要看完也得花不少时间.兄弟连Linux培训 小编总结了下,整理出find常用的使用方 ...

  4. Linux中通过grep命令检索文件内容和指定内容前后几行

    原文链接: https://www.linuxidc.com/Linux/2017-11/148390.htm Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命 ...

  5. [译]在Linux中清空或删除大文件内容的5种方法

    原文来源: https://www.tecmint.com/empty-delete-file-content-linux/ 有时,在处理Linux终端中的文件时,您可能希望清除文件的内容,而无需使用 ...

  6. ubuntu中恢复rm命令误删文件

    步骤: 1.对于文件系统为ext3文件系统 使用命令:sudo apt-get install ext3grep. 对于文件系统为ext4文件系统 使用sudo apt-get install ext ...

  7. linux中通过date命令获取昨天或明天时间的方法

    date命令可以获取当前的时间,通过man,可以看到date有很多参数可以用,很容易做到格式化 # 获取当前日期 date +"%F" 或者 date +"%Y-%m-% ...

  8. 【Linux】linux中通过date命令获取昨天或明天时间的方法

    date +"%F" 输出格式:2011-12-31 date +"%F %H:%M:%S" 输出格式:2011-12-31 16:29:50 这都是打印出系统 ...

  9. linux下修改rm命令防止误删除

    前言:相信很多朋友都遇到过在linux下用rm命令误删除文件的时候,此刻的心中仿佛有无数的羊驼在奔腾.那么怎么防止这种情况发生呢?当然是有方法的,我们可以写一个shell脚本,改变一下rm命令的作用. ...

随机推荐

  1. discuz安装,uc_server目录下乱码问题:

    uc_server是gbk格式的情况,放服务器上,国外服务器环境可能会乱码百度检索的语句很重要,一开始,找vim编辑文本格式的问题,后来想批量解决服务器上文件格式~~~后百度:有没有其他人安装uc_s ...

  2. Centos7中使用ipset

      1.禁用firewalld systemctl stop firewalld systemctl disable firewalld   2.安装ipset yum -y install ipse ...

  3. AndroidStudio环境搭建

    简单记录一下AS的环境搭建过程,包括SVN的使用. 一.下载和安装JDK 地址:http://www.oracle.com/technetwork/java/javase/downloads/inde ...

  4. How to Evaluate Machine Learning Models, Part 4: Hyperparameter Tuning

    How to Evaluate Machine Learning Models, Part 4: Hyperparameter Tuning In the realm of machine learn ...

  5. 利用ChainMap进行多字典合并

    aa = [{105199: 'https://picx0.jpeg'}, {105187: 'https://picx1.jpeg'}, {105170: 'https:picx2.jpeg'}, ...

  6. 使用CSS3创建文字颜色渐变(CSS3 Text Gradient)

    考虑一下,如何在网页中达到类似以下文字渐变的效果? 传统的实现中,是用一副透明渐变的图片覆盖在文字上.具体实现方式可参考 http://www.qianduan.net/css-gradient-te ...

  7. LintCode 391: Count Of Airplanes

    LintCode 391: Count Of Airplanes 题目描述 给出飞机的起飞和降落时间的列表,用 interval 序列表示. 请计算出天上同时最多有多少架飞机? 样例 对于每架飞机的起 ...

  8. 【CodeForces】915 F. Imbalance Value of a Tree 并查集

    [题目]F. Imbalance Value of a Tree [题意]给定n个点的带点权树,求所有路径极差的和.n,ai<=10^6 [算法]并查集 [题解]先计算最大值的和,按点权从小到大 ...

  9. 深入理解Spring系列之十:DispatcherServlet请求分发源码分析

    转载 https://mp.weixin.qq.com/s/-kEjAeQFBYIGb0zRpST4UQ DispatcherServlet是SpringMVC的核心分发器,它实现了请求分发,是处理请 ...

  10. docker之构建redis-cluster集群

    下载和编译redis安装包 参考:https://www.cnblogs.com/cwp-bg/p/8094914.html # 从官方网站下载安装包,注意,当前在哪个目录下执行命令,下载的包将在哪个 ...