我可以恢复已删除的文件吗?

Har*_*hna 7 data-recovery

我在连接 ssh 时错误地删除了一个文件。我如何恢复该文件,或者,如果 ubuntu 有垃圾箱之类的东西?

Vol*_*gel 13

rm 与从 GUI 中删除

如果您使用了该命令rm,则您确实删除了该文件。无法再从文件系统访问数据 - 除非有另一个指向文件的硬链接(不寻常),或者您删除了符号链接。

实际数据可能仍在磁盘上,文件系统假定未使用的磁盘块上。如果你想恢复它,你不应该写入磁盘,因为它可以重用保存你数据的磁盘空间。您可以尝试使用适合您使用的文件系统的工具对文件进行定期数据恢复。

对于默认的 ext4 文件系统,请参阅: 是否有任何可用于 ext4 的恢复软件?以及下面链接的问题的大多数答案。

CLI 的垃圾箱

可以从命令行使用垃圾箱,但默认情况下未设置。该软件包trash-cli包含用于使用桌面环境垃圾箱的命令行工具。

还有像命令trash-puttrash-list等等;
名称很长 - 您可以定义 shell 别名,例如

alias tp='trash-put'
Run Code Online (Sandbox Code Playgroud)

或者

alias del='trash-put'
Run Code Online (Sandbox Code Playgroud)

然后使用del而不rm是以更安全的方式删除文件或目录。

正如下面链接的答案中所建议的那样,可以使用别名 name rm,用 替换实际rm命令trash-put,但有多种原因不这样做;他们之中有一些是:

  • 例如,Ubuntu 中的 'GNU coreutils'的实现trash-put就没有经过很好的测试rm
  • rm并非所有默认选项都支持trash-put
  • 其他人迟早会使用带有别名的 shell,从rm技术上讲,他们会看到一个非常糟糕的命令。
  • 当真正需要一种特殊的语法rm是必需的
  • 通常,使用非常危险的工具并不是一个好主意,至少会冒着混淆的风险。

说了这么多,看到@enzotib的答案可以将文件/使用rm删除的目录可以恢复?关于如何配置别名。

  • 给像 `rm` 这样的基本命令添加别名可能不是一个好主意(这似乎会鼓励坏习惯)——我认为最好使用像 `alias del='trash-put'` 这样的东西。 (2认同)