在 Linux 操作系统中,文件系统的结构是非常重要的,它遵循一种标准的目录布局规则,称为 Filesystem Hierarchy Standard (FHS)。Linux 系统中的文件夹(目录)有着明确的用途,每个目录都有自己的特定功能。
以下是 Linux 文件系统中常见目录的用途和功能:
1. / — 根目录
根目录是整个文件系统的顶层目录,所有其他目录都直接或间接挂载在根目录下。根目录包含了系统的所有文件和子目录。
2. /bin — 基本命令二进制文件
/bin 目录包含系统启动和正常运行时需要的核心命令,例如 ls、cp、mv、cat、bash 等。这些命令是所有用户都可以访问的。
3. /boot — 启动文件
/boot 目录存放与操作系统启动相关的文件。包括内核镜像文件(vmlinuz)和引导加载器的配置文件(如 grub 配置文件)。这是系统启动时需要的文件。
4. /dev — 设备文件
/dev 目录包含了所有设备文件,包括硬盘、终端、输入设备等。每个硬件设备在 Linux 中都是一个文件,/dev 下的文件表示了与设备的交互接口。
常见的设备文件:
/dev/sda:硬盘
/dev/tty:终端设备
5. /etc — 系统配置文件
/etc 目录包含了所有系统和应用程序的配置文件。系统的各类配置文件和脚本都存放在这里。例如:
/etc/passwd:用户账户信息
/etc/fstab:文件系统挂载信息
/etc/hostname:主机名配置
6. /home — 用户主目录
/home 目录用于存放普通用户的个人文件和设置。每个用户在 /home 下都有一个以用户名命名的子目录。例如:
/home/alice:用户 alice 的主目录
/home/bob:用户 bob 的主目录
7. /lib — 系统共享库
/lib 目录包含系统启动和运行时需要的共享库文件,特别是与 /bin 和 /sbin 中的程序相关的库文件。它还存放着一些重要的内核模块。
8. /media — 可移动媒体挂载点
/media 目录是用于挂载可移动设备(如 USB 驱动器、CD/DVD 等)的位置。当插入这些设备时,系统会将它们挂载到 /media 目录下的子目录中。例如:
/media/usb:USB 驱动器
/media/cdrom:光盘驱动器
9. /mnt — 临时挂载点
/mnt 目录通常用于临时挂载文件系统。例如,管理员可以在此目录下挂载临时的磁盘或网络共享目录。虽然现在 /media 更常用于挂载外部设备,但 /mnt 仍然用于系统管理员手动挂载文件系统。
10. /opt — 可选软件包
/opt 目录用于存放额外的软件包和应用程序。通常,这些应用程序是第三方安装的,并且不属于系统的默认安装部分。比如,一些独立的软件包可能会安装在 /opt 目录下。
11. /proc — 进程信息
/proc 目录是一个虚拟文件系统,它存储关于系统运行状态的实时信息。它的内容不是实际存在的文件,而是内核提供的有关进程、内存、CPU 状态等信息。例如:
/proc/cpuinfo:关于 CPU 的信息
/proc/meminfo:内存使用情况
/proc/[PID]:每个进程的详细信息(PID 是进程 ID)
12. /root — 超级用户的主目录
/root 目录是 root 用户的主目录,通常是系统管理员的工作目录。与普通用户的主目录不同,/home/root 并不存在,root 用户的个人文件存储在此。
13. /run — 运行时数据
/run 目录存放系统启动后生成的临时文件,这些文件在系统重启后会丢失。它包括进程 ID 文件、锁文件、运行时配置文件等。
14. /sbin — 系统管理命令
/sbin 目录存放系统管理命令和工具,这些命令通常是由系统管理员使用的。例如:
fsck:文件系统检查工具
reboot:重启系统
15. /srv — 服务数据
/srv 目录用于存放由系统提供的服务所需要的数据。例如,Web 服务器的文件可能存放在 /srv/www 下,FTP 服务的数据可能存放在 /srv/ftp 下。
16. /sys — 系统信息虚拟文件系统
/sys 目录是一个虚拟文件系统,它提供了关于内核、驱动程序、硬件设备的动态信息。这个目录是与设备驱动程序和硬件交互的一个重要部分。
17. /tmp — 临时文件
/tmp 目录用于存放临时文件。任何程序都可以在此目录下创建临时文件,通常这些文件在系统重启后会被删除。不同于 /var/tmp,/tmp 目录中的文件不保留很长时间。
18. /usr — 用户相关的程序和数据
/usr 目录包含了大多数用于用户的应用程序、库和文档。它包含的子目录有:
/usr/bin:用户程序的可执行文件
/usr/lib:共享库文件
/usr/share:共享数据(如文档、图像等)
/usr/local:本地安装的软件
19. /var — 可变数据
/var 目录存放系统运行时经常变化的数据。