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

磁盘空间管理|目录容量统计|linux查询文件夹大小、Linux文件夹大小查询方法与命令大全

📂 Linux磁盘空间管理:目录容量统计与文件夹大小查询全攻略

最新动态 📢(2025年07月)
近期Linux内核6.10版本优化了du命令对大目录的扫描效率,尤其针对SSD和NVMe存储设备,速度提升高达30%!ncdu工具新增了“按修改时间筛选文件”功能,清理旧文件更便捷~


🔍 为什么需要统计文件夹大小?

当你的Linux服务器突然弹出“磁盘空间不足”警告时,快速定位“谁在偷吃空间”至关重要!可能是日志爆炸💥、缓存堆积🗑️,或是某个同事误传了4K电影🎬…掌握这些命令,你就能化身“空间侦探”🕵️♂️!

磁盘空间管理|目录容量统计|linux查询文件夹大小、Linux文件夹大小查询方法与命令大全


📊 基础命令:快速查询文件夹大小

1️⃣ du——磁盘用量分析之王

# 查看当前目录总大小(人类可读格式)
du -sh  
# 统计指定目录(如/home)大小  
du -sh /home  
# 显示目录下所有子文件夹大小(按MB排序)  
du -h --max-depth=1 /var | sort -h -r  

参数解析

  • -s:只显示总和
  • -h:自动转KB/MB/GB(不用自己算1024✨)
  • --max-depth=1:只统计一级子目录

2️⃣ ncdu——可视化神器(强烈推荐!)

像玩游戏一样管理空间🎮:

磁盘空间管理|目录容量统计|linux查询文件夹大小、Linux文件夹大小查询方法与命令大全

# 安装(Debian/Ubuntu)  
sudo apt install ncdu  
# 扫描/home目录(按方向键浏览,d删除文件)  
ncdu /home  

优势

  • 交互式界面,支持删除/跳转目录
  • 彩色进度条显示占用比例🌈
  • du更快扫描海量文件

🛠️ 进阶技巧:精准定位问题

3️⃣ 按文件类型统计

# 找出/var/log下所有超过100MB的.log文件  
find /var/log -name "*.log" -size +100M -exec ls -lh {} \;  

4️⃣ 定时监控目录增长

# 每天记录/tmp目录大小到日志  
echo "$(date) - $(du -sh /tmp)" >> /var/log/space_monitor.log  

💡 实用场景解决方案

🚨 场景1:根目录突然爆满

# 快速定位TOP5大目录  
cd / && sudo du -h --max-depth=1 2>/dev/null | sort -h -r | head -n 6  

📅 场景2:清理30天前的旧文件

# 删除/home下超过30天未访问的临时文件  
find /home -type f -name "*.tmp" -atime +30 -delete  

🧠 冷知识:为什么dfdu结果不一致?

  • df显示文件系统整体用量(含隐藏空间)
  • du只计算文件实际大小
  • 如果文件被删除但进程仍占用(比如日志文件),用lsof | grep deleted找出幽灵文件👻

🏆 终极组合技

# 一键生成目录树+大小报告(保存到report.txt)  
(tree -h --du /path/to/dir && du -sh /*) > report.txt 2>&1  

📝 总结备忘表

命令 用途 示例
du -sh * 当前目录各文件夹大小 du -sh /var/*
ncdu 交互式空间分析 ncdu --exclude /mnt
find + size 按大小筛选文件 find . -size +1G
df -Th 查看磁盘分区使用情况 df -Th /home

💬 小贴士:定期用sudo apt autoremove(Debian系)或sudo dnf autoremove(RHEL系)清理无用依赖包,能省出惊喜的空间哦!

磁盘空间管理|目录容量统计|linux查询文件夹大小、Linux文件夹大小查询方法与命令大全

下次遇到“No space left”时,记得掏出这份秘籍,分分钟让磁盘重获自由🆓~

发表评论