在 Linux 系统中,目录结构是遵循 FHS(Filesystem Hierarchy Standard,文件系统层次结构标准) 的,每个目录都有特定的用途和功能。以下是 Linux 系统主要目录的详细介绍,它们位于系统的根目录 /
下。
根目录(/
)
- 根目录是 Linux 文件系统的起点,所有目录和文件都从这里开始。
- 根目录本身通常只包含子目录,而不直接存放文件。
- 注意:确保根目录有足够的空间,因为它的损坏会导致系统无法启动。
主要子目录详解
/bin
- 作用:存放基本的用户二进制可执行文件。
- 内容:普通用户和管理员都可以使用的常用命令,例如:
ls
、cp
、mv
、rm
、cat
、echo
、pwd
、chmod
等。
- 特点:在单用户模式下也可以使用这些命令,因为它们是系统启动和运行的必要工具。
/sbin
- 作用:存放系统管理的二进制可执行文件,普通用户一般无权运行。
- 内容:系统管理员使用的命令,例如:
ifconfig
、reboot
、shutdown
、mkfs
、fsck
等。
- 特点:与
/bin
类似,但主要用于系统管理。
/boot
- 作用:存放与系统引导相关的文件。
- 内容:
- 内核文件(如
vmlinuz
)、引导加载程序(如 GRUB 的配置文件)和启动所需的其他文件。
- 内核文件(如
- 特点:系统启动时,BIOS/UEFI 会访问这个目录加载内核和引导程序。
/dev
- 作用:存放系统中的设备文件。
- 内容:
- 所有硬件设备都被抽象为文件存放在这里,例如:
- 硬盘:
/dev/sda
、/dev/sdb
- 光驱:
/dev/cdrom
- 终端设备:
/dev/tty1
- 随机数设备:
/dev/random
- 硬盘:
- 所有硬件设备都被抽象为文件存放在这里,例如:
- 特点:通过这些文件可以直接与硬件交互。
/etc
- 作用:存放系统的所有配置文件和子目录。
- 内容:
- 系统配置文件:
/etc/passwd
、/etc/fstab
、/etc/hosts
等。 - 服务配置文件:
/etc/ssh/sshd_config
、/etc/nginx/nginx.conf
等。
- 系统配置文件:
- 特点:是系统配置的核心目录,建议备份。
/home
- 作用:存放普通用户的主目录。
- 内容:
- 每个用户都有一个对应的子目录,例如:
- 用户
alice
的主目录是/home/alice
。 - 用户
bob
的主目录是/home/bob
。
- 用户
- 用户的数据、配置文件等都存放在这里。
- 每个用户都有一个对应的子目录,例如:
- 特点:如果系统重新安装,可以单独保留
/home
,以免丢失用户数据。
/lib
- 作用:存放系统运行所需的共享库(类似 Windows 的 DLL 文件)。
- 内容:
- 静态库和动态库文件,例如:
libc.so
(C 标准库)libm.so
(数学库)
- 静态库和动态库文件,例如:
- 特点:这些库供
/bin
和/sbin
的程序使用。
/media
- 作用:挂载可移动媒体设备的临时目录。
- 内容:
- 当插入 U 盘、光盘等设备时,系统会自动将其挂载到
/media
下,例如:/media/usb
、/media/cdrom
。
- 当插入 U 盘、光盘等设备时,系统会自动将其挂载到
- 特点:用户可以方便地访问这些设备。
/mnt
- 作用:挂载临时文件系统的目录。
- 内容:
- 系统管理员可以手动将设备挂载到这里,例如:
mount /dev/sdb1 /mnt/test
- 系统管理员可以手动将设备挂载到这里,例如:
- 特点:与
/media
不同,通常需要手动挂载。
/opt
- 作用:存放第三方软件的可选目录。
- 内容:
- 安装的第三方软件或应用程序会存放在这里,例如:
/opt/google/chrome
(Google Chrome 浏览器)/opt/lampp
(XAMPP 软件包)
- 安装的第三方软件或应用程序会存放在这里,例如:
- 特点:与系统分离,便于管理。
/proc
- 作用:存放内核和进程的虚拟文件系统。
- 内容:
- 虚拟文件,显示系统的运行时信息,例如:
/proc/cpuinfo
:CPU 信息。/proc/meminfo
:内存信息。/proc/<PID>
:每个进程的详细信息。
- 虚拟文件,显示系统的运行时信息,例如:
- 特点:动态生成,不实际占用磁盘空间。
/root
- 作用:系统管理员(
root
用户)的主目录。 - 特点:
- 类似于普通用户的主目录
/home/username
。 - 默认位于
/root
而不是/home
。
- 类似于普通用户的主目录
/run
- 作用:存放系统启动后临时生成的运行文件。
- 内容:
- 运行时的进程 ID 文件(如
/run/sshd.pid
)。 - 套接字和其他运行时数据。
- 运行时的进程 ID 文件(如
- 特点:数据在系统重启后会清空。
/srv
- 作用:存放系统提供的服务数据。
- 内容:
- Web 服务数据:
/srv/www
。 - FTP 数据:
/srv/ftp
。
- Web 服务数据:
- 特点:用于存放服务器运行时需要的文件。
/sys
- 作用:存放系统的设备和内核信息。
- 内容:
- 与
/proc
类似,提供系统硬件信息,例如:/sys/class
:设备分类信息。/sys/devices
:硬件设备信息。
- 与
- 特点:是内核设备模型的一部分。
/tmp
- 作用:存放临时文件。
- 特点:
- 系统和应用程序运行时可能会在这里创建临时文件。
- 系统重启后会自动清空。
/usr
- 作用:存放用户程序及相关文件。
- 内容:
/usr/bin
:用户可执行文件(非必要命令)。/usr/sbin
:系统管理员命令。/usr/lib
:共享库和模块。/usr/share
:共享数据(如文档、图标等)。/usr/local
:用户自己安装的软件。
- 特点:包含许多系统文件和工具,占用空间较大。
/var
- 作用:存放可变数据文件。
- 内容:
- 日志文件:
/var/log
(如/var/log/syslog
)。 - 邮件:
/var/mail
。 - 缓存:
/var/cache
。 - 数据库:
/var/lib
(如/var/lib/mysql
)。 - 临时文件:
/var/tmp
。
- 日志文件:
- 特点:
- 数据会随着时间增长,例如日志文件。
Linux 目录结构图
以下是 Linux 目录结构的简化图示:
1 | / |
注意事项
-
不要随意修改系统目录:
- 像
/bin
、/sbin
、/etc
等目录中的文件是系统运行必需的,修改或删除可能导致系统无法正常工作。
- 像
-
备份重要目录:
- 例如
/etc
(配置文件)、/home
(用户数据)、/var/log
(日志文件)等。
- 例如
-
挂载分区:
- 推荐将
/home
、/var
等目录单独分区,以便系统升级或重装时,数据不会丢失。
- 推荐将
通过理解 Linux 的目录结构,可以更高效地管理系统资源和定位问题。