1

有没有人参考过各种路径名称在不同风格的 Unix 上的含义?如果可能,请在列表中包括 Solaris、RHEL 和 SLES。

例如,从我收集到的 /lib 是发行版的标准库,它永远不会改变(这是正确的吗?或者他们会不时获得新版本?),/usr/local 用于由系统管理员安装的应用程序等。但我不确定这是否正确,我仍然不清楚 /usr/lib 和 /lib (前者用于 sysadmin 安装的库?)和 /sbin 和 /bin 等之间的区别......谢谢。

4

4 回答 4

7

所有这些都是直接从kdubois.net复制的。去投票那个网站。

/home - 这是包含特定于一个用户的信息的所有目录和文件所在的位置。系统的每个用户都应该被授予 /home 中与该用户名匹配的目录。每个用户的配置文件中通常包含您定期处理的所有文件,您的文档、媒体和设置都最好放在 /home/$USERNAME 目录中。

/etc — 这是系统通常存储系统配置文件的地方。网络设置、图形 X 服务器以及许多其他系统功能都位于此文件夹中。看看里面。您的图形 X 服务器将其所有配置保存在 X11/ 目录中。文件 mtab 存储 cron 设置。如果您在 Debian 系统上,配置 apt 的文件位于 apt/ 目录中。此文件夹中有大量其他系统设置,因此如果可以,请尝试了解它们。弄乱 /etc 目录中的任何内容时要小心!

/启动— 此文件夹包含启动计算机所需的内容。它至少包含一个引导加载程序,如 GRUB 或 LILO(引导时弹出的菜单,允许您选择操作系统)和内核映像。通常,这里也包括初始 ramdisk。我更习惯于 GRUB,所以我将深入探讨使用 grub 的 /boot 目录是如何工作的。启动时,系统会查看 /boot/grub/menu.lst 以尝试确定如何启动您想要用于此会话的任何系统。在 menu.lst 中,有关于应该使用什么内核引导映像以及应该使用什么初始 ramdisk 的规范。然后,GRUB 会接受它所获知的系统信息,然后将内核跳转到引导状态。除非你搞乱了引导选项,否则你可能不会经常处理 /boot,但它是 Linux 系统的关键部分,

/bin — 这包含系统范围的基本二进制可执行文件。此处包含用于解压缩文件或导航目录等基本工具。例如,'cd'、'ls'、'ip'、'cat' 和其他通用的基本 linux 标准的程序都包含在这里。

/mnt/media — 根据您使用的系统,这两个文件夹是您将挂载 / 文件系统以外的文件系统的位置。查看 Ubuntu(我通常在笔记本电脑上写博客的发行版),无论何时插入 USB 记忆棒、CD 或新硬盘驱动器,它都会挂载在 /media 目录下。

/dev— 这包含系统的所有设备节点。内核检测到的任何硬件都被放置在这里作为入口。在现代 Linux 系统中,此文件夹主要由 Udev 管理,这有助于自动配置和填充此目录。强烈建议强行删除此目录中的任何内容。:-D。这个文件夹对于判断您刚刚编译的驱动程序是否正在运行以及查看您的系统所认为的硬件非常有用。例如,hd1、hd2 等是 PATA 硬盘,sd1、sd2 等是 SCSI 驱动器,ram 是系统内存,video0 通常是某种电视调谐器。严格来说,/dev 中的每一项都不是系统的物理组件,但大多数都是。每个设备都被视为一个文件。这个概念对于资深的开源人员来说很熟悉,但对于 Windows 的新转换者来说是一个奇怪的概念。这消除了巨大的抽象层次,使写入图形卡与编写学期论文一样。内核处理使设备按其应有的方式处理数据所需的实际步骤。巧妙的小技巧由此产生。例如,我可以 cat /dev/video0(我的 Hauppauge 电视调谐器)并使用单个命令录制电视节目。(cat /dev/video0 > show.mpg)。尊重开发目录!:-D

/lost+found — 当一个 EXT 文件系统出现问题时,任何孤立或有问题的文件都会放在这里。希望您永远不必考虑这个文件夹。:-)

/sbin - “系统二进制文件”的串联,此文件夹通常包含更高级别的系统实用程序,例如用于网络配置的 ifconfig。/bin 和 /sbin 中的内容之间的界限对我来说总是有点模糊,但 sbin 实用程序似乎总是执行更高级的功能,例如用于获取 DHCP IP 地址的 dhclient 或用于格式化磁盘的 mkfs。

/root — 这是超级用户(root 用户)的主文件夹。就那么简单。

/tmp——你可能猜到了,这个文件夹包含临时文件。如果 Mozilla Firefox 需要缓存您当前的下载,它可以将部分文件存储在 /tmp 中,直到完成下载,然后将其从 /tmp 复制到您选择的下载位置。好的程序在使用完 /tmp 后会自行清理它,但它的内容会在重新启动时自动删除,所以不要担心这个文件夹会随着时间的推移而膨胀,直到它导致性能问题。

