当前位置: 首页>>技术教程>>正文


/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin之间的区别

, , , , ,

问题描述

我正在运行Ubuntu Server 13.04,但我在12.04上看到了相同的情况:我有六个带有命令文件的目录。这些是:

  • /箱

  • /sbin目录

  • 在/usr /bin中

  • /usr /sbin目录

  • 在/usr /local /bin目录

  • 在/usr /local /sbin中

这些有什么区别?例如:如果我正在编写自己的脚本,我应该在哪里添加这些脚本?

最佳解决方案

请参阅Filesystem Hierarchy Standard (FHS) for Linux

  • /bin:用于安装/usr分区之前可用的二进制文件。这用于在启动早期阶段使用的微不足道的二进制文件,或用于启动single-user模式时需要的二进制文件。考虑像catls等二进制文件

  • /sbin:相同,但对于需要超级用户(root)权限的脚本。

  • /usr/bin:与第一个相同,但是对于一般system-wide二进制文件。

  • /usr/sbin:与上面相同,但对于需要超级用户(root)权限的脚本。


if I’m writing my own scripts, where should I add these?

以上都不是。对于system-wide可用脚本,应该使用/usr/local/bin/usr/local/sbinlocal路径表示它不受系统软件包管理(这是用于Debian /Ubuntu软件包的an error)。

对于user-scoped脚本,请使用~/bin(主目录中的个人bin文件夹)。

FHS对/usr/local表示:

Tertiary hierarchy for local data, specific to this host. Typically has further subdirectories, e.g., bin/, lib/, share/.

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/181.html,未经允许,请勿转载。