目录
Ubuntu(以及其他类 Unix 操作系统)遵循 文件系统层次结构标准(Filesystem Hierarchy Standard,FHS),这是一套定义了目录和文件在系统中的组织方式的标准。了解 Ubuntu 的系统目录结构对于系统管理、故障排除以及日常使用都非常重要。以下是 Ubuntu 常见的系统目录及其功能介绍:
根目录 /
- 描述:所有文件和目录的起点,其他所有目录都挂载在根目录下。
- 示例:
/ ├── bin ├── boot ├── dev ├── etc ├── home ├── lib ├── media ├── mnt ├── opt ├── proc ├── root ├── run ├── sbin ├── srv ├── tmp ├── usr └── var
主要目录及其功能
/bin
- 全称:Essential Binary(基本二进制文件)
- 功能:存放系统启动和运行时必需的基本命令,如
ls
、cp
、mv
等。这些命令对于所有用户都是可用的。 - 示例:
/bin/ls /bin/cp
/boot
- 功能:存放启动加载器(如 GRUB)所需的文件,包括内核映像(
vmlinuz
)、初始 RAM 磁盘映像(initrd.img
)等。 - 示例:
/boot/vmlinuz-5.15.0-50-generic /boot/initrd.img-5.15.0-50-generic
/dev
- 全称:Device(设备)
- 功能:包含设备文件,代表系统中的各种硬件和虚拟设备,如硬盘、USB 设备、终端、打印机等。通过这些设备文件,用户和应用程序可以与硬件设备进行交互。
- 示例:
/dev/sda /dev/ttyS0 /dev/null
/etc
- 功能:存放系统的配置文件和脚本。几乎所有系统级配置文件都位于此目录下。
- 示例:
/etc/passwd /etc/ssh/sshd_config /etc/fstab
/home
- 功能:存放所有用户的个人文件和配置文件。每个用户在此目录下有一个独立的子目录。
- 示例:
/home/username/Documents /home/username/Downloads
/lib
和 /lib64
- 功能:存放系统和应用程序所需的共享库文件。
/lib
通常用于 32 位库,/lib64
用于 64 位库。 - 示例:
/lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2
/media
- 功能:挂载可移动介质设备的挂载点,如 USB 驱动器、CD/DVD 等。当插入可移动设备时,系统会自动在此目录下创建挂载点。
- 示例:
/media/username/USB_DRIVE
/mnt
- 功能:用于手动挂载文件系统的临时挂载点。系统管理员可以在此目录下创建子目录,用于临时挂载文件系统。
- 示例:
/mnt/data
/opt
- 全称:Optional(可选的)
- 功能:存放附加的应用程序软件包。通常用于第三方软件,不属于系统默认安装的软件。
- 示例:
/opt/google/chrome /opt/vmware
/proc
- 全称:Process(进程)
- 功能:一个虚拟文件系统,提供系统内核和进程的信息。通过读取这些文件,可以获取系统状态、硬件信息等。
- 示例:
/proc/cpuinfo /proc/meminfo /proc/uptime
/root
- 功能:系统管理员(root 用户)的主目录。不同于普通用户的
/home/username
,这是 root 用户的专属目录。 - 示例:
/root/.bashrc /root/Documents
/run
- 功能:存放系统运行时的可变数据,如 PID 文件、套接字等。数据在系统启动后才存在,并且在重启后会清空。
- 示例:
/run/systemd /run/user/1000
/sbin
- 全称:System Binary(系统二进制文件)
- 功能:存放系统管理和维护所需的二进制可执行文件,通常仅限于系统管理员使用,如
fsck
、reboot
、ifconfig
等。 - 示例:
/sbin/reboot /sbin/ifconfig
/srv
- 全称:Service(服务)
- 功能:存放特定服务的数据,如 HTTP 服务器的网页文件、FTP 服务器的文件等。
- 示例:
/srv/www /srv/ftp
/tmp
- 全称:Temporary(临时)
- 功能:用于存放临时文件。系统和应用程序可以在此目录下创建临时文件,文件在系统重启后通常会被清除。
- 示例:
/tmp/tempfile.txt
/usr
- 全称:Unix System Resources(Unix 系统资源)
- 功能:存放用户级应用程序和数据。通常包含以下子目录:
/usr/bin
:用户级应用程序二进制文件。/usr/lib
:应用程序库文件。/usr/local
:本地安装的软件和数据。/usr/share
:共享数据,如文档、图标等。
- 示例:
/usr/bin/python3 /usr/lib/libssl.so /usr/local/bin/custom_app
/var
- 全称:Variable(可变数据)
- 功能:存放经常变化的文件,如日志文件、缓存、邮件、打印队列等。
- 示例:
/var/log/syslog /var/cache/apt /var/mail/username
其他常见目录
-
/lost+found
:- 功能:用于存放文件系统检查(如
fsck
)时发现的损坏文件或文件碎片。每个文件系统分区都有一个独立的lost+found
目录。
- 功能:用于存放文件系统检查(如
-
/sys
:- 功能:一个虚拟文件系统,提供设备和内核模块的信息。类似于
/proc
,用于与内核交互。
- 功能:一个虚拟文件系统,提供设备和内核模块的信息。类似于
-
/snap
:- 功能:用于存放通过 Snap 包管理器安装的应用程序包。这些包是自包含的,确保应用程序及其依赖项的隔离。
- 示例:
/snap/core20/2318 /snap/lxd/24061
总结
Ubuntu 的系统目录结构设计合理,按照功能进行分类,使得系统管理更加简洁和高效。以下是对主要目录的快速总结:
- 根目录
/
:系统的起点,包含所有其他目录。 /bin
和/sbin
:存放基本和系统级的可执行文件。/boot
:启动相关文件。/dev
:设备文件。/etc
:系统配置文件。/home
:用户的主目录。/lib
和/lib64
:共享库文件。/media
和/mnt
:挂载点。/opt
:可选的第三方软件。/proc
和/sys
:虚拟文件系统,提供系统信息。/root
:root 用户的主目录。/run
:运行时数据。/srv
:服务数据。/tmp
:临时文件。/usr
:用户级应用程序和数据。/var
:可变数据,如日志和缓存。/snap
:Snap 包管理器的应用程序包。
理解这些目录的用途,可以帮助你更好地管理 Ubuntu 系统,进行软件安装、系统配置以及故障排除。