当前位置:首页 > 问答 > 正文

磁盘管理|空间查询|查看linux磁盘空间的常用命令与详细使用方法

📂 Linux磁盘空间查询指南:告别"存储不足"的烦恼!

场景:你正在愉快地coding💻,突然系统弹窗提示"磁盘空间不足"😱,项目编译被迫中断...别慌!掌握这些Linux磁盘管理命令,轻松找出"空间小偷"!


🔍 基础查询三板斧

df - 快速概览磁盘使用情况

df -h  # 人类可读格式显示(GB/MB/KB)

输出示例

Filesystem      Size  Used Avail Use% Mounted on  
/dev/sda1        50G   42G  5.2G  89% /  
tmpfs           3.9G     0  3.9G   0% /tmp  

常用参数

  • -a:显示所有文件系统(包括虚拟文件系统)
  • -T:显示文件系统类型(ext4/nfs等)

du - 深度分析目录大小

du -sh /home/*  # 查看/home下所有用户目录总大小  
du -h --max-depth=1 /var  # 查看/var一级子目录大小  

实用技巧

磁盘管理|空间查询|查看linux磁盘空间的常用命令与详细使用方法

  • 配合sort排序:du -h /var | sort -rh | head -n 10(显示前10大目录)
  • 排除特定类型文件:du -h --exclude="*.log" /path

lsblk - 查看磁盘物理结构

lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT  # 显示关键信息  

输出示例

NAME    SIZE FSTYPE MOUNTPOINT  
sda     100G  
├─sda1  50G  ext4   /  
└─sda2  50G  swap  

🕵️‍♂️ 高级侦查技巧

ncdu - 可视化神器(需安装)

sudo apt install ncdu  # Debian/Ubuntu  
ncdu /  # 交互式扫描根目录  

特点

  • 键盘方向键导航 📶
  • 按大小排序 🔼🔽
  • 支持删除文件(按d键)

find + 空间定位

查找大于100MB的文件:

find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null  

组合技

# 找出7天前且大于1G的日志文件  
find /var/log -name "*.log" -mtime +7 -size +1G  

� 常见问题处理

❌ "磁盘满但df显示可用空间"

可能是被删除文件仍被进程占用:

磁盘管理|空间查询|查看linux磁盘空间的常用命令与详细使用方法

lsof | grep deleted  # 查看被删除但未释放的文件  
# 重启相关进程或直接kill进程ID  

💾 快速清理技巧

# 清空日志文件(谨慎操作!)  
sudo truncate -s 0 /var/log/syslog  
# 删除30天前的临时文件  
find /tmp -type f -mtime +30 -delete  

📊 数据可视化(Bonus)

生成磁盘使用树状图:

sudo apt install tree  
tree -d -L 2 -h /home  # 显示2层目录结构带大小  

最后的小贴士💡:定期用cron设置自动化空间检查任务,把问题扼杀在萌芽中!现在就去试试这些命令,让你的Linux服务器呼吸更顺畅吧~ 🚀

(本文命令测试环境:Ubuntu 22.04,内核版本5.15,2025年8月验证)

发表评论