意外删除了 $HOME/bin

pre*_*non 6 delete undelete 18.04

我不小心删除了我的~/bin目录。我看到很多问题询问如果/usr/bin被删除怎么办,这种情况似乎要严重得多。我该怎么做才能重建文件夹?

Ser*_*nyy 10

什么是 ~/bin 以及它为什么存在?

~/bin用于用户自己的脚本和可执行文件。与/usr/bin. 引用Debian 文档

/斌/

所有用户(例如,cat、ls、cp)的基本命令可执行文件(二进制文件)(尤其是引导或拯救系统所需的文件)

...

/usr/

可共享的只读数据的二级层次结构(以前来自 UNIX 源存储库,现在来自 UNIX 系统资源)(不需要引导或拯救系统的文件)

/usr/bin/ :与顶级层次结构相同

另请参阅对文件层次系统进行分类

该目录被添加到用户的PATH变量中(当您按名称而不是完整路径名调用命令时引用该变量,例如bashvs /bin/bash)。目的是允许用户按名称调用他们自己的私有脚本和可执行文件。具体来说,这是在处理~/.profile

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
Run Code Online (Sandbox Code Playgroud)

~/.profile当 shell 用作登录 shell或根据geirha在登录基于 GNOME 的桌面时的回答时,将读取并执行(因此添加目录)。

大多数情况下,它包含的内容由用户自己定义。很可能 3rd 方软件可以在那里放置脚本,尽管我还没有遇到过这种情况。

如何处理已删除的 ~/bin ?

如前所述,该目录不是系统关键的。除非你自己在那里放置了一些对系统很重要的东西(这可能是一个坏主意而且不切实际),否则它可能会导致实际执行范围内的问题。否则,基本上没有效果,就像删除任何其他非关键目录一样。如果它是空的或者你有它所包含的文件的备份,就没有必要做任何其他事情。您可以通过文件管理器或命令行重新创建它mkdir ~/bin

如果您在那里有自己的脚本/程序,您可以尝试恢复它们。请参阅如何恢复已删除的文件?用于从闪存驱动器中恢复已删除数据的工具,以及Unix/Linux 取消删除/恢复已删除文件。有多种实用程序可供选择。请注意,假设您有默认的 ext4 文件系统。如果您有其他东西,文件系统可能有自己的特定实用程序来恢复文件,例如 btrfs。将来,您可以考虑对目录和文件进行备份。请参阅1 台台式 PC 的良好备份策略是什么?