给 “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文件误删怎么办,一招教你恢复回来,再也不用担心删库跑路了

给rm命令加保险

Linux下防止rm误操作建立回收站

打造Linux回收站

推荐收藏:11招在手,各类表格需求——妈妈再也不用担心啦 !

为啥Linux的命令 rm 没有回收站呢?