给 “rm” 命令添加个“回收站”,再也不用担心误删文件了!
Posted 奇妙之二进制
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给 “rm” 命令添加个“回收站”,再也不用担心误删文件了!相关的知识,希望对你有一定的参考价值。
1.rm命令解析
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
2.为rm命令添加“垃圾桶”
①将存储库克隆到新创建的目录中,移动到/bin(二进制可执行文件)目录
$ git clone https://github.com/lagerspetz/linux-stuff
$ sudo mv linux-suff/scripts/saferm.sh /bin
②为rm设置别名为saferm.sh
在~/.bashrc
最末尾添加alias rm=saferm.sh
③执行下面的命令使其生效,
$ source ~/.bashrc
3.rm垃圾桶效果展示
$ rm -rf linux-stuff
Moving linux-stuff to /home/xx/.local/share/Trash/files
查看下垃圾桶,多了个文件夹:
4.原理分析
原理很简单,只不过是重定向了rm
命令,将删除的文件移动到/home/xx/.local/share/Trash/files
目录下,这个目录就是垃圾桶存放文件的地方。
/home/xx/.local/share/Trash/info
文件夹用于存放文件的删除信息,包括被删除文件的原来位置和删除日期,以用于被删除文件的恢复。
$ cat /home/xx/.local/share/Trash/info/linux-stuff.trashinfo
[Trash Info]
Path=/home/xx/linux-stuff
DeletionDate=2023-02-16T11:41:54
以上是关于给 “rm” 命令添加个“回收站”,再也不用担心误删文件了!的主要内容,如果未能解决你的问题,请参考以下文章
HDFS文件误删怎么办,一招教你恢复回来,再也不用担心删库跑路了