Answers:
终端中的每个操作都没有通用的“撤消”。如果您希望在使用后恢复文件,rm
则需要研究恢复软件。
防止您将来犯错误的一种选择是使alias
es使用替代命令来删除文件。将它们添加到您的文件中,~/.bashrc
并养成使用它们而不是的习惯rm
。
别名rmi ='rm -i'
如果使用rmi
,将提示您确认将来的删除。y
发出rmi
命令后,请避免养成立即按的习惯,因为这样做会破坏目的。
您还可以将trsh
终端中的命令删除的文件移动到回收站(在KDE和Gnome上):
alias trsh='mv --target-directory="$HOME/.Trash"'
如果使用trsh
,则将具有有限的“删除”功能。当心
trsh dir1/file1 dir2/file1
可能仍会导致不可恢复的数据丢失。
rm
来rm -i
是你习惯了安全网,它给你。然后,您转到另一台没有该别名的机器上……
rmi
-> rm -i
。只是通过对现有程序进行别名来妨碍它,这确实是一个错误。
您可以rm
为trash
命令创建别名(您需要先安装trash
。)将此添加到您的~/.bashrc
:
alias rm='trash'
这样做比较好,alias rm='mv --target-directory=$HOME/.Trash'
因为〜/ .Trash不是gnome的垃圾箱文件夹。最好恕我直言,让我们trash
弄清楚实际的垃圾文件夹在哪里。
顺便说一句,我会在评论中发表这个,但我没有足够的代表。
这里还有一个更大的问题值得解决。Shell命令不是闲聊的(它们不会仔细检查您想要的内容),它们希望您知道您在做什么。这是它们如何设计的基础。这是一个功能,而不是错误。
有些人在使用这样的命令时会感到猛烈,我认为这很愚蠢,但是了解这些危险很重要。即使您不是root用户,也可能在终端上造成很大的损失。我想您可能真的很在乎rm
,但是既然您说“我们可以撤消在终端机中完成的操作”,我认为这是值得一提的。普遍的答案是不,你不能。
选项1:请参阅从ext2文件系统中删除Linux文件。本页指向LunetIX公司的Sebastian Hetze编写的程序,该程序(如标题所示)从ext2文件系统中删除最近删除的文件。用法示例:
# undelete -d /dev/hdc3 -a 10
警告:
选项2:我的计算机上运行着rsnapshot(rsync),这使选定文件夹的每小时快照一次。它每小时,每2小时或您告诉CRON要做的任何事情都会递增执行此操作。一整天后,它将这些快照回收为一个每日快照,并在每周7天后将其循环等等。这使我能够每小时返回约一个月左右的时间!磁盘空间非常好,因为它创建了指向从未更改的文件的符号链接。
在Linux或Unix上使用grep进行恢复/dev/partition
(恢复已删除的文件-取消删除文件),
grep -b 'search-text' /dev/partition > file.txt
试一试。
对于ext2,存在取消删除的实用程序,但是大多数其他Linux文件系统都处于“石器时代”,没有任何高级可用性功能。考虑到巨大的驱动器具有足够的空间以至于再也不会删除文件,这令人沮丧。
因此,您会遇到三个选择:
定期进行备份,例如使用以下命令:
rsync -axvRP --backup --backupdir=/backup/incr/$(date -I) /home/ /backup/root/
git
对所有工作使用版本控制工具。虽然这不能防止疯狂rm -r
地杀死存储库,但可以防止常规麻烦,因为您将使用git rm
not raw rm
。
要格外小心和不信任太多rm -i
,trash-cli
和朋友,大多数数据你将失去的外壳你不会失去偶然rm
,而是由误导管道,输错了输出文件,误导mv
之类的东西,即东西,将覆盖您的数据,而不仅仅是删除它。
为确保最大程度的安全,请全部执行三个操作。
检查这个...可能对您有所帮助http://artmees.github.io/rm/
假设你做了
rm very_important_file
从终端。恢复此文件是一个乏味且并不总是成功的过程
相反,如果您使用了上面提到的脚本。您不必为此担心,因为
rm very_important_file
mv very_important_file ~/.Trash/
是等效的。该脚本可以处理更多情况,并且根本不会改变您的系统rm
,这是因为该脚本已放入用户本地bin文件夹中,因此它掩盖了系统rm,但不影响它或禁用它
这是一种完善的别名方法,但不会丢失任何功能
对我来说(opensuse jump 42.2,NTFS笔式驱动器)PhotoRec-也由testdisk
创作者使用-):)但是它还没有恢复文件名。
PhotoRec是文件数据恢复软件,旨在从硬盘,CD-ROM和数码相机内存中恢复丢失的文件,包括视频,文档和档案,以及丢失的图片(因此称为Photo Recovery名称)。PhotoRec会忽略文件系统并处理基础数据,因此即使媒体的文件系统已受到严重损坏或重新格式化,它也仍然可以工作。
我已经在openSUSE中使用标准存储库安装了它
rm
:取消链接到的文件inode
。问题:“rm
发出命令时文件会去哪里”-> unix.stackexchange.com/questions/10883/…对您来说也可能是一本好书。