Linux FHS

FHS,全称为 Filesystem Hierarchy Standard (文件系统层次结构标准),定义了 Linux 操作系统中的主要目录及目录内容。


根目录下的子目录

* 为比较重要目录

目录 描述
/ 第一层次结构的根、 整个文件系统层次结构的根目录。
/bin/ bin是Binary的缩写,存放着linux系统命令。 需要在单用户模式可用的必要命令(可执行文件);面向所有用户,例如: catlscp
* /dev/ device,必要设备, 例如:/dev/null.
* /etc/ 特定主机,系统范围内的配置文件。存放系统配置文件和目录,非常重要,经常会用到它,要牢记。
* /home/ 用户的主目录,包含保存的文件、个人设置等,一般为单独的分区。
/lib/ 这个目录里存放着系统最基本的动态链接共享库,包含许多被/bin/和/sbin/中的程序使用的库文件,目录/usr/lib/中含有更多用于用户程序的库文件。作用类似于windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
/media/ linux系统自动识别的一些设备,例如U盘、光驱、移动硬盘等,linux会把识别的设备挂载到这个目录下。
/mnt/ 临时挂载的文件系统。系统提供该目录是为了让用户临时挂载别的文件系统的,可以将光驱挂载到/mnt/上,然后进入该目录就可以查看光驱里的内容。
/opt/ 可选应用软件包。主机额外安装软件所摆放的目录。默认是空的。
* /proc/ 虚拟文件系统,将内核与进程状态归档为文本文件。例如:uptimenetwork。在Linux中,对应 Procfs 格式挂载。
/root/ 超级用户的家目录
* /sbin/ 必要的系统二进制文件,例如:initipmount。大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,凡是目录sbin中包含的命令都是root权限才能执行的。
/srv/ 站点的具体数据,由系统提供。
/tmp/ 临时文件(参见 /var/tmp),在系统重启时目录中文件不会被保留。
* /usr/ 用于存储只读用户数据的第二层次; 包含绝大多数的(多)用户工具和应用程序。
* /var/ 变量文件——在正常运行的系统中其内容不断变化的文件,如日志,脱机文件和临时电子邮件文件。有时是一个单独的分区。
/run/ 代替 /var/run目录。
/boot 包括内核和其它系统启动期间使用的文件。是启动linux时使用的核心文件,有连接文件和镜像文件。

重要目录说明

目录 描述
/etc/hosts 本地域名解析文件
/etc/sysconfig/network IP、掩码、网关、主机名配置
/etc/issue 认证前的输出信息,默认输出版本内核信息
/etc/group 类似 /etc/passwd ,但说明的不是用户而是组.
/etc/passwd 用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息.
/etc/sudoers /etc/sudoers
/etc/syslog.conf 系统日志参数配置
/var/log/message 日志信息,按周自动轮询
/var/log/secure 记录登陆系统存取信息的文件,不管认证成功还是认证失败都会记录
/var/log/wtmp 记录登陆者信息的文件,last,who,w命令信息来源于此
/var/spool/clientmqueue/ 当邮件服务未开启时,所有应发给系统管理员的邮件都将堆放在此
/var/spool/mail/ 邮件目录
/var/log/ 各种程序的Log文件,特别是login (/var/log/wtmp log所有到系统的登录和注销) 和syslog (/var/log/messages 里存储所有核心和系统程序信息. /var/log 里的文件经常不确定地增长,应该定期清除.
/var/run 保存到下次引导前有效的关于系统的信息文件.例如, /var/run/utmp 包含当前登录的用户的信息.
/var/cache/ 应用程序缓存数据。这些数据是在本地生成的一个耗时的I/O或计算结果。应用程序必须能够再生或恢复数据。缓存的文件可以被删除而不导致数据丢失。
/proc/meminfo 查看内存信息
/proc/loadavg 还记得 top 以及 uptime 吧?没错!上头的三个平均数值就是记录在此!
/proc/uptime 就是用 uptime 的时候,会出现的资讯啦!
/proc/cpuinfo 关于处理器的信息,如类型、厂家、型号和性能等。
/proc/version 核心的版本,就是用 uname -a 显示的内容啦!
/dev/ram[0-15] 内存
/dev/null 无限数据接收设备,相当于黑洞
/dev/fd[0-7] 标准软驱

Mac 目录结构

Unix 通用目录

1
2
3
4
5
6
7
8
/bin       传统unix命令的存放目录,如ls,rm,mv等。 
/sbin 传统unix管理类命令存放目录,如fdisk,ifconfig等等。
/usr 第三方程序安装目录。
/dev 设备文件存放目录,如何代表硬盘的/dev/disk0。
/usr/bin, /usr/sbin, /usr/lib,其中/usr/lib目录中存放了共享库(动态链接库).
/etc 标准unix系统配置文件存放目录,如用户密码文件/etc/passwd。此目录实际为指向/private/etc的链接。
/tmp 临时文件存放目录,其权限为所有人任意读写。此目录实际为指向/private/tmp的链接。
/var 存放经常变化的文件,如日志文件。此目录实际为指向/private/var的链接。

MacOSSierra 特有目录

1
2
3
4
5
6
7
8
/Applications        应用程序目录,默认所有的GUI应用程序都安装在这里
/Library 系统的数据文件、帮助文件、文档等等
/Network 网络节点存放目录
/System 只包含一个名为Library的目录,这个子目录中存放了系统的绝大部分组件,如各种framework,以及内核模块,字体文件等等。
/Users 存放用户的个人资料和配置。每个用户有自己的单独目录。
/Volumes 文件系统挂载点存放目录。
/cores 内核转储文件存放目录。当一个进程崩溃时,如果系统允许则会产生转储文件。
/private 里面的子目录存放了/tmp, /var, /etc等链接目录的目标目录。

相关链接

文件系统层次结构标准
linux目录结构详细介绍
linux系统目录详解