文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此反复就可以构成一个庞大的文件系统。
FHS(Filesystem Hierarchy Standard)定义了Linux系统中的主要目录及存放的内容,多数Linux发行版遵从FHS标准,只有少数Linux发行版没有使用FHS标准。
事实上,FHS针对目录树架构仅定义出三层目录下应该放置什么数据而已,分别是:
/(root,根目录):与启动系统有关
/usr(unix software resource):与软件安装/执行有关
/var(variable):与系统运行过程有关
目录及其作用
/bin binary的缩写,表示“二进制文件”,所有用户在单用户模式中必须具备的二进制命令文件,如 cat, ls, cp.
/boot 英语“启动”,包含与Linux启动密切相关的文件。
/dev device缩写,“设备”,包含外设。它里面的子目录,每一个对应一个外设,比如代表我们的光盘驱动器的文件就会出现在这个目录下面。
/etc 系统的配置文件
/home 用户的个人目录,包含保存的文件和个人设置等
/lib /bin/ 和/sbin/ 中必须的依赖库
/media “媒体”可移动的外设(USB盘、SD卡、DVD、光盘等)插入电脑时
/mnt mount缩写,有点类似media目录,一般用于临时挂载一些装置
/opt 可选的应用软件包,用于安装多数第三方软件和插件
/root 超级用户root的家目录,一般用户的家目录位于home下
/sbin system binary缩写,表示“系统二进制文件”,包含,系统级的重要可执行程序
/srv 包含一些网络服务启动后所需要取用的数据
/tmp temporary“临时的”,普通用户和程序存放临时文件的地方,通常在重启后清空
/usr Unix操作系统软件资源,最庞大的目录之一,类似于C:\windows,usr目录里安装了大部分用户要调用的程序
/var variable“动态的、可变的”,系统运行中变化的文件
/etc/bashrc 用于系统范围内的别名和函数
/etc/fstab 在引导期间挂载的文件系统的标准配置文件,指定启动时需要自动安装的文件系统列表。也包括用swapon -a启用的swap区的信息。
/etc/passwd 用户的基本信息,包括用户的用户名,UID,GID,用户信息说明,用户的主文件夹,用户的Shell等信息。
/etc/profile 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
/etc/profile.d 用来包含/etc/profile 文件要执行的脚本
/etc/shadow /etc/passwd文件的补充,早期用户的密码保存在/etc/passwd里面,后来为了安全,就将密码保存到此文件里面,/etc/passwd里用x代替密码。包括帐号名称,密码,最近改动密码的日期,密码不可被改动的天数,密码需要重新更改的天数,密码需要更改期限前的警告天数,密码过期后的帐号宽限时间,帐号失效日期等信息。在安装了影子(shadow)口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd文件中的加密口令移动到/etc/shadow中,而后者只对超级用户(root)可读。这使破译口令更困难,以此增加系统的安全性。
/etc/shells 列出可以使用的shell
/etc/sysconfig/
/etc/sysconfig/init 文件中的参数指定了系统在引导过程中的外观和体验
/etc/sysconfig/network 简单的网络配置内容
/etc/sysconfig/network-scripts/ 存储关于网络配置的脚本文件
/etc/sysconfig/network-scripts/ifcg-eth0 网卡地址信息
/etc/yum.repos.d/ 里面的配置文件用来连接系统和实际库
/proc 这个目录本身是一个虚拟文件系统,它并不存在某个磁盘上,放置的数据都是在内存当中。例如系统内核、进程信息、外接设备及网络的状态等,因为这个目录下的数据都是在内存中,所有本身不占任何磁盘。
/var/log/ 各种程序的日志(log)文件。
/var/cache/ 应用程序本身运行过程中产生的一些暂存文
/var/lib/ 程序本身执行过程中,需要使用到的数据文件放置的目录,在此文件夹下,各自的软件应该要有各自的目录。
/var/lock/ 锁定文件。许多程序遵循在/var/lock/ 中产生一个锁定文件的约定,以用来支持他们正在使用某个特定的设备或文件。其他程序注意到这个锁定文件时,就不会再使用这个设备或文件。
/var/run Run-time variable data. 这个目录包含描述系统的自启动以来的系统信息数据
在 FHS 3.0中, /var/run 被 /run 替代。系统不应该在使用/var/run 或者提供/var/run 到 /run 的符号连接,防止出现兼容性倒退
/var/spool/ 这个目录通常放置一些队列数据,所谓的队列就是排队等待其他程序使用的数据。
/var/tmp 重启时会被保存的临时数据