目录结构
大约 4 分钟
目录结构
目录规范
- FHS(Filesystem Hierarchy Standard)机构指定规范
目录类型
可分享的: 可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据, 是能够分享给网络上其他主机挂载用的目录
不可分享的: 自己机器上面运作的装置文件或者是与程序有关的socket文件等, 由于仅与自身机器有关,所以当然就不适合分享给其他主机了
不变的: 有些数据是不会经常变动的,跟随着distribution而不变动。 例如函式库、文件说明文件、系统管理员所管理的主机服务配置文件等等
可变动的: 经常改变的数据,例如登录文件、一般用户可自行收受的新闻组等
根目录
- /
根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的, 同时根目录也与开 机/还原/系统修复等动作有关。 由于系统开机时需要特定的开机软件、核心文件、开机所需程序、 函式库等等文件数据,若系统出现错误时,根目录也必须要包含有能够修复文件系统的程序才行。 因为根目录是这么的重要,所以在FHS的要求方面,他希望根目录不要放在非常大的分区, 因为越大的分区内你会放入越多的数据,如此一来根目录所在分区就可能会有较多发生错误的机会。 因此FHS标准建议:根目录(/)所在分区应该越小越好, 且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。 如此不但效能较佳,根目录所在的文件系统也较不容易发生问题。说白了,就是根目录和Windows的C盘一个样。
可执行程序目录
/bin
- 用于存放系统必备的可执行程序
- 在/bin底下的指令可以被root与一般帐号所使用,如:mkdir、cat等
/sbin
- 用于存放系统管理相关的可执行程序,如:reboot、reload等
/usr/sbin
- usr:unix system source
- 一般用于存放网络管理的可执行程序,如:httpd等
/usr/bin
- 用于存放系统预装的可执行文件,会随着系统升级而改变,如:yum等
/usr/local/bin
- 用于存放用户自己的可执行文件,如npm、node等
/boot
- 存放开机相关的文档
/dev
- 存放设备相关的信息
/etc
- 存放配置信息和用户信息,例如人员的帐号密码档、各种服务的配置信息等等。 一般来说,这个目录是可以让一般使用者查阅的,但是只有root有权力修改。不要将可执行文件放在这个目录
/media
- 可移除装置的挂在目录
/lib
- 存放系统的函式库
/tmp
- 这是让一般使用者或者是正在执行的程序暂时放置档案的地方。这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要资料不可放置在此目录啊。 因为FHS甚至建议在开机时,应该要将/tmp下的资料都删除
/srv
- srv可以视为service的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。 常见的服务例如WWW, FTP等等。 举例来说,WWW伺服器需要的网页资料就可以放置在/srv/www/里面。呵呵,看来平时我们编写的代码应该放到这里了
/mnt
- 如果妳想要暂时挂载某些额外的装置,一般建议妳可以放置到这个目录中。在古早时候,这个目录的用途与/media相同啦。 只是有了/media之后,这个目录就用来暂时挂载用了
/opt
- 这个是给第三方协力软体放置的目录 。 什么是第三方协力软体啊?举例来说,KDE这个桌面管理系统是一个独立的计画,不过他可以安装到Linux系统中,因此KDE的软体就建议放置到此目录下了。 另外,如果妳想要自行安装额外的软体(非原本的distribution提供的),那么也能够将你的软体安装到这里来。 不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下