所有这些都是直接从kdubois.net 复制而来的。去给那个网站点赞吧。
/home — 这是包含特定于某个用户的信息的所有目录和文件所在的位置。系统的每个用户都应该被授予 /home 中与该用户名匹配的目录。每个用户的配置文件中通常包含您定期处理的所有文件,您的文档、媒体和设置都最好放在您的 /home/$USERNAME 目录中。
/etc — 这是系统通常存储系统配置文件的位置。网络设置、图形 X 服务器以及许多其他系统功能都位于此文件夹中。看看里面。您的图形 X 服务器将其所有配置保存在 X11/ 目录中。文件 mtab 存储 cron 设置。如果您在 Debian 系统上,配置 apt 的文件位于 apt/ 目录中。此文件夹中有大量其他系统设置,因此如果可以,请尝试了解它们。弄乱 /etc 目录中的任何内容时要小心!
/boot — 此文件夹包含启动计算机所需的内容。它至少包含一个引导加载程序,如 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 — 这是超级用户(根用户)的主文件夹。就这么简单。
/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 文件夹的原因相同,但旨在供系统管理员安装更多永久程序(通常是他个人编译的程序)。这样做的原因可能看起来有点模糊或武断,但如果您开始尝试组织系统或开发新软件,它们实际上会非常有用。