Linux系统文件结构
Linux 操作系统的文件系统结构遵循一个标准的目录结构(也叫文件树结构)。Linux 文件系统的根目录是 /,所有的文件和目录都是从这个根目录开始的。每个目录下面可以包含文件和子目录,并且它们的内容和功能有特定的约定。以下是常见的 Linux 文件系统目录结构及其用途:
1. / — 根目录 (Root Directory)
根目录是整个文件系统的起点,所有文件和目录都位于这个根目录下。
/
├── bin/
├── etc/
├── home/
└── usr/
2. /bin — 必要的用户命令 (Essential User Binaries)
/bin
目录包含系统启动和基本操作所需的核心命令和工具,这些命令对于所有用户和管理员都可用,且在单用户模式下依然可以使用。
/bin/bash — 默认的 shell
/bin/ls — 列出目录内容
/bin/cp — 复制文件或目录
3. /boot — 启动文件 (Boot Files)
/boot
目录包含启动操作系统所必需的文件,比如 Linux 内核文件和启动加载程序(如 GRUB 配置文件)。
/boot/vmlinuz — 压缩的 Linux 内核文件
/boot/grub/ — 启动加载器配置文件(如 GRUB 配置文件)
4. /dev — 设备文件 (Device Files)
/dev
目录包含所有设备文件,这些文件是操作系统与硬件设备进行交互的接口。设备文件包括硬盘、终端、打印机等。
/dev/sda — 第一块硬盘
/dev/null — 空设备,丢弃所有输入
5. /etc — 配置文件 (Configuration Files)
/etc
目录包含系统和应用程序的配置文件。所有用户和程序的配置都可以在这里找到。此目录下的文件通常是纯文本格式,管理员可以手动编辑。
/etc/passwd — 系统用户账户信息
/etc/fstab — 文件系统挂载信息
6. /home — 用户家目录 (User Home Directories)
/home 目录包含普通用户的个人文件和配置文件,每个用户在该目录下都有一个以用户名命名的子目录。
/home/user/ — 用户 user 的个人目录。
/home/user/.bashrc — user 用户的 Bash 配置文件。
7. /lib — 系统库 (System Libraries)
/lib 目录包含系统启动和运行时所需的共享库文件,这些库文件支持基本的系统命令和程序。
/lib/libc.so — C 库共享库文件。
/lib/modules/ — Linux 内核模块目录。
8. /media — 可移动介质挂载点
/media 目录用于挂载可移动存储设备(如 USB 驱动器、CD-ROM、DVD 等)。大多数 Linux 发行版会在此目录下自动创建挂载点。
/media/usb/ — 挂载的 USB 驱动器。
/media/cdrom/ — 挂载的 CD-ROM。
9. /mnt — 临时挂载点 (Temporary Mount Points)
/mnt 目录用于临时挂载文件系统。管理员可以将临时挂载的存储设备或文件系统挂载到该目录下。
10. /opt — 可选应用程序 (Optional Application Software)
/opt 目录用于安装第三方应用程序。许多软件包将其文件安装在此目录下。
/opt/google/ — Google 相关软件。
/opt/lampp/ — LAMP(Linux, Apache, MySQL, PHP)软件堆栈。
11. /proc — 进程信息 (Process Information)
/proc 目录是一个虚拟文件系统,它包含内核和正在运行的进程的信息。这些文件不存储在磁盘上,而是由内核动态生成的。
/proc/cpuinfo — CPU 信息。
/proc/meminfo — 内存使用情况。
/proc/[pid]/ — 每个进程的虚拟目录。
12. /root — 根用户的家目录
/root 是超级用户(root)的个人目录,不同于普通用户的 /home 目录。root 用户的配置文件和数据存储在此。
13. /run — 运行时数据 (Runtime Data)
/run 目录包含当前系统启动和运行时的临时文件,它在系统启动时创建,并在系统关闭时删除。
/run/lock/ — 锁文件目录,用于表示资源的占用情况。
/run/user/ — 每个登录用户的运行时数据。
14. /srv — 服务数据 (Service Data)
/srv 目录用于存储由系统提供的服务的相关数据。通常,Web 服务器、FTP 服务器等的站点数据存储在此目录。
/srv/www/ — Web 服务器的根目录。
/srv/ftp/ — FTP 服务器的数据目录。
15. /sys — 系统信息 (System Information)
/sys 目录是一个虚拟文件系统,包含有关内核、设备和驱动程序的详细信息。它允许动态地访问和修改内核的状态。
/sys/block/ — 存储块设备信息。
/sys/class/net/ — 网络接口信息。
16. /tmp — 临时文件 (Temporary Files)
/tmp 目录用于存放临时文件,许多程序在运行时会创建临时文件来保存中间数据。此目录通常对所有用户可写,并且在系统重启时清空。
17. /usr — 用户程序 (User Programs)
/usr 目录包含安装的应用程序和库文件。它通常是一个只读的文件系统,在许多 Linux 系统中,它被分为多个子目录。
/usr/bin/ — 用户程序存放目录。
/usr/lib/ — 存放共享库文件的目录。
/usr/share/ — 存放应用程序共享数据的目录。
18. /var — 可变数据 (Variable Data)
/var 目录包含系统运行过程中不断变化的数据,如日志文件、邮件、打印队列等。
/var/log/ — 存放系统和应用程序日志的目录。
/var/spool/ — 存放待处理的任务队列文件。