3. 文件系统
3.1 目录结构概览
Linux 采用 一切皆文件 的哲学。所有内容(包括硬件设备)都以文件形式存在。整个文件系统从 /(根目录)开始,形成一棵倒置的树。
bash
# 查看根目录结构
ls /bash
bin boot dev etc home lib lib64 lost+found mnt opt proc root run sbin srv sys tmp usr var| 目录 | 全称 | 作用 |
|---|---|---|
| / | root | 根目录,所有目录的起点 |
| /bin | binaries | 基本用户命令(ls, cp, mv 等) |
| /sbin | system binaries | 系统管理命令(fdisk, iptables 等) |
| /etc | etcetera | 系统配置文件(相当于 Windows 的控制面板) |
| /home | home | 普通用户的家目录 |
| /root | root home | root 用户的家目录 |
| /var | variable | 可变数据(日志、缓存、邮件等) |
| /tmp | temporary | 临时文件(重启后可能清空) |
| /usr | Unix System Resources | 用户级程序和数据(最大的目录) |
| /opt | optional | 第三方软件安装位置 |
| /proc | process | 虚拟文件系统,进程和内核信息 |
| /dev | device | 设备文件(硬盘、终端等) |
| /boot | boot | 启动引导文件(内核、grub) |
| /mnt | mount | 临时挂载点 |
| /lib | library | 系统共享库文件 |
📝 备注: 📝 记忆技巧:/etc可以理解为 "Editable Text Configuration"(可编辑文本配置),这是最容易记住的解释。
3.2 绝对路径与相对路径
绝对路径:从 / 开始的完整路径,如 /home/user/Documents
相对路径:相对于当前目录的路径,不以 / 开头
三个特殊目录符号:
- .— 当前目录
- ..— 上级目录
- ~— 当前用户的家目录
bash
# 假设当前在 /home/user,以下两种方式等价
cd /home/user/Documents # 绝对路径
cd Documents # 相对路径
# 回到上级目录
cd ..
# 回到上两级目录
cd ../..
# 回到家目录(三种等价方式)
cd ~
cd
cd $HOME3.3 文件类型
Linux 中一切皆文件,文件类型通过 ls -l 第一个字符标识:
bash
ls -l /bash
drwxr-xr-x 2 root root 4096 Dec 15 08:00 bin
drwxr-xr-x 3 root root 4096 Dec 15 08:00 boot
drwxr-xr-x 18 root root 3800 Jun 20 10:00 dev
drwxr-xr-x 96 root root 4096 Jun 20 10:00 etc
drwxr-xr-x 4 root root 4096 Jan 10 14:30 home
lrwxrwxrwx 1 root root 7 Dec 15 08:00 lib -> usr/lib
-rw-r--r-- 1 root root 64 Jun 20 09:00 test.txt| 标识符 | 类型 | 说明 |
|---|---|---|
| - | 普通文件 | 文本、二进制、图片等 |
| d | 目录 | 文件夹 |
| l | 符号链接 | 类似 Windows 快捷方式 |
| c | 字符设备 | 终端、键盘等 |
| b | 块设备 | 硬盘、U盘等 |
| p | 管道文件 | 进程间通信 |
| s | 套接字 | 网络通信 |
查看文件类型的其他方式:
bash
file /bin/ls
file /etc/passwd
file /dev/sdabash
/bin/ls: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, ...
/etc/passwd: ASCII text
/dev/sda: block special (8/0)