目的
Linux中一切皆文件,我们通过访问文件就可以使用Linux的方方面面。Linux中文件非常的多,通常这些文件会以一定的标准来放置组织,最常用的标准就是Filesystem Hierarchy Standard(FHS)。
The filesystem standard has been designed to be used by Unix distribution developers, package developers, and system implementors. However, it is primarily intended to be a reference and is not a tutorial on how to manage a Unix filesystem or directory hierarchy.
FHS官方链接:https://www.pathname.com/fhs/
基础说明
Linux中最重要的一个目录就是根目录 /
,所有的一些内容都是在这个目录下面的。
与Windows中比较大差异的一点,Windows中通常系统相关的内容都安装在C盘的一些目录中,如果有其它分区则会出现D盘、E盘这些不同的盘符,插入U盘、移动硬盘这些也会出现新的盘符。但在Linux中不管是分区还是U盘、硬盘这些,只要你想使用就需要将它挂载在根目录或在它下面的某个目录中才能使用。
在作为路径使用时, 根目录 /
是一个绝对路径,而Linux中也有一些相对路径可用,比如 .
或 ./
表示当前目录、 ..
或 ../
表示上一级目录、 ~
或 ~/
表示当前用户的主目录(家目录)。
目录结构
下面的内容以FHS为基础进行介绍,但FHS只是一种建议,实际情况下并不一定非得遵循该标准,但大多数情况下都会参考或遵循该标准。
一级目录
目录 | 说明 | 备注 |
---|---|---|
/bin | 存放基础命令,所有用户均可使用 | |
/boot | 存放系统启动相关的文件,如内核文件和主引导扇区和扇区映射文件等 | |
/dev | 存放设备文件 | |
/etc | 存放系统相关配置文件 | /etc/opt 用于存放第三方软件的配置文件 |
/lib | 存放系统运行时需要用到的动态库文件和内核模块 | 这个目录可能有一些变种,比如lib32、lib64这些,以适应不同的程序 |
/media | 可移动媒体的挂载点,通常用来挂载光盘、磁盘等 | |
/mnt | 临时挂载点 | |
/opt | 存放第三方软件 | 通常可以用来存放一些大型的软件,可以把代码、库文件这些全放一起, 不要的时候整个文件夹一起删除就行 |
/sbin | 存放系统命令,多数需要root用户或权限才能操作 | |
/srv | 存放系统服务数据 | |
/tmp | 存放临时文件 | |
/usr | 存放系统资源,如二进制文件、头文件、库文件等 | 这个usr不是user的缩写 而是Unix Software Resource的缩写 通常我们用包管理器或是编译安装的程序的各个部分 会被分门别类的放置在这个目录下面的子目录中 |
/var | 存放使用运行中产生的缓存、日志,或是仅软件自身使用的一些库文件等 | 这个目录所占磁盘空间通常会随着系统的使用变大 |
/home | 普通用户主目录(家目录) | 例如名为naisu的用户其用户目录就为/home/nasiu |
/root | root用户主目录 | |
/proc | 存放内核与进程信息 | 这是虚拟文件系统,存在于内存中 |
/usr目录
/usr目录用于存放系统资源,如二进制文件、头文件、库文件等
目录 | 说明 | 备注 |
---|---|---|
/usr/bin | 存放大多数用户命令 | |
/usr/include | 存放C/C++库的头文件 | |
/usr/lib | 存放C/C++库文件 | |
/usr/local | 手动安装的软件目录 | |
/usr/sbin | 存放非重要的系统管理命令 | |
/usr/share | 存放应用程序的资源文件,如帮助文档、说明文档等 | |
/usr/X11R6 | X Window System保存位置 | |
/usr/game | 存放游戏和教育软件 | |
/usr/src | 存放源代码 |
/var目录
/var目录用于存放使用运行中产生的缓存、日志,或是仅软件自身使用的一些库文件等
目录 | 说明 | 备注 |
---|---|---|
/var/cache | 应用程序数据缓存 | |
/var/lib | 应用程序执行过程中的可变的数据信息 | |
/var/local | 存放/usr/local中程序用的可变数据 | |
/var/lock | 存放同时只能被单一程序访问的文件 | |
/var/log | 存放日志文件 | |
/var/opt | 存放第三方软件的可变数据 | |
/var/run | 存放与正在运行进程有关的数据 | |
/var/spool | 存放接下来需要处理的消息信息 | |
/var/tmp | 存放系统重启之间的临时数据 | |
/var/backups | 保留 | |
/var/cron | 保留 | |
/var/msgs | 保留 | |
/var/preserve | 保留 | |
/var/account | 存放进程统计日志 | |
/var/crash | 存放系统崩溃记录 | |
/var/games | 存放游戏临时数据 | |
/var/mail | 存放用户邮件 | |
/var/yp | 存放Network Information Service数据文件 |
总结
Linux中文件系统目录结构的内容主要就是这些了,更多内容可以参考文章开头的链接。