244boy Asked: 2022-05-06 04:12:22 +0800 CST2022-05-06 04:12:22 +0800 CST 2022-05-06 04:12:22 +0800 CST /bin 和 /usr/bin 是什么关系? 772 我得到了 Linux 目录的快照:你看到有指向另一个目录的箭头。 /bin -> /usr/bin /sbin -> /usr/sbin /usr/tmp -> /var/tmp linux 3 个回答 Voted Best Answer Señor CMasMas 2022-05-06T07:20:22+08:002022-05-06T07:20:22+08:00 我不知道为什么该屏幕截图包含箭头。这些不应该相关。(事实证明它们是相关的……见底部的评论)。 你的问题的答案是...... /bin包含作为核心操作系统一部分的可执行文件。这些文件需要在/usr挂载之前可以访问。(例如,mount命令在 中/bin/mount)。 /usr/bin包含不属于核心操作系统的可执行文件。这些被认为是“系统范围的二进制文件”。 /sbin并且/user/sbin是相同的设置。只有这些目录中的实用程序通常需要root权限。's' 代表超级用户(又名 root),但 USED 代表独立(如在没有依赖关系的静态链接中)。 只要我们在,为什么不解决/usr/local/bin呢?树的local一部分用于特定于主机的事物(并非所有操作系统实例都通用)。通常,您在软件包系统之外安装的程序会将二进制文件放在这里。 /tmp用于旨在相当快速地清除的临时数据。通常至少每 10 天清除一次。许多配置文件也会在每次重新启动时清除它。 /var/tmp通常用于更持久的数据(但仍然“丢弃”)。通常大约每 30 天清除一次。通常在重新启动时不会清除。 记住。Linux 是一个免费的操作系统,任何人都可以为其贡献代码和编写代码,因此,这些东西是指导方针而不是规则。Linux 仍然是(并且可能仍然是)“狂野的西部”。 请参阅 UsrMerge 上的其他帖子(特别是该图的全部内容)。 @user1686 为我们提供了以下信息:(谢谢!)箭头表示符号链接。我认为 SunOS 4 可能是第一个符号链接/bin到的操作系统/usr/bin——它只有“挂载”命令/sbin(“s”曾经表示“独立”或“静态链接”;因为不依赖于 /lib;但是大家都忘了)。 Bobby Gonzales 2022-05-06T09:09:31+08:002022-05-06T09:09:31+08:00 您发布的图片似乎是所谓的 UsrMerge 的可视化,在此处进行了详细描述。快速记录将这些符号链接在一起的好处。 这意味着一种相对安全的简化 Linux 文件结构的方法。不同的发行版以不同的方式处理这些目录,因此将它们符号链接在一起可以解决各种应用程序中的许多兼容性问题。 这个链接提供了为什么它首先设置的背景。长话短说,它是解决 70 年代硬件限制所必需的退化器官。 Marco 2022-05-07T00:12:21+08:002022-05-07T00:12:21+08:00 曾经有一段时间,存储成本很高。在这些时候/usr是一个“巨大的”文件服务器上的 NFS 共享。正如已经在答案中提到的,/bin并且/sbin包含了启动所需的文件,直到可以安装 NFS(例如mount,在您可以安装某些东西之前,该命令需要在那里)。 实际上,在 Android 中,您有时仍然可以在系统中看到这种拆分,其中根文件系统位于 ROM 上并通过覆盖安装。可以在/usr不更改核心系统的情况下将其他软件放在 . 现代桌面 Linux 发行版不再需要拆分并将所有内容合并为/usr. 如上所述,请参阅UsrMerge.
我不知道为什么该屏幕截图包含箭头。这些不应该相关。(事实证明它们是相关的……见底部的评论)。
你的问题的答案是......
/bin
包含作为核心操作系统一部分的可执行文件。这些文件需要在/usr
挂载之前可以访问。(例如,mount
命令在 中/bin/mount
)。/usr/bin
包含不属于核心操作系统的可执行文件。这些被认为是“系统范围的二进制文件”。/sbin
并且/user/sbin
是相同的设置。只有这些目录中的实用程序通常需要root权限。's' 代表超级用户(又名 root),但 USED 代表独立(如在没有依赖关系的静态链接中)。只要我们在,为什么不解决
/usr/local/bin
呢?树的local
一部分用于特定于主机的事物(并非所有操作系统实例都通用)。通常,您在软件包系统之外安装的程序会将二进制文件放在这里。/tmp
用于旨在相当快速地清除的临时数据。通常至少每 10 天清除一次。许多配置文件也会在每次重新启动时清除它。/var/tmp
通常用于更持久的数据(但仍然“丢弃”)。通常大约每 30 天清除一次。通常在重新启动时不会清除。记住。Linux 是一个免费的操作系统,任何人都可以为其贡献代码和编写代码,因此,这些东西是指导方针而不是规则。Linux 仍然是(并且可能仍然是)“狂野的西部”。
请参阅 UsrMerge 上的其他帖子(特别是该图的全部内容)。
@user1686 为我们提供了以下信息:(谢谢!)箭头表示符号链接。我认为 SunOS 4 可能是第一个符号链接
/bin
到的操作系统/usr/bin
——它只有“挂载”命令/sbin
(“s”曾经表示“独立”或“静态链接”;因为不依赖于 /lib;但是大家都忘了)。您发布的图片似乎是所谓的 UsrMerge 的可视化,在此处进行了详细描述。快速记录将这些符号链接在一起的好处。
这意味着一种相对安全的简化 Linux 文件结构的方法。不同的发行版以不同的方式处理这些目录,因此将它们符号链接在一起可以解决各种应用程序中的许多兼容性问题。
这个链接提供了为什么它首先设置的背景。长话短说,它是解决 70 年代硬件限制所必需的退化器官。
曾经有一段时间,存储成本很高。在这些时候
/usr
是一个“巨大的”文件服务器上的 NFS 共享。正如已经在答案中提到的,/bin
并且/sbin
包含了启动所需的文件,直到可以安装 NFS(例如mount
,在您可以安装某些东西之前,该命令需要在那里)。实际上,在 Android 中,您有时仍然可以在系统中看到这种拆分,其中根文件系统位于 ROM 上并通过覆盖安装。可以在
/usr
不更改核心系统的情况下将其他软件放在 .现代桌面 Linux 发行版不再需要拆分并将所有内容合并为
/usr
. 如上所述,请参阅UsrMerge
.