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 的目录结构是非常清晰和有组织的,每个目录都有特定的用途,这使得系统维护和管理更加高效。