文件目录

文件

Linux 系统中一切皆文件。

目录

层级结构

/ 根目录 - 整个文件系统的起点,所有其他目录都挂载在其下。 包含所有顶层目录(如 /bin, /etc, /home 等)。
/bin 二进制文件 - 存放所有用户必需的基本命令(可执行文件)。 ls, cp, mkdir, bash, cat, rm等。
/boot 引导文件 - 存放系统启动所需的文件(内核、引导加载程序配置)。 vmlinuz(内核), initramfs, grub/(GRUB 配置文件)
/dev 设备文件 - 存放代表硬件或虚拟设备的特殊文件。 sda(硬盘), ttyS0(串口), null, zero, random, usb等设备文件。
/etc 系统配置文件 - 存放系统和应用程序的全局配置文件。 passwd, group, hosts, fstab, apt/sources.list, nginx/等配置文件目录。
/home 用户主目录 - 存放普通用户的个人文件和配置。每个用户通常有一个子目录(如 /home/username)。 ~/.bashrc, ~/Documents/, ~/Downloads/, 用户个人文件。
/lib 基础共享库 - 存放 /bin和 /sbin中二进制程序所需的核心共享库文件。 .so.(共享库),如 libc.so.6(C 库)。现代系统常使用 /usr/lib和 /lib64替代。
/lib64 64位库 (x86_64 系统) - 存放 64 位系统的核心共享库。 64位版本的 *.so.*库文件。
/media 可移动媒体挂载点 - 系统自动挂载可移动设备(如 U 盘、光盘)的位置。 /media/usb, /media/cdrom等。
/mnt 临时挂载点 - 管理员手动挂载文件系统的临时目录。(mount) 管理员挂载 NFS 共享、额外硬盘分区等的位置。
/opt 可选应用软件 - 存放第三方应用程序或大型软件包。(option) /opt/google/chrome/, /opt/jdk/, /opt/vmware/等。
/proc 进程与内核信息 - 虚拟文件系统,提供运行中进程和内核状态的实时信息(非真实磁盘文件)。 /proc/cpuinfo, /proc/meminfo, /proc/1234/(PID 为 1234 的进程目录)。
/root root 用户主目录 - 系统管理员(root)的个人目录(非 /home/root)。 root 用户的配置文件和个人文件。
/run 运行时数据 - 存放系统启动后需要存储的临时文件(如 PID 文件、套接字)。替代旧的 /var/run。 *.pid(进程ID文件), /run/lock/(锁文件), /run/user/1000/(用户级运行时数据)。
/sbin 系统管理二进制文件 - 存放管理员使用的系统管理命令(通常需要 root 权限)。 fdisk, ifconfig, iptables, reboot, shutdown等。
/srv 服务数据 - 存放特定服务提供的数据;如网站文件、FTP 资源;service。 /srv/www/(网站根目录), /srv/ftp/(FTP 资源)。
/sys 系统设备与驱动 - 虚拟文件系统,提供与硬件设备、驱动和内核特性交互的统一接口。 /sys/class/(设备类别), /sys/devices/(物理设备树), /sys/module/(加载模块)。
/tmp 临时文件 - 存放程序和用户的临时文件,系统重启时通常被清空(可用 tmpfs内存文件系统加速)temp。 应用程序的临时文件、下载缓存等。
/usr 用户程序与资源 - 次级层级,包含非系统运行必需的用户程序、库、文档等(只读或可共享)。 大量子目录如下所示。
↳ /usr/bin 用户二进制文件 - 绝大多数用户命令的可执行文件。 gcc, python, vim, curl等几乎所有非基础命令。
↳ /usr/lib 用户共享库 - /usr/bin和 /usr/sbin中程序的共享库。 各种软件包的 *.so库文件。
↳ /usr/sbin 非必要系统管理命令 - 系统管理命令(非基础系统运行必需)。 httpd(Web服务), sshd(SSH守护进程) 等非基础服务的命令。
↳ /usr/include 头文件 - C/C++ 编程语言的标准头文件。 stdio.h, stdlib.h, math.h, linux/(内核头文件) 等。
↳ /usr/share 共享资源 - 架构无关的数据(文档、图标、字体、时区数据等)。 /usr/share/man/(手册页), /usr/share/doc/, /usr/share/zoneinfo/(时区数据)。
↳ /usr/local 本地软件 - 系统管理员手动编译安装的软件及其资源。优先级高于 /usr。 结构类似 /usr(bin, sbin, lib, share, etc)。
↳ /usr/src 源代码 - 存放源代码(如内核源代码、驱动代码)。 linux-headers-x.x.x/(内核源码头文件)。
/var 可变数据 - 存放频繁变化的数据(日志、缓存、数据库、邮件、假脱机文件等)。 重要子目录如下。
↳ /var/log 日志文件 - 系统和应用程序的日志文件。 syslog, auth.log, nginx/access.log等。
↳ /var/cache 缓存数据 - 应用程序的缓存文件。 apt/archives/(APT包缓存), man/(手册页缓存)。
↳ /var/lib 状态信息 - 应用程序和服务的持久性数据与状态信息(数据库、软件包元数据等)。 /var/lib/mysql/(MySQL数据库), /var/lib/dpkg/(dpkg包信息)。
↳ /var/spool 队列数据 - 存放等待处理的排队任务(邮件、打印任务、cron 计划任务等)。 /var/spool/mail/(用户邮箱), /var/spool/cron/crontabs/(用户cron任务)。
↳ /var/tmp 重启后保留的临时文件 - 存放需要在系统重启后保留的临时文件(比 /tmp保留时间长)。 需要较大持久性的临时文件。
/snap (Ubuntu等) Snap 包 - 存放使用 Snap 包管理系统安装的应用程序及其核心数据。 各 Snap 应用的只读挂载点和数据目录。
/lost+found 文件系统恢复 - 通常在磁盘分区根目录下(如 //home下)。存放 fsck文件系统检查后找到的孤立数据碎片(损坏文件片段)。 需要管理员检查的文件碎片。