文件系统

返回 Linux


目录结构(FHS)

目录用途
/根目录
/bin基本命令(ls、cp、mv)
/sbin系统管理命令(ifconfig、iptables)
/etc配置文件
/var可变数据(日志、数据库、缓存)
/tmp临时文件,重启清空
/home用户主目录
/rootroot 用户主目录
/opt第三方软件安装目录
/proc内核与进程虚拟文件系统
/sys硬件设备虚拟文件系统
/dev设备文件
/mnt / /media临时挂载点
/usr用户程序(/usr/bin、/usr/lib)
/boot内核与引导文件

常用文件系统类型

类型说明
ext4Linux 默认,稳定成熟
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/sdb1

inode 与链接

# 查看 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/null

LVM(逻辑卷管理)

# 创建流程: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

相关文档