在 Linux 中,目录(directory)是用于组织和管理文件的结构,类似于 Windows 或 macOS 中的文件夹。Linux 采用的是树状目录结构,最顶层目录为根目录 /
,所有文件和子目录都位于该根目录下。了解 Linux 的目录结构对于系统管理和使用非常重要。
常见的 Linux 目录结构
1. 根目录 /
- 说明:Linux 文件系统的起点,所有文件和目录都从这里开始。
- 作用:根目录下存放了系统启动、运行和配置所需的关键文件和目录。
2. /bin
- 说明:存放基本的用户二进制执行文件。
- 作用 :包含系统启动时必须使用的基本命令,例如
ls
、cp
、mv
等。 - 常见内容 :
bash
、cat
、chmod
、ls
等。
3. /sbin
- 说明:存放系统管理二进制文件(system binaries)。
- 作用:包含系统管理员使用的系统管理命令,普通用户通常没有执行权限。
- 常见内容 :
ifconfig
、reboot
、shutdown
等。
4. /etc
- 说明:存放系统的配置文件。
- 作用:用于保存所有系统范围的配置文件和脚本。
- 常见内容 :网络配置、用户账户、服务的配置文件(如
/etc/passwd
、/etc/hosts
等)。
5. /home
- 说明:存放用户的个人文件和目录。
- 作用 :每个用户都会有一个单独的目录,例如
/home/username
,用于存放用户的个人数据、配置和文件。 - 常见内容:用户文档、下载文件等。
6. /root
- 说明:超级用户(root)的主目录。
- 作用 :与普通用户的
/home/username
类似,/root
是 root 用户的私人主目录。
7. /var
- 说明:存放可变文件(variable files)。
- 作用:主要用于保存系统日志、缓存、锁定文件、邮件等会动态变化的文件。
- 常见内容 :
/var/log
(日志文件)、/var/spool
(打印队列、邮件队列)。
8. /usr
- 说明:存放用户二进制文件和只读的共享数据。
- 作用:包含二进制文件、库文件、文档等,通常是用户级程序和工具的存放位置。
- 常见子目录 :
- /usr/bin :系统的非基本用户命令,比如
gcc
、python
。 - /usr/sbin:用户可以使用的系统管理命令。
- /usr/local:存放自行编译的软件和库。
- /usr/share:存放共享的文档和数据文件。
- /usr/bin :系统的非基本用户命令,比如
9. /lib
- 说明:存放系统启动和运行时需要的共享库(libraries)。
- 作用:系统关键的共享库和模块,例如在执行系统命令时需要加载的库文件。
- 常见内容 :
libc.so
、libm.so
等。
10. /opt
- 说明:用于存放可选的附加应用软件。
- 作用:存储第三方应用程序和插件,不属于标准系统安装的程序。
- 常见内容 :可安装的程序包和软件(如
/opt/google
中存放 Google Chrome)。
11. /dev
- 说明:存放设备文件(device files)。
- 作用:每个文件都代表系统中的一个设备,例如硬盘、光驱、键盘、鼠标等。
- 常见内容 :
/dev/sda
(硬盘设备)、/dev/null
、/dev/tty
(终端设备)。
12. /mnt 和 /media
- /mnt :用于临时挂载文件系统。
- 作用:挂载临时文件系统或外部设备。
- /media :用于自动挂载的外部存储设备(如 USB、CD/DVD)。
- 作用:挂载用户的外部设备,如 U 盘、光盘。
13. /tmp
- 说明:存放临时文件。
- 作用:应用程序在运行时产生的临时文件,系统启动时自动清理这些文件。
14. /proc
- 说明:存放系统进程和内核信息的虚拟文件系统。
- 作用 :通过
/proc
,用户可以访问内核和进程信息。 - 常见内容 :
/proc/cpuinfo
、/proc/meminfo
。
15. /sys
- 说明:系统文件,提供系统硬件信息和接口。
- 作用:用于系统和硬件信息的导出,可以动态查看和管理硬件设备。
16. /boot
- 说明:存放引导加载程序和内核相关文件。
- 作用:系统启动时需要的关键文件,如内核镜像和引导加载程序配置文件。
- 常见内容 :
vmlinuz
(内核)、grub
(引导程序配置)。
17. /srv
- 说明:存放由服务器提供的服务相关数据。
- 作用:例如网站数据或 FTP 数据,服务端程序使用的数据目录。
上述目录中在日常开发使用中需要关注的就只有/根目录,/home家目录,根目录下有/root超级管理员的家目录,/home下会有所有普通用户的家目录