文件系统
→ 返回 Linux
目录结构(FHS)
| 目录 | 用途 |
|---|---|
/ | 根目录 |
/bin | 基本命令(ls、cp、mv) |
/sbin | 系统管理命令(ifconfig、iptables) |
/etc | 配置文件 |
/var | 可变数据(日志、数据库、缓存) |
/tmp | 临时文件,重启清空 |
/home | 用户主目录 |
/root | root 用户主目录 |
/opt | 第三方软件安装目录 |
/proc | 内核与进程虚拟文件系统 |
/sys | 硬件设备虚拟文件系统 |
/dev | 设备文件 |
/mnt / /media | 临时挂载点 |
/usr | 用户程序(/usr/bin、/usr/lib) |
/boot | 内核与引导文件 |
常用文件系统类型
| 类型 | 说明 |
|---|---|
| ext4 | Linux 默认,稳定成熟 |
| xfs | 高性能,RHEL 默认 |
| btrfs | 支持快照、压缩,现代特性丰富 |
| tmpfs | 内存文件系统,速度极快 |
| nfs | 网络文件系统 |
| vfat / exfat | 跨平台,用于移动设备 |
挂载与卸载
# 临时挂载
mount /dev/sdb1 /mnt/data
mount -t ext4 /dev/sdb1 /mnt/data
mount -o ro /dev/sdb1 /mnt/data # 只读挂载
# 卸载
umount /mnt/data
umount -l /mnt/data # 懒卸载(有进程占用时)
# 查看挂载
mount | grep "^/dev"
df -h永久挂载(/etc/fstab):
# <设备> <挂载点> <类型> <选项> <dump> <pass>
UUID=xxxx-xxxx /mnt/data ext4 defaults,noatime 0 2
tmpfs /tmp tmpfs defaults,size=1G 0 0
mount -a # 重新挂载 fstab 中所有条目(不重启验证)磁盘分区
# 查看磁盘与分区
lsblk
fdisk -l
# 分区工具
fdisk /dev/sdb # MBR 分区(<2TB)
gdisk /dev/sdb # GPT 分区(>2TB 推荐)
# 格式化
mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb1
# 查看 UUID
blkid /dev/sdb1inode 与链接
# 查看 inode
ls -i file.txt
stat file.txt # 详细元数据(inode、权限、时间戳)
# 硬链接(同一 inode)
ln source.txt hard.txt
# 软链接(符号链接)
ln -s /opt/app/bin/app /usr/local/bin/app
ls -l /usr/local/bin/app # 显示 -> 指向目标inode 存储:文件大小、权限、时间戳、数据块指针,不存储文件名。
磁盘使用分析
df -h # 各挂载点使用率
df -i # inode 使用率
du -sh /var/log # 目录总大小
du -sh * | sort -rh | head -10 # 当前目录下最大的 10 项
# 查找大文件
find / -type f -size +500M 2>/dev/nullLVM(逻辑卷管理)
# 创建流程:PV → VG → LV
pvcreate /dev/sdb
vgcreate vg_data /dev/sdb
lvcreate -L 50G -n lv_app vg_data
mkfs.ext4 /dev/vg_data/lv_app
mount /dev/vg_data/lv_app /opt/app
# 扩容 LV
lvextend -L +20G /dev/vg_data/lv_app
resize2fs /dev/vg_data/lv_app # ext4 在线扩容
xfs_growfs /opt/app # xfs 在线扩容
# 查看
pvs && vgs && lvs