Linux 中文件位置的约定是什么?到目前为止,我已经成功推断出:
/进程(引用正在运行的进程)
/dev(参考所有硬件)
/ETC(配置文件)
/家(家)
/mnt(已安装的设备)
/媒体(可移动设备,如 CD、USB 磁盘)
...但其他部分仍不清楚,例如:
我应该把下载的源代码放在哪里?
/usr/src
/usr/local/src
我应该把编译好的程序放在哪里?
/垃圾桶
/usr/bin
在/usr/本地/bin
有什么区别/垃圾桶和/sbin?
分布有何不同?
我知道这不是一个问题,但我觉得应该一起回答。希望其他人也感到困惑。
答案1
你可能想读文件系统层次标准;这是一个有用的参考。
您的主目录是其中大部分内容应该存放的位置。假装您不是系统管理员;假装您是系统中拥有帐户的另一个人。在您的主目录中,例如/home/pufferfish
,您可以做任何您想做的事情。 /home/pufferfish/bin
、、/home/pufferfish/lib
和/home/pufferfish/src
都是常规选择,但实际上它们都不是事宜。
对于已编译的程序,无论您使用哪个目录,请确保它位于 PATH 上,以便您无需输入脚本或可执行文件的完整路径即可实际运行它们。
这些发行版实际上并没有太大区别。我发现一个发行版上的包管理器可能会将二进制文件安装在 中/usr/bin
,而一些库可能会安装在其他地方,另一个系统可能会将东西安装在另一个地方。我通常每次都要做一些研究才能知道东西放在哪里。
答案2
碰巧的是,在类 Unix 操作系统世界中,有一个名为文件系统层次结构标准的标准,它解释了最多Unix 供应商紧随其后。如果您在 *nix 环境中花费大量时间,这是一本值得一读的好书。
对您问题的回答:
/usr/src 和 /usr/local/src 都可以。你自己选择吧。只要保持一致就行。
/bin 用于存放用户所需的命令。我不会将自定义二进制文件放在那里。
/sbin 用于存放系统二进制文件(通常是系统管理员的东西)。它包含用于启动和文件系统实用程序的东西。
/usr/bin 是大多数用户命令所在的位置,您通常会发现大多数 Linux 包管理系统将二进制文件或至少是指向二进制文件的符号链接放在这里。
/usr/local/bin 是存放您自己编译的、该机器独有的代码的安全地方。
答案3
也许你应该看看这些:
答案4
/usr/local/ 是用于在此系统上编译的软件。它与 /usr/ 类似,只是它不是从软件包安装的。
/sbin/ 与 /bin/(以及 /usr/sbin/ 与 /usr/bin):s 代表超级用户。普通用户不应该关心并且通常没有权限运行的程序