菜单

Administrator
发布于 2026-10-10 / 2 阅读
0
0

Linux 学习笔记 L9:磁盘与文件系统

磁盘满了网站就挂,这篇讲怎么查谁吃了空间。

df:看磁盘还剩多少

df -h
Filesystem  Size Used Avail Use% Mounted on
/dev/vda1    40G  12G   26G  32% /

-h 人性化显示。Use% 到 90% 就要警惕了。还有个隐形杀手:

df -i

看 inode(文件个数)使用率。小文件太多会把 inode 吃光,磁盘明明有空间却写不进文件。

du:谁吃了空间

du -sh /var/log/* | sort -rh | head -10

-s 只显示总和,-h 人性化,sort -rh 按大小倒排。三层钻取找凶手:先看 / 下哪个目录大,再进目录看子目录,一层层定位。

mount / lsblk:挂载概念

lsblk
mount | grep vda1

Linux 没有 C 盘 D 盘,所有磁盘都“挂”到目录树上。/dev/vda1 挂到 /,/dev/vdb1 可以挂到 /data。

/proc:一切皆文件

cat /proc/meminfo | head -3
cat /proc/cpuinfo | grep "model name" | head -1

硬件信息都是文件,cat 就能看。

实战:磁盘满三板斧

# 1. df -h 确认哪个分区满
# 2. du 三层钻取找大目录
# 3. 删日志用 truncate 别 rm(rm 后进程还占着句柄,空间不释放)
truncate -s 0 /var/log/huge.log

磁盘杀手排行榜

  1. 日志没轮转 /var/log

  2. Docker 镜像层 /var/lib/docker

  3. 备份文件越积越多

  4. /tmp 临时文件

小结

命令

作用

df -h

看分区剩余空间

df -i

看 inode 剩余

du -sh

看目录大小

lsblk

看块设备

truncate -s 0

清空文件不删句柄

下一篇 L10:SSH 远程连接——密钥登录一把梭,scp 传文件,config 写别名。


评论