Linux · 1 分钟阅读
Linux 文件系统
目录结构(FHS)
/
├── bin/ 基本命令(→ usr/bin)
├── sbin/ 系统命令(→ usr/sbin)
├── etc/ 配置文件
├── home/ 普通用户家目录
├── root/ root 家目录
├── opt/ 可选软件
├── usr/ 用户程序
│ ├── local/ 本地编译
│ └── share/ 共享数据
├── var/ 可变数据(日志、缓存、运行时)
│ ├── log/
│ ├── lib/
│ └── tmp/
├── tmp/ 临时文件(重启清空)
├── dev/ 设备文件
├── proc/ 进程 / 内核信息(虚拟)
├── sys/ 内核对象(虚拟)
├── mnt/ 临时挂载
└── run/ 运行时数据(pid、socket)
文件类型
ls -l
# - 普通文件
# d 目录
# l 软链接
# b 块设备
# c 字符设备
# s 套接字
# p 命名管道
基本操作
# 文件 / 目录
touch file.txt
mkdir -p a/b/c
cp src dst
cp -r src/ dst/
mv old new
rm -rf path
权限
chmod 644 file
chmod u+x file
chown user:group file
chown -R user:group dir
# 数字权限
# r=4 w=2 x=1
# 644 = rw-r--r--
# 755 = rwxr-xr-x
特殊位:
chmod u+s file # SUID:执行时获得属主权限
chmod g+s dir # SGID:目录下新建文件继承属组
chmod +t dir # sticky:只有 owner 能删自己文件(/tmp 经典用法)
链接
# 硬链接:同一 inode,多个别名,删一个不丢
ln file hard
# 软链接:自己的 inode,指向路径
ln -s file soft
# 跨文件系统、目录软链只能用软链
查找
find / -name "*.log"
find / -type f -size +100M
find / -mtime -1 # 一天内改过
find / -user nginx
find / -perm 0644
磁盘与挂载
df -h # 整体
du -sh /path # 目录大小
lsblk # 块设备树
mount | column -t # 挂载点
mount /dev/sdb1 /mnt/data
umount /mnt/data
# 持久化:/etc/fstab
UUID=xxxx /mnt/data ext4 defaults,noatime 0 2
文件系统维护
mkfs.ext4 /dev/sdb1
fsck /dev/sda1
tune2fs -l /dev/sda1 # 看文件系统参数
xfs_info /dev/sdb1 # xfs
2026 年事实标准:ext4 / xfs,新部署基本只剩这两个。btrfs 在桌面和容器场景增长明显,zfs 仍是 NAS 主场。
压缩与归档
tar -czf archive.tar.gz dir/
tar -xzf archive.tar.gz
tar -tzf archive.tar.gz | head
zstd -T0 dir/ # 2026 年的高效压缩
unzstd archive.tar.zst
一些经验
- 不要在
/下乱建目录,遵守 FHS - 软链是相对路径时,移动软链别破
- 挂载点要预先
mkdir,/etc/fstab用 UUID 而不是设备名 - 删大目录用
rsync -a --delete比rm -rf慢但更安全 - 备份前先
sync,数据真落盘