linux文件结构
linux文件结构
概述
在linux中,所有的文件和目录都被组织成一个以根节点开始的倒置的树状结构
文件系统的最顶层是从根目录开始的,使用/来表示根目录,根目录之下既可以是目录也可以是文件,而每一个目录又可以包含子目录文件,反复,构成了一个庞大的文件系统
在文件系统中有两个特殊目录,一个是用户所在的工作目录,一个是父目录
一个文件或者目录如果以.开始,表示隐藏目录或者文件,默认查找不显示,比如.bashrc
登录系统输入:
1 | |
会看到:
1 | |
这就是树状结构
| 目录 | 作用详解 | 常见文件 / 示例 |
|---|---|---|
/ |
根文件系统,所有挂载点与路径的起点。包含系统必须的子目录与入口结构。 | 无具体数据文件,只有子目录结构。 |
/bin |
系统启动和单用户模式下必须的基础命令,所有用户可执行。 | ls, cp, mv, rm, bash |
/sbin |
系统管理与维护命令,面向 root。 | fsck, reboot, shutdown |
/usr |
用户级程序与库的主集合,包含大部分系统软件、文档与工具。 | /usr/bin, /usr/lib, /usr/share |
/usr/bin |
常规用户程序的主要放置目录。 | python3, vim, git |
/usr/sbin |
管理工具的扩展集合。 | useradd, apache2ctl |
/usr/lib |
/usr 内程序所依赖的动态库与模块。 |
各类 .so 动态库 |
/usr/local |
本机安装或编译软件的独立区域。 | /usr/local/bin, /usr/local/lib |
/lib 或 /lib64 |
系统启动核心库、动态链接器所在位置。 | libc.so.6, ld-linux.so |
/etc |
系统级配置中心,统一存放所有服务和系统配置。 | passwd, group, fstab, ssh/sshd_config |
/home |
普通用户的个人主目录集合。 | /home/user/.bashrc, /home/user/Documents |
/root |
root 用户的主目录。 | /root/.ssh/ |
/var |
频繁变化的数据:日志、缓存、数据库运行文件等。 | /var/log, /var/lib, /var/cache |
/var/log |
所有系统与服务日志的集中位置。 | syslog, auth.log, kern.log |
/var/cache |
应用和包管理器缓存。 | /var/cache/apt/ |
/var/lib |
服务的持久化状态数据。 | mysql/, docker/ |
/tmp |
程序运行时的临时文件区,随时可清理。 | 临时文件、socket 路径 |
/boot |
启动所需文件:内核、initramfs、引导配置。 |
vmlinuz-*, initrd.img, grub/grub.cfg |
/dev |
设备节点集合,文件即设备。 | /dev/sda, /dev/null, /dev/tty0 |
/proc |
由内核提供的虚拟文件系统,展示系统与进程的实时信息。 | /proc/cpuinfo, /proc/<pid>/ |
/sys |
设备、驱动、内核子系统的状态接口。 | /sys/class/net/, /sys/block/ |
/mnt |
手动挂载的临时挂载点。 | /mnt/usb |
/media |
自动挂载外接设备的默认位置。 | /media/user/USB_DRIVE |
/run |
运行时数据存放点,重启后清空。 | *.pid, 运行状态 socket 文件 |
linux的几个系统关键区域
除非你知道你在干什么,否则不要更改!
/etc— 系统配置核心
所有关键配置集中于此。任何错误修改都可能导致服务挂掉,甚至系统无法启动
1 | |
/bin、/sbin、/usr/bin、/usr/sbin — 系统指令区
系统预置命令的所在位置。
/bin、/usr/bin:供普通用户使用的基础指令(如ls位于/bin/ls)。/sbin、/usr/sbin:系统管理指令,主要由root使用。
/var — 动态数据区
系统运行时不断写入的数据都落在这里。
重点是**/var/log**,各种服务日志全部存放此处;邮件、缓存、队列等内容也在此目录下维护。
linux文件结构特别之处
everything is a file万物皆是文件
1 | |
这些都当成了文件接口,访问外设就是读取文件
- 无盘符
所有的设备通过挂载加入到一个目录树中,存储设备被关联到系统的目录节点,让设备内容通过这个目录访问,挂载完成后,目录原本的内容不可见,新设备的内容可以像本地文件一样操作
好处是:
- 统一的文件系统结构:所有设备都挂载在单一的目录树里,不需要区分不同盘符。
- 灵活接入各种存储:本地磁盘、移动设备、网络共享都可以通过挂载方式整合。
- 权限及访问控制:可针对挂载点设定读写权限、只读/读写模式等。
- 动态管理:可根据需要随时挂载/卸载设备,不影响整体系统结构。
linux文件结构
https://rubbishbro.github.io/2025/12/07/linux-file-structure/