当前位置: 首页 > 科技观察

如何在“rm”命令中添加“垃圾桶”

时间:2023-03-16 02:12:09 科技观察

人类会犯错误,因为我们不是可编程设备,所以,在使用rm命令时要格外小心,任何时候都不要使用rm-rf*。当您使用rm命令时,它会永久删除文件,它不会像文件管理器那样将这些文件移动到“垃圾箱”。有时候我们删除了不该删除的文件,那么误删文件怎么办呢?得看恢复工具了(linux里面有很多数据恢复工具),但是不知道能不能100%找回来,怎么解决这个问题呢?我们最近发表了一篇关于Trash-Cli的文章,在评论部分,我们从用户EemilLgz那里得到了关于saferm.sh脚本的更新,该脚本可以帮助我们将文件移至垃圾箱,而不是永久删除它们。将文件移动到“垃圾箱”是个好主意,可以在您不小心运行rm命令时拯救您;但很少有人会说这是一个坏习惯,如果你不注意“垃圾”,它会在一段时间内被文件和文件夹堆积起来。既然如此,我建议你随心所欲地做一个定时任务。这适用于服务器和桌面环境。如果脚本检测到GNOME、KDE、Unity或LXDE桌面环境(DE),它会安全地将文件或文件夹移动到默认回收站$HOME/.local/share/Trash/files,否则在您的主目录中创建一个$HOME/Trash中的垃圾文件夹。saferm.sh脚本托管在Github中,可以从存储库中克隆,也可以创建一个名为saferm.sh的文件并复制其中的代码。$gitclonehttps://github.com/lagerspetz/linux-stuff$sudomvlinux-stuff/scripts/saferm.sh/bin$rm-Rflinux-stuff在.bashrc文件中设置别名,aliasrm=saferm.sh执行以下命令使其生效,$source~/.bashrc一切准备就绪,现在你可以执行rm命令自动将文件移动到“垃圾箱”而不是永久删除它们。作为测试,我们将删除一个名为magi.txt的文件,命令行明确提示Movingmagi.txtto$HOME/.local/share/Trash/file。$rm-rfmagi.txt移动magi.txt到/home/magi/.local/share/Trash/files也可以通过ls命令或trash-cli验证。$ls-lh/home/magi/.local/share/Trash/filesPermissionsSizeUserDateModifiedName.rw-r--r--32magi11Oct16:24magi.txt或者我们可以使用文件管理器界面查看相同。![][3](LCTT译注:此处原文混淆了trash-cli的部分内容,考虑到文章的衔接性和逻辑性,此处省略。)saferm.sh的其他选项见帮助。$saferm.sh-h这是saferm.sh1.16。LXDE和Gnome3检测。将要求不安全删除而不是跨文件系统移动。允许不安全(常规rm)删除(忽略trashinfo)。创建trash和trashinfo目录(如果它们不存在)。处理符号链接删除。不再抱怨不同的用户。用法:/path/to/saferm.sh[OPTIONS][--]filesanddirstosafelyremoveOPTIONS:-r允许递归删除目录。-f允许删除特殊文件(设备,...)。-u不安全模式,绕过垃圾桶并永久删除文件。-v详细,打印更多消息。此版本中的默认设置。-q安静模式。与冗长相反。