在 Linux 操作系统中,文件系统采用层次化的目录结构。以下是一些常见的 Linux 目录及其用途的简要介绍:
示例图:
/
├── bin/ # 二进制可执行文件
├── boot/ # 引导加载程序文件
├── dev/ # 设备文件
├── etc/ # 配置文件
├── home/ # 用户主目录
│ ├── user1/
│ └── user2/
├── lib/ # 库文件
├── lib64/ # 64 位库文件
├── media/ # 可移动介质挂载点
├── mnt/ # 临时挂载点
├── opt/ # 可选应用程序包
├── proc/ # 内核和进程信息
├── root/ # 超级用户主目录
├── run/ # 应用程序状态文件
├── sbin/ # 系统管理命令
├── srv/ # 服务数据
├── sys/ # 设备和内核信息
├── tmp/ # 临时文件
├── usr/ # 用户程序
│ ├── bin/
│ ├── lib/
│ └── share/
└── var/ # 可变数据
├── log/
└── tmp/
根目录 /
所有文件和目录的起点,是整个文件系统的根。
/bin
(Binaries)
存放基本用户命令的二进制可执行文件,如 ls
、cp
、mv
、rm
等。这些命令在单用户模式下也必须能够使用,因此 /bin
是不可或缺的。
/sbin
(System Binaries)
存放系统管理员使用的二进制可执行文件,如 ifconfig
、reboot
、shutdown
等。这些工具主要用于系统管理和维护。
/etc
(Et cetera)
存放系统配置文件和子目录,如网络配置文件、服务启动脚本、用户账号信息等。它包含了系统的几乎所有配置文件。
/home
存放所有普通用户的主目录,每个用户在这个目录下有一个独立的子目录,如 /home/user
。
/root
系统管理员(root 用户)的主目录,与 /home
目录不同,它直接位于根目录下。
/lib
(Libraries)
存放基本系统程序所需的共享库文件(即 .so
文件),以及加载这些库文件的内核模块。
/usr
(User Binaries)
包含系统用户程序和数据的二级层次结构,包括许多子目录:
-
/usr/bin
:存放用户命令的二进制可执行文件。 -
/usr/sbin
:存放系统管理员使用的二进制可执行文件。 -
/usr/lib
:存放用户程序所需的库文件。
/var
(Variable Files)
存放系统运行时产生的数据文件,如日志文件、邮件队列、临时文件、缓存文件等。
-
/var/log
:存放日志文件。 -
/var/spool
:存放临时文件,如打印队列、邮件队列等。
/tmp
(Temporary Files)
存放临时文件,系统和应用程序启动时通常会使用这个目录来存储临时数据。系统重启后,这个目录中的文件可能会被删除。
/dev
(Device Files)
包含设备文件,这些文件代表系统中的各种硬件设备,如硬盘、终端、打印机等。每个设备都对应一个文件。
/proc
(Process Information)
一个虚拟文件系统,存放当前运行的进程及内核信息。这个目录中的文件和子目录是动态生成的,代表当前系统的状态。
-
/proc/cpuinfo
:关于CPU的信息。 -
/proc/meminfo
:关于内存的信息。
/sys
(System Information)
另一个虚拟文件系统,提供系统和内核的各种信息和控制接口,类似于 /proc
。
/media
和 /mnt
(Mount Points)
用于临时挂载文件系统,/media
通常用于自动挂载的设备,如光驱、USB 设备等;/mnt
则通常用于系统管理员手动挂载文件系统。
/opt
(Optional)
用于存放可选的应用程序包和第三方软件。
/boot
包含引导加载程序(boot loader)和内核相关的文件,如 vmlinuz
内核文件和 initrd
初始内存盘映像。系统启动时所需的重要文件都在此目录中。
/srv
(Service)
存放由系统提供的服务数据,如 Web 服务、FTP 服务的数据。
/run
存放系统启动以来的信息,如当前系统运行时的信息。这个目录中的数据通常是临时的,系统重启时会被清空。
/usr/local
存放本地安装的软件和程序,系统管理员安装的程序通常会放在这里,而不是在 /usr
目录下。
总结
这些目录共同构成了 Linux 的文件系统结构,每个目录都有其特定的用途和重要性。理解和熟悉这些目录对于系统管理和使用非常重要。