Linux下,根据FHS定义出来的每个目录的作用
(下表摘自《鸟哥的Linux的私房菜》)
在Linux下,根据FHS定义出来的每个目录应该放置的档案内容为:
目录 | 应放置档案内容 |
/ | 根目录 root (/),一般建议在根目录底下只接目录,不要直接有档案在 / 底下。根目录是开机的时候系统第一个挂载的 partition ,所以,所有开机过程会用到的档案, 应该都要放置在这个 partition 当中。举例来说, /etc, /bin, /dev,/lib, /sbin 这五个次目录都应该要与根目录连在一起,不可独立成为某个partition 呢! |
/bin, /usr/bin, /usr/local/bin |
除了 /bin 之外, /usr/local/bin, /usr/bin 也是放置『使用者可执行的 binaryfile 的目录』喔!举例来说, ls, mv, rm, mkdir, rmdir, gzip, tar, cat, cp,mount 等等重要指令都放在这个目录当中。 |
/boot |
这个目录主要的目的是放置 Linux 系统开机会用到的档案。 开机会用到什么呢?没错~就是 Linux 的核心档案。这个目录底下文件名为 vmlinuz 的就是 Linux的 Kernel 啦!粉重要的东西! 而如果你的开机管理程序 (loader) 选择 grub 的话,那么这个目录内还有 /boot/grub 这个次目录呦! |
/dev | 在 Linux 系统上,任何装置与接口设备都是以档案的型态存在于这个目录当中的。您只要透过存取这个目录底下的某个档案,就等于存取某个装置啰~ 主要又分为接口设备 (character device),例如键盘、鼠标等;以及储存设备 (block device),例如硬盘、光盘等等。在此目录下的档案会多出两个属性,分别是 major devicenumber , 与 minor device number 。我们的系统核心就是透过这两个 number 来判断装置的呢! 比要重要的档案有 /dev/null, /dev/tty[1-6], /dev/ttyS*,/dev/lp*, /dev/hd*, /dev/sd* 等等 |
/etc |
系统主要的设定文件几乎都放置在这个目录内,例如人员的账号密码文件、 各种服务的启始档等等。一般来说,这个目录下的各档案属性是可以让一般使用者查阅的, 但是只有 root 有权力修改。并且在此目录下的档案几乎都是 ASCII 的纯文本文件哩。 不过, FHS 建议不要放置可执行文件在这个目录中喔。比较重要的档案有: /etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11, /etc/fstab, /etc/sysconfig/ 等等。另外,其下重要的目录有: • /etc/init.d/:所有服务的预设启动 script 都是放在这里的,例如要启动或者关闭 iptables 的话: /etc/init.d/iptables start /etc/init.d/iptables stop • /etc/xinetd.d/:这就是所谓的 super daemon 管理的各项服务的设定文件目录。 • /etc/X11:与 X Window 有关的各种设定档都在这里,尤其是 xorg.conf或 XF86Config 这两个 X Server 的设定档。 |
/home |
这是系统预设的使用者家目录 (home directory)。在你新增一个一般使用者账号时, 预设的使用者家目录都会规范到这里来。比较重要的是,家目录有两种代号喔: ~:代表目前这个使用者的家目录 ~usr_1 :则代表 usr_1 的家目录! |
/lib, /usr/lib, /usr/local/lib |
系统会使用到的函式库放置的目录。 程序在运作的过程中,可能会呼叫一些额外的功能参数,那需要函式库的协助! 这些函式库就放在此处。比较重要的是/lib/modules 这个目录内会摆放 kernel 的相关模块喔! |
/lost+found | 系统不正常产生错误时,会将一些遗失的片段放置于此目录下, 通常这个目录会自动出现在某个 partition 最顶层的目录下。例如你加装一棵硬盘于 /disk 中,那在这个目录下就会自动产生一个这样的目录 /disk/lost+found |
/mnt /media |
这是软盘与光盘预设挂载点的地方;通常软盘挂在 /mnt/floppy 下,而光盘挂在/mnt/cdrom 下,不过也不一定啦!只要你高兴,随便找一个地方来挂载也可以呀!另外,目前也规划出另一个 /media 的目录呢!与 /mnt 有点类似~ |
/opt | 这是给主机额外安装软件所摆放的目录。举例来说, FC4 使用的是 Fedora 社群开发的软件, 如果您今天想要自行安装新的 KDE 桌面软件的话,可以将该软件安装在这个目录下的意思。 不过,以前的 Linux 系统中,我们还是习惯放置在/usr/local 目录下呢! |
/proc | 这个目录本身是一个『虚拟档案系统』喔!他放置的数据都是在内存当中, 例如系统核心、形成信息、接口设备的状态及网络状态等等。因为这个目录下的数据都是在内存当中, 所以本身不占任何硬盘空间啊!比较重要的档案例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等。 |
/root | 系统管理员 (root) 的家目录。之所以放在这里, 是因为我们提过,系统第一个开机就被挂载的 partition 为 / , 而我们希望 /root 能够与 / 放在同一块partition 上面之故。 |
/sbin, /usr/sbin, /usr/local/sbin |
放置一些系统管理员才会动用到的执行指令,例如: fdisk, mke2fs, fsck,mkswap, mount 等等。与 /bin 不太一样的地方,这几个目录是给 root 等系统管理用的。但是本目录下的执行文件还是可以让一般使用者用来『察看』而不能设定喔! |
/srv | 一些服务启动之后,这些服务所需要取用的数据目录。举例来说,WWW 服务器需要的网页资料就可以放置在 /srv/www 里面。 |
/tmp | 这是让一般使用者或者是正在执行的程序暂时放置档案的地方。 这个目录是任何人都能够存取的,所以您需要定期的清理一下。当然,重要数据不可放置在此目录啊! |
/usr |
由 FHS 规范的第二层内容,在 /usr 此目录下,包含系统的主要程序、 图形接口所需要的档案、额外的函式库、本机端所自行安装的软件,以及共享的目录与文件等等, 都可以在这个目录当中发现。事实上,他有点像是 Windows 操作系统当中的『Program files』与 『WinNT』这两个目录的结合!在此目录下的重要次目录有:
|
/var |
这个目录也很重要,也是 FHS 规范的第二层目录内容。他主要放置的是针对系统执行过程中, 常态性变动的档案放置的目录。举例来说,例如快取档案 (cache) 或者是随时变更的登录档 (log file) 都是放在这个目录中的。此外,某些软件执行过程中会写入的数据库档案, 例如 MySQL 数据库,也都写入在这个目录中!很重要吧!他底下的重要目录有:
|
可以粗略概括如下:
目录 | 作用 |
---|---|
/bin |
二进制可执行命令 |
/dev |
设备特殊文件 |
/etc |
系统管理和配置文件 |
/etc/rc.d |
启动的配置文件和脚本 |
/home |
用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 |
/lib |
标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 |
/sbin |
系统管理命令,这里存放的是系统管理员使用的管理程序 |
/tmp |
公用的临时文件存储点 |
/root |
系统管理员的主目录(呵呵,特权阶级) |
/mnt |
系统提供这个目录是让用户临时挂载其他的文件系统。 |
/lost+found |
这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里 |
/proc |
虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。 |
/var |
某些大文件的溢出区,比方说各种服务的日志文件 |
/usr |
最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:
|