Linux操作系统遵循一种标准的文件系统层次结构(Filesystem Hierarchy Standard,简称FHS),这个结构规定了各个目录的功能和存放的内容。了解这些目录的作用,不仅能帮助我们高效地管理系统文件,还能方便系统的维护和问题排查。
1. /bin
/bin
目录存放着系统启动和运行时所需的基本命令工具。它包含了许多系统和用户操作所必需的程序,通常这些程序是最常用的命令,比如:ls
(列出文件)、cp
(复制文件)、mv
(移动文件)等。无论是管理员还是普通用户,这些命令都至关重要。
2. /boot
/boot
目录存放系统引导时所需的文件,包括内核文件、启动配置文件等。典型的文件有:vmlinuz
(内核文件)和启动管理器的配置文件(如grub
)。这些文件在系统启动过程中被加载并执行。
3. /data
/data
目录通常并不是标准Linux文件系统的一部分。某些发行版或用户可能会在此目录下存放应用程序的自定义数据文件。它的具体内容根据用户需求而定。
4. /debian
这个目录一般出现在基于Debian的Linux发行版中,存放与Debian包管理系统(如APT)相关的文件。通常用于存放与系统配置或包管理相关的文件和数据。
5. /dev
/dev
目录包含所有设备文件,代表硬件设备和虚拟设备。比如,硬盘、终端、串口等设备都以文件的形式存在。常见设备有:/dev/sda
(硬盘)、/dev/tty
(终端)等。
6. /etc
/etc
是存放系统配置文件的目录,这些文件控制着系统和应用程序的行为。比如:/etc/passwd
(存储用户信息)、/etc/hostname
(存储主机名配置)等。管理员通过修改这些文件来调整系统设置。
7. /home
/home
目录用于存放所有用户的个人文件。每个用户在此目录下都有一个子目录,存放该用户的配置文件、文档等。比如,用户user1
的目录可能是/home/user1
,其中存储着该用户的所有个人数据。
8. /lib
/lib
目录存放系统和应用程序所需的共享库文件。这些库文件为系统和程序提供基础功能。比如:libc.so
(C语言标准库)等,都是系统正常运行所必需的。
9. /lost+found
/lost+found
是一个由文件系统管理工具(如fsck
)创建的目录,用于存放在文件系统检查过程中恢复的丢失文件。每个分区都会有一个lost+found
目录,用于存放修复过程中找回的文件。
10. /media
/media
目录用于挂载外部设备,如USB存储、CD-ROM等。通常这些设备会自动挂载在这个目录下,用户可以通过此目录访问外部存储设备中的内容。
11. /mnt
/mnt
目录用于挂载临时的文件系统或存储设备。管理员可以手动挂载硬盘或其他网络存储设备,将其挂载到该目录下。
12. /opt
/opt
目录用于存放第三方的应用程序。与系统自带的程序不同,这些程序通常是独立的,用户可以选择是否安装。/opt
中的应用程序可能包含完整的程序文件夹,如数据库、开发工具等。
13. /proc
/proc
是一个虚拟文件系统,存储关于内核和系统进程的信息。这个目录下的内容是动态生成的,可以用于查看系统的实时状态。比如:/proc/cpuinfo
(查看CPU信息)、/proc/meminfo
(查看内存信息)等。
14. /root
/root
目录是超级用户(root用户)的家目录。与/home
目录不同,/root
是专门为系统管理员(root)设计的,通常用来存放管理员的个人配置文件和脚本。
15. /run
/run
目录存放系统运行时的临时文件。这个目录中的文件在系统重启后会被清空,通常用于存放PID文件、锁文件等。它是系统运行时动态生成的临时数据存储位置。
16. /sbin
/sbin
目录存放系统管理员用来维护系统的命令工具。这些工具通常与系统管理、修复和配置相关,例如:ifconfig
(配置网络接口)、fsck
(检查文件系统)等。
17. /sdcard
在Android设备上,/sdcard
目录用于存放SD卡上的文件。在桌面Linux系统中,这个目录不常见,主要出现在嵌入式系统或移动设备上。
18. /snap
/snap
目录用于存放通过Snap包管理器安装的应用。Snap是一种跨平台的应用打包和分发方式,/snap
用于管理这些应用及其数据。
19. /srv
/srv
目录用于存放提供特定服务的数据。比如,Web服务器存放网站文件,FTP服务器存放共享文件等。不同服务的相关文件通常放在/srv
下的子目录中。
20. /sys
/sys
是另一个虚拟文件系统,提供与内核的交互接口。它允许用户访问内核中的硬件信息、驱动程序和其他重要参数。通过这个目录,用户可以与系统硬件进行直接交互。
21. /system
/system
并不是Linux文件系统中的标准目录,但在一些特定的发行版或设备中(如Android系统),可能会使用这个目录来存放系统文件或硬件相关的内容。
22. /tmp
/tmp
目录用于存放临时文件。应用程序和系统会在运行时生成临时数据,这些数据一般存放在/tmp
中。系统重启后,这些文件通常会被清除。
23. /udisk
/udisk
目录用于挂载外部设备,特别是移动存储设备,如USB闪存盘。与/media
类似,这个目录也用于访问外部存储,但通常用于特定的系统配置。
24. /usr
/usr
目录包含大部分的用户应用程序和共享库文件。它存放操作系统提供的工具和程序,如:/usr/bin
存放应用程序,/usr/lib
存放共享库,/usr/share
存放共享数据等。
25. /var
/var
目录用于存放可变数据,包含日志文件、缓存、邮件等动态生成的数据。比如:/var/log
存放系统日志,/var/spool
存放待处理任务等。
26. /vendor
/vendor
目录通常出现在一些Android设备中,存放供应商提供的文件,如硬件驱动、库文件等。在普通Linux桌面系统中不常见。