Linux文件目录
Contents
Linux文件目录
Linux文件系统层次概述
文件系统包含了很多不同的初始路径,本节对不同的路径名称进行概述,可以通过man file-hierarchy
来查看详细信息
通用目录
/
:根目录/boot/
:存放操作系统的启动的核心文件,应考虑设置为只读。/etc/
:存放系统特定的配置文件和子目录/home/
:存放用户家目录,除系统用户外,每个用户应该有一个以自己用户名为名的家目录,可以通过$HOME
访问/root/
:root
用户的家目录/srv/
:存放服务启动后需要的数据/tmp/
:存放小的临时文件- 通常被挂载为
tmpfs
- 大的临时文件存放在
/var/tmp
- 在启动时被刷新
- 文件没有确定的删除时间
- 通常被挂载为
/mnt/
:用户挂载目录/lost+found/
:通常为空,非正常关机时存储一些文件/bin/
:存放二进制文件/sbin/
:存放超级用户使用的二进制文件/lib/
:存放动态共享库,类似于windows的dll文件/lib64/
:同上/opt/
:用户级的程序目录- 类似于
D:/Software
/usr/local/
类似于C:/Program Files/
,自己编译的软件会安装到此/usr/local/
- 类似于
注意bin,sbin,lib,lib64需要查看兼容性符号链接章节
运行时目录
/run/
:存放运行时数据,套接字文件等的临时文件系统- 在启动时被刷新
/var/run/
应指向此目录
/run/log/
:存放实时系统日志/run/usr/
:存放每个用户的运行时目录- 通常每个都是个临时文件系统
- 当用户log out 或者重启时刷新
/run/media/
:存放实时挂载的硬盘
厂商提供的资源目录
/usr/
:存放厂商提供的程序和文件/usr/src/
:存放所有程序的源代码,主要是Linux核心程序/usr/local/
:存放本地安装的软件和其他文件,与系统无关/usr/bin/
:存放系统用户使用的二进制文件- shell不可用的二进制文件应存放到
/usr/lib/
- shell不可用的二进制文件应存放到
/usr/include/
:存放系统库的c/c++ api header
/usr/lib/
:静态的私有的厂商数据,放有内部可执行文件和shell不可用的二进制文件,动态共享库/usr/share/
:在多个包之间共享的资源,例如文档,man pages,字体等/usr/share/doc/
:操作系统或系统包的文档
持久性可变系统文件
/var/
:存放持久性的可变的系统数据/var/cache/
:持久性的系统缓存数据/var/lib/
:持久性的系统数据/var/log/
:持久性的系统日志/var/tmp/
:更大的持久实时系统,相对于/tmp/
虚拟内核和API文件系统
/dev/
:存放外部设备/proc/
:存放着程序列表和功能性组件等的虚拟文件系统- 虚拟目录,是内存的映射
- 不在硬盘而在内存上,可以修改
/proc/sys/
:存储内核状态/sys/
:特殊的文件系统,它是内核向用户空间暴露系统信息的一种方式。它的目录结构和文件通过 sysfs 文件系统实现,是一种动态的文件系统,随着系统状态的变化而变化。
兼容性符号链接
/bin
,/sbin
,/usr/sbin/
->/usr/bin
上/lib/
->/usr/lib/
/lib64/
->/usr/lib64/
/var/run/
->/run/