与Windows不同,Linux以树形结构组织文件。Linux上一切皆“文件”,存放在一个唯一的“虚拟文件系统”中的,这个“虚拟文件系统”是以根目录(/)为起始节点的一棵树。本文以CentOS系统为例,介绍Linux文件系统目录结构。
查看Linux系统目录结构
tree
命令可以以树状结构输出目录结构,例如列出跟目录结构:
[root@node ~]# tree -L 1 -d / / ├── bin -> usr/bin ├── boot ├── dev ├── etc ├── home ├── lib -> usr/lib ├── lib64 -> usr/lib64 ├── lost+found ├── media ├── mnt ├── opt ├── proc ├── root ├── run ├── sbin -> usr/sbin ├── srv ├── sys ├── tmp ├── usr └── var 20 directories
参数中的 -L
表示层级(level),示例中只列出子目录,-d
表示仅列出目录(directory)。
不加 -L 和 -d 选项,tree
命令以树形结构输出所有的文件和目录。在包含大量文件的系统上,屏幕上会疯狂输出各种信息。
类似的,pstree
可以列出进程的层级结构。
Linux文件系统重要目录
本节介绍Linux文件系统中的重要目录。
- /bin:bin是Binary的缩写,,这个目录存放着最经常使用的命令;
- /boot:存放启动Linux时使用的核心文件;
- /dev :dev是Device(设备)的缩写, 该目录下存放Linux的外部设备,Linux中访问设备的方式和访问文件的方式是相同的;
- /etc:系统、各种软件配置文件的统一存放地;
- /home:用户的主目录,子目录名是以用户的账号命名的;
- /lib(64):存放着系统最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库;
- /lost+found:一般情况下是空的,系统非法关机后,这里就存放了一些文件;
- /media:linux系统会自动识别一些设备,例如U盘、光驱等等,识别后linux会把识别的设备挂载到这个目录下;
- /mnt:该目录是让用户临时挂载别的文件系统,例如可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容;
- /opt: 额外软件的安装和数据目录,默认是空的;
- /proc:虚拟的目录,系统内存的映射,可以通过直接访问这个目录来获取系统信息;
- /root:系统管理员root家目录;
- /sbin:s是Super User的意思,存放系统管理员使用的管理程序;
- /srv:存放一些服务启动之后需要提取的数据;
- /tmp:如其名,用来存放临时文件;
- /usr:非常重要的目录,许多用户应用程序和文件都放在这个目录下。该目录的几个重要子目录:
- /usr/bin:多数日常应用程序存放的位置,许多系统上/bin默认指向/usr/bin;
- /usr/include: C/C++头文件;
- /usr/lib: 普通用户使用的库文件;
- /usr/local: 个人安装的软件,通常需要手动指定;
- /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
- /usr/src:内核源代码默认的放置目录。
- /var:存放着不断扩充东西的目录,例如各种日志文件;
- /run:临时文件系统,存储系统启动以来的信息。系统重启时,目录下的文件都被删掉或清除。
安装系统时,一般建议/home目录挂载到单独的分区上,即使重装系统也不受影响。对Linux不熟悉的新手,谨慎操作 /etc、/boot这两个重要目录,否则可能导致重启后系统无法正常工作。
参考
1. Linux 系统目录结构