随着 Linux 开发产品或 distributions 越来越多,如果每个人都按照自己的想法配置目录结构放置配置文件,那么就会造成很多管理的困扰,基于此后来 FHS(filesystem hierarchy standary)标准出现了,其主要目的是希望用户可以了解到已按照软件通常放置于那个目录下
| 可分享 | 不可分享 |
不变的 | /usr(软件放置处) | /etc(配置文件) |
/opt(第三方软件) | /boot(开机与内核相关) | |
可变的 | /var/mail | /var/run(程序相关) |
/var/spool/news | /var/lock(程序相关) |
其中不变的内容不因 Linux distributions 不同而改变其目录结构
可分享内容在网络上可分享给其他系统挂载使用
目录 | 应放置的文件内容 |
/ | 根目录 root(/),一般建议在根目录下只有目录,不要直接有文件。根目录 是启动时系统第一个载入的分区,所以所有启动过程中会用到的文件都应该放在这个分区中。举例来说,/etc、/bin、/dev、/lib、/sbin 这 5个子目录都应该与根目录连在一起,不可独立成为某个分区。 |
/bin,/usr/bin, | 放置用户可执行的二进制文件的目录。 |
/boot | 放置 Linux 系统启动时用到的文件。启动会用到 Linux 的核心文件。这个目录下面的文件 vmlinuz 就是 Linux 的核心。这一点非常重要,如果引导程序(loader)选择 grub,那么这个目录内还有/boot/grub 子目录。 |
/dev | 在 Linux 系统上,任何设备都以文件类型存放在这个目录中,例如键盘、鼠 标、硬盘、光盘等。在此目录下的文件会多出两个属性,分别是主设备号(major device number)与辅设备号(minor device number)。系统核心就是通过这两个号码来判断设备的。重要的文件有/dev/null、/dev/tty[1-6]、/dev/ttyS*、 /dev/lp*、/dev/hd*、/dev/sd*等。 |
/etc | 系统主要的设置文件几乎都放在这个目录内,例如人员的账号密码文件、各种服务 的起始文件等。一般来说,这个目录下的各文件属性是可以让一般用户查看的,但只有 root 有权修改。在此目录下的文件几乎都是 ASII 的纯文本文件。不 过,FHS 建议不要在这个目录中放置可执行文件。比较重要的文件有:/etc/inittab、/etc/init.d、/etc /modprobe.conf、/etc/X11、/etc/fstab、/etc/sysconfig 等。 |
/home | 这是系统默认的家目录(home directory)。 |
/lib,/usr/lib, | 系统使用的函数库的目录。程序在运行过程中,可能会调用一些额外的参数,这需要函数库的协助。这些函数库就放在此处。比较重要的是/lib/modules 目录内有核心的相关模块。 |
/lost+found | 系统出现异常,产生错误时,会将一些遗失的片段放于此目录下,通常这个目录会自动出现在某个分区顶层的目录下。 |
/mnt/media | 这是软盘与光盘的默认载入点。通常软盘挂在/mnt/floppy 下,光盘挂在/mnt/cdrom 下。 |
/opt | 这是给主机额外安装软件所放的目录。举例来说,FC4使用 Fedora 团队开发的软件,如果想要自行安装新的 KDE 桌面软件,可以将该软件安装在这个目录下。不过,以前的 Linux 系统中,我们还是习惯放在/usr/local 目录下。 |
/proc | 这个目录本身是一个“虚拟文件系统”,它放置的数据都在内存中,例如系统核 心、外部设备的状态及网络状态等。因为这个目录下的数据都在内存中,所以本身不占任何硬盘空间。比较重要的文件有/proc/cpuinfo、/proc /dma、/proc/interrupts、/proc/ioports、/proc/net/*等。 |
/root | 系统管理员(root)的家目录。之所以放在这里,是因为系统第一个启动就载入的分区为/,而我们希望/root 能够与/放在同一块分区上。 |
/sbin,/usr/sbin, | 放一些系统管理员才会用到的可执行命令,例如:fdisk、mke2fs、fsck、mkswap、mount 等。与/bin 不太一样的地方是,这几个目录是给 root 系统管理用的。但目录下的执行文件可以让一般用户用来“查看”而不能设置。 |
/srv | 一些服务启动之后,这些服务所需要访问的数据目录。举例来说,WWW 服务器需要的网页数据就可以放在/srv/www 中。 |
/tmp | 这是让一般用户或者是正在执行的程序临时放置文件的地方。这个目录是任何人都能访问的,所以需要定期清理。当然,重要数据不可放在此目录中。 |
/usr | 根据 FHS 规范的第二层内容,在/usr 目录下,包含系统的主要程序、图形界面 所需要的文件、额外的函数库、本机自行安装的软件,以及共享的目录与文件。它有点像 Windows 操作系统中的“Program files”与“Windows”这两个目录的结合。在此目录下的重要子目录有:
|
/var | 这个目录也很重要,也是 FHS 规范的第二层目录内容。它主要放置系统执行过程中 经常变化的文件,例如缓存(cache)或者是随时更改的日志文件(log file)。此外,某些软件执行过程中会写入的数据库文件,例如 MySQL 数据库,也都写入这个目录中。它下面的主要目录有:
|
目录树以图标的方法来显示(图片摘自鸟哥的私房菜)