下表列出了 Linux 系统中常见的目录结构,使用之前学过的命令去那些目录探索一下吧:
cd
切换目录
ls
列出目录中的内容
file
检查文件内容类型
less
查看文件文本内容
目录 |
描述 |
/ |
根目录是文件系统的起点。绝大多数情况下,根目录只包含子目录。 |
/boot |
Linux kernel 和 boot loader 文件存放于此。kernel 是一个被称之为 vmlinuz 的文件。 |
/etc |
/etc 目录用来存放系统的配置文件。 /etc 中的文件都应该是文本文件。 几个有趣的子目录:- /etc/passwd
- The passwd 文件包含每一个用户必须的信息,用户就是在这个文件中定义的。
- /etc/fstab
- The fstab 用于定义磁盘驱动,文件中有一个开机自动挂载的设备表。
- /etc/hosts
- 此文件用以列出系统内部已知的设备主机名和IP地址。
- /etc/init.d
- 此目录放置很多程序的服务启动脚本
|
/bin, /usr/bin |
这两个目录放置几乎所有的系统程序。/bin 目录中是那些系统运作必不可少的程序。/usr/bin 目录中是那些系统用户的程序。 |
/sbin, /usr/sbin |
sbin 目录中是那些系统管理员的程序,通常是超级用户的程序。 |
/usr |
/usr 目录中包含各种用户应用程序的支持文件,包括:- /usr/share/X11
- X Window 的支持文件
- /usr/share/dict
- 用于拼写检查的字典。
- /usr/share/doc
- 各种格式的文档
- /usr/share/man
- 手册文件
- /usr/src
- 源代码文件。如果你安装了内核源码包,这里就能找到完整的 Linux 内核源码
|
/usr/local |
/usr/local 这里安装那些供本机使用且不在官方发行版中提供的第三方程序
当你找到有趣的程序要安装时,通常应该安装到 /usr/local,更准确的说应该是 /usr/local/bin。 |
/var |
/var 目录中包含那些会随着系统运行而发生变化的文件。他们包括:- /var/log
- 目录存放日志文件。它们的内容会随着系统的运转自动更新。你应该实时查看这些文件以确保系统的健康。
- /var/spool
- 此目录用来存放将被执行的队列文件,例如邮件和打印任务。假设本机配置了邮件服务器,当有邮件发送到本机时,消息就会被存储在 /var/spool/mail
|
/lib |
The shared libraries (similar to DLLs in that other operating system) are kept here. 共享库文件(类似于 Windows 中的 DLLs) |
/home |
/home 是用户存个人文件的位置。通常来讲,家目录是用户唯一具有写权限的位置,这样能够确系统保干净整洁。 |
/root |
超级用户的家目录 |
/tmp |
/tmp 为程序提供的具有写权限的临时目录 |
/dev |
The /dev 是一个特殊目录,因为它实际上并不包含通常意义上的文件,而是包含可供系统使用的设备。在 Linux 系统中,设备也被视为文件的一种,你可以像对待文件一样读写设备。例如:/dev/fd0 是一个软驱,/dev/sda是一块硬盘。内核能够识别的设备都会显示在这里。 |
/proc |
/proc 目录也很特殊,它并不包含文件。事实上,这个就不是一个真实的目录,它完全是虚拟的。/proc 目录中包含一组带编号的条目,对应系统上运行的所有进程。另外,还有许多带有明确名字的条目可以方便我们了解系统的当前配置,它们大多可以查看。试着查看 /proc/cpuinfo,它会告诉你内核如何解读你的 CPU 信息。 |
/media,/mnt |
/media 是一个有特殊用途的常规目录。/media 常被用作 挂载点。正如我们在 导航命令 中学到的那样,不同的物理存储设备(如硬盘)会通过一个特别的位置附加到文件系统树中。这种将设备附加到目录树的过程称之为 挂载。设备只有先被挂载才能被使用。
系统在启动时会从 /etc/fstab 文件中读取要挂载的设备信息,哪个设备,挂载到系统树目录下的哪个位置上。这里通常挂载硬盘驱动器,但你也可以根据需要挂载光驱、优盘或软盘。不过由于他们是可移动设备,因此不会始终保持挂载。/media 目录主要面向现代 Linux 桌面操作系统发型版的设备自动挂载机制。那些需要在系统上手动挂载的设备,则通常挂载到 /mnt 目录。 |
一些奇怪的文件
在各个 Linux 系统目录中你可能会注意到一些陌生的目录,特别是在 /boot
和 /lib
目录中。当使用 ls -l
查看目录内容时就会看到类似下面的一些文件:
lrwxrwxrwx 25 Jul 3 16:42 System.map -> /boot/System.map-2.0.36-3
-rw-r--r-- 105911 Oct 13 1998 System.map-2.0.36-0.7
-rw-r--r-- 105935 Dec 29 1998 System.map-2.0.36-3
-rw-r--r-- 181986 Dec 11 1999 initrd-2.0.36-0.7.img
-rw-r--r-- 182001 Dec 11 1999 initrd-2.0.36.img
lrwxrwxrwx 26 Jul 3 16:42 module-info -> /boot/module-info-2.0.36-3
-rw-r--r-- 11773 Oct 13 1998 module-info-2.0.36-0.7
-rw-r--r-- 11773 Dec 29 1998 module-info-2.0.36-3
lrwxrwxrwx 16 Dec 11 1999 vmlinuz -> vmlinuz-2.0.36-3
-rw-r--r-- 454325 Oct 13 1998 vmlinuz-2.0.36-0.7
-rw-r--r-- 454434 Dec 29 1998 vmlinuz-2.0.36-3
注意看 System.map
、module-info
和 vmlinuz
,文件名后面奇怪的符号。
这种文件被称为符号链接
。符号链接是一种特殊类型的文件,它指向另一个文件。有了符号链接,一个文件就可以同时拥有多个文件名。在系统中符号链接总是透明的指向实际的文件。
符号链接是很有用的功能,当存在多个文件版本容易导致混淆的情况时,就可以通过创建一个名字简单的符号链接,指向那个真正要使用的文件即可。
使用 ln
命令创建符号链接。
.