$HOME/bin 目录的用途是什么?

6 filesystem binary

source可以立即获得二进制文件吗?

我需要将其添加到 bash 配置文件中才能获取吗?

如果我理解正确的话,二进制文件还有其他地方,例如:

  • /usr/bin
  • /bin
  • /usr/local/bin

为什么这么多?

Ter*_*nce 11

这些bin文件夹用于存放可执行程序。

在 Ubuntu 19.10 之前,该文件夹/bin本身仅用于启动和修复系统的最小功能。该/usr/bin文件夹用于大多数可执行程序。Now/bin符号链接到,/usr/bin因此它们现在是同一个。

$ lsb_release -r
Release:    20.04
$ ls -al /
total 104
drwxr-xr-x  20 root root  4096 Apr 16 08:28 .
drwxr-xr-x  20 root root  4096 Apr 16 08:28 ..
lrwxrwxrwx   1 root root     7 Oct  2  2021 bin -> usr/bin
Run Code Online (Sandbox Code Playgroud)
$ lsb_release -r
Release:    18.04
$ ls -al /
total 1459924
drwxr-xr-x  24 root root       4096 Feb 24 07:36 .
drwxr-xr-x  24 root root       4096 Feb 24 07:36 ..
drwxr-xr-x   2 root root       4096 Feb 24 07:11 bin
Run Code Online (Sandbox Code Playgroud)

用于/usr/local/bin不受分发包管理的可执行程序。

您的文件夹的答案$HOME/bin包含在.profile您的主文件夹 ( /home/<user>/) 中。.profile当您登录时,它 ( ) 会自动获取。

您的主文件夹中的文件中包含.profile以下部分(这完全取决于首选项):

$ lsb_release -r
Release:    20.04
$ ls -al /
total 104
drwxr-xr-x  20 root root  4096 Apr 16 08:28 .
drwxr-xr-x  20 root root  4096 Apr 16 08:28 ..
lrwxrwxrwx   1 root root     7 Oct  2  2021 bin -> usr/bin
Run Code Online (Sandbox Code Playgroud)

如果这些文件夹中的任何一个存在,它们会在用户登录其帐户时bin自动添加到其中。$PATH用于用户自己私有的可执行程序和脚本。它们主要供这些文件夹的用户或所有者使用,以确保它们对其他用户保密。

  • 只是补充一下,因为该目录在您登录时会自动添加到 PATH 中,当且仅当它存在时,在最初创建目录时不会立即添加它。因此,您必须在最初创建此目录后注销并重新登录。 (2认同)