我所接触的版本
2024年10月29日大约 6 分钟
| 发行版 | 定位 | 包管理 | 适用场景 | 优势 | 劣势 |
|---|---|---|---|---|---|
| Alpine Linux | 轻量级、嵌入式 | apk | 容器、资源受限的环境 | 极小、资源占用低 | 兼容性可能较差 |
| Arch Linux | 高级用户、滚动更新 | pacman | DIY 自定义、技术爱好者 | 最新软件、社区强大 | 难度较高 |
| CentOS | 企业级、稳定性 | yum / dnf | 服务器、生产环境 | 稳定、RHEL 兼容 | 更新慢、软件包旧 |
| Ubuntu | 用户友好、通用 | apt | 桌面、服务器、云环境 | 用户友好、支持广泛 | 资源占用稍大 |
| Debian | 稳定性、开源 | apt | 服务器、桌面、高稳定性环境 | 高度稳定、安全 | 更新慢,不适合追新 |
在 Linux 系统中,根目录
/是文件系统的起点,所有文件和目录都在此之下。理解/目录结构有助于掌握 Linux 系统的组织方式、各目录的作用以及数据的管理。以下是 Linux/目录的常见结构和各目录的用途解析:
1. /bin (Binary)
- 用途:存放基本的二进制可执行文件,通常是系统引导和单用户模式下的核心命令。
- 包含内容:如
ls、cp、mv、rm等通用命令,用户可以在无特殊权限的情况下使用。 - 特点:这是一个系统关键目录,没有它系统可能无法正常运行。
2. /boot
- 用途:包含系统启动所需的文件。
- 包含内容:如内核文件(通常命名为
vmlinuz)、引导加载器(如 GRUB)配置文件和初始化内存盘(initrd/initramfs)文件。 - 特点:是系统引导过程中必不可少的目录。
3. /dev (Device)
- 用途:包含所有设备文件,以文件形式提供对设备的访问接口。
- 包含内容:如硬盘 (
/dev/sda)、光驱 (/dev/cdrom)、终端 (/dev/tty) 等设备文件。 - 特点:通过设备文件,Linux 实现了设备的文件化操作,可以方便地使用文件系统接口来操作设备。
4. /etc
- 用途:存放系统的全局配置文件和子目录。
- 包含内容:如用户账户信息文件
/etc/passwd、系统初始化脚本/etc/rc.d/、网络配置文件等。 - 特点:该目录下的文件直接影响系统配置和运行,是系统管理员进行配置管理的重要目录。
5. /home
- 用途:为每个用户提供一个独立的主目录。
- 包含内容:每个用户的个人文件和设置,例如
/home/username。 - 特点:是用户存储个人文件、下载、配置文件等的主要目录,普通用户对其拥有完全的读写权限。
6. /lib (Libraries)
- 用途:存放系统启动和基本命令运行所需的共享库文件和内核模块。
- 包含内容:如系统标准库(如
libc.so)、模块(/lib/modules)等。 - 特点:此目录下的库文件为
/bin和/sbin中的可执行文件提供支持。
7. /media
- 用途:用于挂载可移动媒体设备,如 USB、CD、DVD 等。
- 包含内容:当可移动设备插入时,系统会自动创建子目录并将设备挂载到
/media下。 - 特点:这是一个方便用户访问外部设备的目录。
8. /mnt
- 用途:为临时挂载文件系统预留的目录。
- 包含内容:系统管理员可以在
/mnt下创建子目录用于临时挂载文件系统。 - 特点:通常用于手动挂载的设备或文件系统(例如,临时挂载远程共享)。
9. /opt
- 用途:存放可选的第三方软件包或应用程序。
- 包含内容:如自定义安装的程序和软件包,通常子目录是应用程序的名称。
- 特点:与
/usr不同,这里的软件不属于系统核心软件,可以随意安装和删除。
10. /proc
- 用途:包含系统和进程信息的虚拟文件系统,由内核动态生成。
- 包含内容:如系统内核、进程状态、内存和 CPU 信息等,按数字命名的目录表示运行中的进程。
- 特点:该目录内容不会占用实际磁盘空间,系统关机时此目录为空。
11. /root
- 用途:超级用户
root的主目录。 - 包含内容:系统管理员
root用户的配置文件和个人文件。 - 特点:该目录和普通用户的主目录
/home/username类似,但仅限于root用户。
12. /run
- 用途:存放系统启动以来的临时文件,如进程 ID 文件和进程锁文件。
- 包含内容:服务启动时创建的文件,如
/run/sshd.pid。 - 特点:
/run文件夹中的文件在系统重启后会清空。
13. /sbin (System Binaries)
- 用途:存放系统管理的二进制可执行文件,通常只有 root 用户可以运行。
- 包含内容:如
ifconfig、reboot、shutdown等系统管理命令。 - 特点:主要面向系统管理和维护,普通用户一般无权访问。
14. /srv (Service)
- 用途:存放系统提供的服务相关的数据。
- 包含内容:如网站数据
/srv/www,FTP 数据/srv/ftp等。 - 特点:系统服务相关的数据存放在这里,方便系统管理。
15. /sys
- 用途:包含设备和内核信息的虚拟文件系统,动态生成。
- 包含内容:如设备信息
/sys/block/、内核信息/sys/kernel/。 - 特点:类似于
/proc,提供系统设备和内核参数的接口。
16. /tmp
- 用途:用于存放系统和程序运行时的临时文件。
- 包含内容:如程序运行时生成的缓存文件和临时数据。
- 特点:文件通常在系统重启时清空,对所有用户开放读写权限。
17. /usr (User System Resources)
- 用途:存放用户级应用程序和文件,包括库、头文件、文档等。
- 包含内容:如用户安装的应用程序
/usr/bin、共享库/usr/lib、文档/usr/share/doc等。 - 特点:该目录结构庞大且复杂,是系统主要的用户程序存放地。
18. /var (Variable)
- 用途:存放系统运行过程中需要改变的文件。
- 包含内容:如日志文件
/var/log、缓存文件/var/cache、邮件/var/mail等。 - 特点:文件通常随着系统运行不断变化,适合存储变动数据。
目录结构总结
Linux 的目录结构按照功能和使用场景分配清晰,不同目录负责系统的不同方面:
- 核心系统目录:如
/bin、/sbin、/lib、/root等,直接关系到系统的基本运行。 - 用户管理目录:如
/home、/usr,用于存放用户数据和应用程序。 - 系统数据目录:如
/var、/tmp、/run,存放随时间变化的文件和系统日志。