时间:2021-05-23
今天在终端下,看到我的用户目录下有个~的文件夹(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
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一.功能简介1.将删除的文件放在回收站中2.恢复删除的文件3.实现linuxrm命令的功能,使用起来几乎和linux系统自带的rm,命令完全一样4.新增功能:r
怎么清空回收站? 回收站是一个特殊的文件夹,默认在每个硬盘分区根目录下的RECYCLER文件夹中,而且是隐藏的。当你将文件删除并移到回收站后,实质上就是把它放
怎么清空回收站? 回收站是一个特殊的文件夹,默认在每个硬盘分区根目录下的RECYCLER文件夹中,而且是隐藏的。当你将文件删除并移到回收站后,实质上就是把它放
回收站是硬盘上的一块区域。回收站是一个特殊的文件夹,默认在每个硬盘分区根目录下的RECYCLER文件夹中,而且是隐藏的。当你将文件删除并移到回收站后,实质上就是
文件删除后会先进入回收站,可以在回收站中还原。本文就介绍一下一种使删除的文件不进入回收站的方法。1、打开”回收站“2、回收站中的文件是可