linux系统目录架构

一. 根目录 (/) 的意义与内容:

FHS标准建议:根目录(/)所在分区应该越小越好, 且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。 如此不但效能较佳,根目录所在的文件系统也较不容易发生问题。说白了,就是根目录和Windows的C盘一个样。
根据以上原因,FHS认为根目录(/)下应该包含如下子目录:

目录 放置档案内容
/bin /bin放置的是在单人维护模式下还能够被操作的指令。在/bin底下的指令可以被root与一般帐号
所使用,主要有:cat,chmod(修改权限), chown, date, mv, mkdir, cp, bash等等常用的指令。
/boot 主要放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需设定档等等。
Linux kernel常用的档名为:vmlinuz ,如果使用的是grub这个开机管理程式,则还会存
在/boot/grub/这个目录。
/dev 在Linux系统上,任何装置与周边设备都是以档案的型态存在于这个目录当中。
只要通过存取这个目录下的某个档案,就等于存取某个装置。比要重要的档案有
/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等
/etc 系统主要的设定档几乎都放置在这个目录内,例如人员的帐号密码档、各种服务的启始档等等。 
一般来说,这个目录下的各档案属性是可以让一般使用者查阅的,但是只有root有权力修改。
 FHS建议不要放置可执行档(binary)在这个目录中。
/home 这是系统预设的使用者家目录(home directory)
/lib
/lib64
放置的开机时使用到的函数库文件以及在/bin或/sbin底下的指令会呼叫的函式库
/media 放置的就是可移除的装置。 包括软碟、光碟、DVD等等装置都暂时挂载于此。 常见的有:
/media/floppy, /media/cdrom等等。
/mnt 挂载某些额外的装置,一般建议妳可以放置到这个目录中。在古早时候,这个目录的用途与
/media相同。 只是有了/media之后,这个目录就
用来暂时挂载用了
/opt 三方软件放置的地方
/root 挂载根目录时,该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录
放置在同一个分区中。
/sbin 放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令
/svr 视为service的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。 常见的
服务例如WWW, FTP等等。
/tmp 这是让一般使用者或者是正在执行的程序暂时放置档案的地方。这个目录是任何人都能够存取的,
所以你需要定期的清理一下。
扩充目录 放置档内容
/proc 这个目录本身是一个虚拟文件系统,他放置的资料都是在内存当中,例如系统核心、进程、周边
装置的状态及网络状态等等。因为这个目录下的资料都是在记忆体(内存)当中,所以本身不
占任何硬盘空间。比较重要的档案(目录)
/sys 这个目录其实跟/proc非常类似,也是一个虚拟的档案系统,主要也是记录与核心相关的资讯。
包括目前已载入的核心模组与核心侦测到的硬体装置资讯等等。 这个目录同样不占硬盘容量。

另外要注意的是,因为根目录与开机有关,开机过程中仅有根目录会被挂载, 其他分区则是在开机完成之后才会持续的进行挂载的行为。就是因为如此,因此根目录下与开机过程有关的目录即红字的目录, 不能够与根目录放到不同的分区去。

二. /usr 的意义与内容:

目录 放置档案内容
/usr/bin 绝大部分的用户可使用的与开机无关的指令都放在这里,与/bin的区别就是与开机无关
/usr/include c/c++等程序语言的档头(header)与包含档(include)放置处
/usr/lib
/usr/lib64
包含各应用软件的函式库、目标文件
/usr/local 管理员在本机自行安装自己下载的软件,建议安装到此目录, 这样会比较便于管理。该目录下也是具有bin, etc, include, lib...的次目录
/usr/sbin 非系统正常运作所需要的系统指令。最常见的就是某些网络服务器软件的服务指令。
/usr/share 多数联机或者离线帮助文档或手册放置到该目录下
/usr/src 一般原始码建议放置到这里,src有source的意思。至于核心原始码则建议放置到/usr/src/linux/目录下。

三. /var 的意义与内容:

目录 放置档内容
/var/cache 应用程序本身运作过程中会产生的一些暂存档
/var/lib 程序本身执行的过程中,需要使用到的数据文件放置的目录。在此目录下各自的软件应
该要有各自的目录。举例来说,MySQL的数据库放置到/var/lib/mysql/而rpm的数据库则
放到/var/lib/rpm去
/var/lock 某些装置或者是文件资源一次只能被一个应用程序所使用,如果同时有两个程序使用该装
置时, 就可能产生一些错误的状况,
因此就得要将该装置上锁(lock),以确保该装置只会给单一软件所使用。
/var/log 非常重要。这是登录文件放置的目录。里面比较重要的文件如/var/log/messages,
/var/log/wtmp(记录登入者的信息)等。
/var/mail 放置个人电子邮件信箱的目录,不过这个目录也被放置到/var/spool/mail/目录中,通常这
两个目录是互为链接文件。
/var/run 某些程序或者是服务启动后,会将他们的PID放置在这个目录下
/var/spool 这个目录通常放置一些队列数据,所谓的“队列”就是排队等待其他程序使用的数据。 这些
数据被使用后通常都会被删除。举例来说,系统收到新信会放置到/var/spool/mail/中, 但
使用者收下该信件后该封信原则上就会被删除。信件如果暂时寄不出去会被放到
/var/spool/mqueue/中, 等到被送出后就被删除。如果是工作排程数据(crontab),就会被
放置到/var/spool/cron/目录中。

四.系统大概构架图


发布了49 篇原创文章 · 获赞 4 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章