Linux文件系统

puf*_*ish 13 linux file-management linux-distributions

Linux 中文件位置的约定是什么?到目前为止,我已经设法推断出:

/proc(对正在运行的进程的引用)

/dev(对所有硬件的引用)

/etc(配置文件)

/家(家)

/mnt(已安装的设备)

/media(可移动设备,如 CD、USB 磁盘)

...但其他部分还不清楚,例如:

我把下载的源放在哪里?

/usr/src

/usr/local/src

我把编译好的程序放在哪里?

/bin

/usr/bin

/usr/本地/bin

/bin/sbin 有什么区别?

分布有何不同?

我意识到这些不是一个问题,但在我看来,它们应该一起回答。希望其他人也感到困惑。

Nik*_*hil 14

您可能想阅读Filesystem Hierarchy Standard;这是一个有用的参考。

您的主目录是其中大部分应该去的地方。假装你不是系统管理员;假设您是另一个在系统上拥有帐户的人。在您的主目录中,例如/home/pufferfish,您可以做任何您想做的事情。 /home/pufferfish/bin/home/pufferfish/lib、 和/home/pufferfish/src都是传统的选择,但没有一个真正重要

对于已编译的程序,无论您使用哪个目录/目录,请确保它/它们位于 PATH 中,以便您可以实际运行它们而无需键入脚本或可执行文件的整个路径。

分布实际上差别不大。我发现一个上的包管理器可能/usr/bin会在. 我通常必须做一些研究才能找到每次都去哪里。


小智 6

碰巧的是,在类 Unix 操作系统世界中有一个标准,称为文件系统层次结构标准,它解释了大多数Unix 供应商遵循的最佳实践。如果您在 *nix 环境中花费大量时间,这是一本很好的读物,非常值得一读。

文件系统层次标准

回答您的问题:

/usr/src 和 /usr/local/src 都可以工作。你的选择。只要保持一致。

/bin 用于用户所需的命令。我不会在那里放置自定义二进制文件。

/sbin 用于系统二进制文件(通常是系统管理员的东西)。它包含用于启动和 fs utils 的东西。

/usr/bin 是大多数用户命令所在的位置,您通常会发现大多数 Linux 包管理系统都在此处放置二进制文件或至少是二进制文件的符号链接。

/usr/local/bin 是放置您自己编译的代码的安全位置,该代码对该机器是唯一的。


n00*_*ki3 6

也许你应该看看这些:

替代文字

替代文字


Tad*_*ski 3

/usr/local/ 用于在此系统上编译的软件。它与 /usr/ 类似,只是它不是从软件包安装的。

/sbin/ 与 /bin/ (和 /usr/sbin/ 与 /usr/bin): s 代表超级用户。普通用户不应该关心并且通常不应该有运行权限的程序