Linux 的目录结构采用树状层级结构,所有文件和目录都以根目录 / 为起点,下面是常见的 Linux 目录及其功能的详细说明:

1. / 根目录

  • 描述:整个文件系统的根,所有目录和文件都从这里开始。根目录应该保持尽可能的小,只存放系统启动所必需的文件。

2. /bin 二进制可执行文件

  • 描述:存放系统启动后用户能够使用的基本命令的二进制可执行文件,如 ls, cp, mv, cat, grep 等。用户和管理员均可访问。
  • 用途:系统单用户模式或没有挂载其他文件系统时仍能使用的基本命令。

3. /boot 启动文件

  • 描述:存放启动 Linux 系统所需的文件,包括内核文件 (vmlinuz)、启动加载程序(如 GRUB)和配置文件等。
  • 用途:系统启动时使用,不能随便修改。

4. /dev 设备文件

  • 描述:Linux 把所有硬件设备都表示为文件,/dev 目录中存放系统中所有设备的文件,如硬盘 (/dev/sda), 光驱 (/dev/cdrom), 终端 (/dev/tty) 等。
  • 用途:通过这些文件,用户和系统可以与硬件进行交互。

5. /etc 配置文件

  • 描述:存放所有系统和应用程序的配置文件。例如网络配置文件、服务启动脚本、用户账户信息等。常见的文件有 /etc/passwd, /etc/fstab, /etc/hosts 等。
  • 用途:系统配置和管理的核心目录。

6. /home 用户家目录

  • 描述:每个用户的个人文件和设置存放在各自的家目录中,如 /home/user1/home/user2。默认情况下,普通用户没有权限访问其他用户的家目录。
  • 用途:存储用户的个人文件、配置和数据。

7. /lib 库文件

  • 描述:存放系统所需的基本共享库文件和内核模块,类似 Windows 的 DLL 文件。包括系统命令和程序运行时需要的库文件,常见的如 libc.so 等。
  • 用途:为系统中的应用程序和工具提供共享库支持。

8. /media 可移动媒体挂载点

  • 描述:当插入可移动设备(如 USB 闪存、光盘等)时,系统会自动在 /media 下创建一个目录,并将设备挂载在此目录中。
  • 用途:自动挂载的设备访问点。

9. /mnt 临时挂载点

  • 描述:系统管理员临时手动挂载其他文件系统时,常会选择将其挂载在 /mnt 目录下。
  • 用途:用于临时挂载文件系统的目录。

10. /opt 可选软件包

  • 描述:存放第三方软件包的目录。通常用来安装不通过包管理器安装的软件。
  • 用途:为用户安装的附加应用程序提供存放位置。

11. /proc 虚拟文件系统

  • 描述:这是一个虚拟文件系统,提供系统内核和进程信息,如系统配置、内存使用情况、硬件信息等。常见的文件如 /proc/cpuinfo, /proc/meminfo
  • 用途:用于查看和调试系统状态。

12. /root 超级用户家目录

  • 描述:这是超级用户(root)的家目录,具有最高的系统权限。与普通用户的家目录 /home/user 类似。
  • 用途:存放 root 用户的私人文件和配置。

13. /run 运行时文件

  • 描述:存放系统和应用程序运行时产生的临时文件,如进程的 PID 文件、锁文件和其他状态信息。
  • 用途:系统启动后创建,存储运行时数据。

14. /sbin 系统二进制文件

  • 描述:与 /bin 类似,但存放的命令主要用于系统管理或需要超级用户权限的操作,如 fdisk, reboot, ifconfig 等。
  • 用途:系统管理员维护系统时使用。

15. /srv 服务数据

  • 描述:存放由系统提供的服务所需要的数据,如 HTTP 服务的网页文件、FTP 服务的数据文件等。
  • 用途:为服务提供数据存储。

16. /sys 系统文件

  • 描述:类似 /proc,是一个虚拟文件系统,存放与硬件和设备驱动程序相关的信息。它也是 Linux 的设备模型的接口。
  • 用途:提供对系统硬件的接口。

17. /tmp 临时文件

  • 描述:存放临时文件,系统启动时会自动清理。用户和系统程序可在此创建临时文件。
  • 用途:存储短期使用的文件,重启后一般会清除。

18. /usr 用户二进制和库文件

  • 描述:存放用户使用的应用程序和文件,是系统中第二大目录。包含子目录 /usr/bin (用户可执行文件), /usr/lib (共享库), /usr/share (共享资源)。
  • 用途:安装标准应用程序和文件,通常由包管理器安装的软件放在此目录下。

19. /var 可变数据文件

  • 描述:存放经常变化的数据文件,如日志文件 (/var/log), 临时电子邮件存储 (/var/mail), 打印机队列 (/var/spool)。
  • 用途:用于存储经常变化的文件和数据。

总结来说,Linux 的目录结构是非常清晰和有组织的,每个目录都有特定的用途,这使得系统维护和管理更加高效。