/lib — 这包含所有系统库。往里看,你会发现一堆.so文件。这些是其他程序运行所需的库。如果您对此感到好奇,请输入“ldd /bin/echo”(echo 是一个用于输出文本的简单实用程序)。您的系统将返回 echo 链接到的库,即 ld-linux.so.2 和 libc.so.6 和 linux-gate.so.1。ldd 适用于任何程序。修改系统库的名称会破坏您的系统。当程序需要访问位于库中的关键组件时,它们将不知道去哪里寻找。几乎所有内容都与 libc.so.6 和 ld-linux.so.2 相关联,因此重命名它是破坏系统的可靠方法。您不必过于担心系统库,因为包管理器在保持一切井井有条方面做得很好。但是,编译代码或帮助开发 linux,您可能会在这里或那里遇到库问题,所以要小心!

/srv — 很多时候,此文件夹在 Web 服务器上用于包含可通过 Internet 访问的信息。

/proc — 这是一个您可能不应该乱搞的关键任务文件夹。内核使用它来组织进程(运行程序,或多或少)的信息。

/opt - 可选。很多时候,系统管理员会使用此文件夹来安装您想要轻松手动删除的程序。例如,在我这里基于 gnome 的系统上,我将 KDE 的库安装到 /opt,这样我就可以轻松地删除整个文件夹。编译软件时,默认安装会将库、二进制文件和配置文件分散在目录中,因此通过告诉安装程序将所有内容放在 /opt 中,您仍然可以安装程序,但可以将其留在可以删除的地方全部一起。

/var — 此文件夹包含包含系统状态信息的重要文件。例如,图形服务器的错误日志包含在此文件夹中

/usr— 可能是 / 中我最喜欢的文件夹。通常,更多面向用户而不是让系统运行的程序安装在 /usr 中。GNOME 或 KDE 通常安装在此文件夹中,您会在此处找到许多您在日常使用中启动的程序(如 Firefox、Evolution 或 Gedit)。下降到 /usr,你会发现一堆文件夹,就像你在 / 中看到的那样。这样做的原因是程序可以安装到类似根目录的文件夹集(如安装程序所期望的那样),而实际上不会用过多的文件弄乱 / 目录。系统的链接器知道在 /lib 和 /usr/lib 中查找,因此任何安装到 /usr/lib 中的库都可以像 /lib 中的库一样容易地找到。同样地,/usr/bin 中的二进制文件与 /bin 一样容易找到,因为系统知道在两个路径中查找。/usr/local 包含另一个根目录!这与 /usr 中的 root like 文件夹的原因相同,但旨在供系统管理员安装更多永久程序(通常是他个人编译的程序)。这样做的原因可能看起来有点模糊或武断,但如果您开始尝试组织系统或开发新软件,它们实际上非常有用。

于 2009-02-04T16:18:11.417 回答
6

大多数 Linux 发行版都遵循文件系统层次标准 FHS(至少大部分情况下)。其中很大一部分只是适用于 UNIX 相当长一段时间的规则(/usr, /var, ...),其他则相当新(/media, ...)。

我最初发现令人困惑的一件事是两者的存在,/bin以及,/usr/bin以及看似随机分布的东西去哪里。这种拆分背后的原因是,它可能从与根目录不同的存储(可能是远程)安装,因此应该包含一个最小系统,足以在某些系统故障的情况下启动并运行整个系统。/lib/usr/lib/usr/bin/lib

因此 Gnome、GIMP 等可以进入/usr,因为它们不是必需的,但文件系统工具(如fsckmkfsshell sh)需要驻留在非usr目录中。

于 2009-02-04T16:20:59.087 回答
3

在 Mac OS X 上,被/home替换为./Users/mnt/Volumes

于 2009-02-04T16:28:26.760 回答
1

只是添加一些上面没有提到的东西:

/home — user home directories, e.g.
          /home/bob
          /home/mary
          etc.

有时有用的用户有一个~/etc~/bin 太。(当然取决于用户)

/etc— 配置文件、启动脚本。一些(旧的)Unix 版本在这里卡住了一些二进制文件,所以我认为历史上从来没有对内容进行过任何严格的强制执行。如今,这意味着“配置文件”。

/mnt- 一个可以挂载更多文件系统的地方

/sbin— 系统二进制文件或服务器二进制文件、守护进程可能需要超级用户才能运行(而不是 /bin )

/root— root 的主目录。我见过的一个 Unix 版本将 root 的主目录作为 / 并且只是分散在那里的东西。这更干净:)

于 2011-01-24T16:55:59.080 回答