Linux怎么查磁盘空间?linux查看磁盘空间命令

在Linux系统中,查看磁盘空间最核心且通用的命令是df和du,前者用于查看文件系统整体使用情况,后者用于统计文件或目录的具体占用大小。

当你面对一个突然变慢或者报错提示“磁盘空间不足”的服务器时,第一反应不应该是惊慌失措地重启,而是迅速定位问题源头,Linux提供了非常丰富的工具链来帮助你完成这一任务,但不同的命令适用于不同的场景,理解它们的区别,能帮你节省大量排查故障的时间。

Linux 磁盘剩余空间和文件目录大小的查询命令 df和du
加载中
Linux 磁盘剩余空间和文件目录大小的查询命令 df和du

df命令:宏观视角的文件系统概览

df(disk free)是系统管理员最常用的命令之一,它的主要作用是报告文件系统的磁盘空间使用情况,你可以把它想象成一张整个城市的地图,让你一眼就能看出哪些区域(分区)已经拥挤不堪,哪些区域还有大片空地。

基础用法与关键参数解析

在终端中输入df并回车,你会看到一堆看似杂乱无章的数据,为了更直观地理解,我们需要关注几个核心列:

  • Filesystem:显示设备名称或挂载点,比如/dev/sda1/dev/mapper/vg0-lv_root
  • 1K-blocks:以1KB为单位的总块数。
  • Used:已使用的空间。
  • Available:可用空间。
  • Use%:使用百分比,这是判断是否需要清理的最直观指标。
  • Mounted on:挂载点,告诉你在哪个目录下可以访问这个分区。

默认情况下,df显示的单位是1K块,这对于人类阅读并不友好,业内专家指出,使用-h参数是最佳实践,它能自动将数据转换为KB、MB、GB或TB,使输出结果一目了然。

常用组合命令示例

  • 查看人类可读格式:df -h

    Linux怎么查磁盘空间?linux查看磁盘空间命令

  • 查看特定文件系统类型:df -T
  • 查看inode使用情况(防止小文件过多导致空间满):df -i

du命令:微观视角的目录深度扫描

如果说df是看地图,那么du(disk usage)就是拿着放大镜去检查每一个房间,当你发现某个分区空间不足时,df只能告诉你“/home”分区满了,但无法告诉你具体是哪个文件夹占用了空间,这时就需要du出场了。

如何快速定位大文件

du命令默认显示当前目录下每个子目录的大小,为了快速找到占用空间最大的目录,通常结合sorthead命令使用。

执行du -sh / | sort -rh | head -n 10,这条命令的含义如下:

  1. du -sh /:递归统计根目录下所有一级目录的大小,并以人类可读格式(-h)和汇总大小(-s)显示。
  2. sort -rh:按照人类可读的数字格式进行反向排序(从大到小)。
  3. head -n 10:只输出前10行,即占用空间最大的10个目录。

这种组合拳是排查磁盘空间占用问题的标准动作,通过层层深入,你可以从根目录深入到具体的日志文件或备份目录,从而精准定位“磁盘空间杀手”。

du与df的差异对比与实战场景

很多初学者容易混淆df和du,甚至在遇到空间不一致时感到困惑,理解它们的底层逻辑差异,是进阶Linux运维的关键。

为什么df和du显示的大小不一致?

这是一个经典的面试考点,也是实际运维中常见的问题,当你运行df -hdu -sh /时,发现两者结果相差甚远,通常有以下几个原因:

  1. 已删除但未释放的文件:这是最常见的原因,如果某个进程(如日志写入进程)正在写入一个文件,而你通过

    Linux怎么查磁盘空间?linux查看磁盘空间命令

    rm命令删除了该文件,操作系统并不会立即释放其占用的磁盘空间,因为文件句柄仍被进程持有。df显示空间未释放,而du因为文件已被标记删除,不再计入统计,解决方案是重启相关进程或重启服务器。

  2. 隐藏文件与权限问题du默认会统计当前用户有权访问的文件,而df显示的是整个文件系统的状态,如果你没有权限访问某些目录,du可能会漏掉部分数据。
  3. 文件系统保留空间:Linux文件系统(如ext4)默认会为root用户保留5%的空间,以防止普通用户占满磁盘导致系统崩溃。df显示的是总空间,而du统计的是实际数据占用,因此两者存在固定比例的差异。

场景化应用建议

  • 监控告警:在编写监控脚本时,优先使用df -h,因为它读取的是文件系统元数据,速度极快,适合高频次的状态检查。
  • 清理优化:在执行磁盘清理前,务必使用du进行深度扫描,只有知道具体是哪个大文件在作祟,才能有的放矢地清理,避免误删重要数据。

进阶工具:ncdu与iotop的辅助作用

虽然df和du是标配,但在处理TB级别的存储或复杂的目录结构时,终端输出的文本信息可能显得过于枯燥且难以交互,引入一些第三方工具能极大提升效率。

ncdu:交互式磁盘分析利器

ncdu(NCurses Disk Usage)是一个基于ncurses的磁盘使用分析器,它的最大优势在于交互性,运行ncdu /path/to/directory后,你会看到一个类似文件浏览器的界面,可以直接用键盘上下键选择目录,按Enter进入子目录,按Delete删除文件(需谨慎)。

Linux怎么查磁盘空间?linux查看磁盘空间命令

对于经常需要处理大量日志或临时文件的运维人员来说,ncdu的可视化交互体验远胜于反复敲击du命令,它支持快速导出报告,也支持忽略特定类型的文件(如.log),从而聚焦于真正占用空间的大文件。

iotop:监控磁盘IO压力

磁盘空间看似充足,但系统依然卡顿,这可能是因为磁盘IO瓶颈。iotop命令可以实时显示哪些进程正在读写磁盘,虽然它不直接显示空间大小,但结合df和du,它能帮你判断是“空间满了”还是“读写太慢”导致的问题。

常见问题解答

Linux查看磁盘空间常用命令有哪些区别?

df命令主要用于查看文件系统的整体使用情况,包括总容量、已用空间、可用空间及使用百分比,适合快速判断分区是否满载;du命令则用于统计特定文件或目录树的具体大小,适合深入排查具体哪个文件夹占用了过多空间,简而言之,df看宏观,du看微观。

df命令显示的可用空间与du统计的不一致怎么办?

这种情况通常是因为存在已删除但被进程占用的文件,可以通过lsof | grep deleted命令查找这些文件,找到对应的进程ID后,重启该进程即可释放被占用的磁盘空间,文件系统默认保留的空间也会导致两者存在微小差异,属正常现象。

如何防止Linux磁盘空间被小文件占满?

小文件过多会导致inode耗尽,即使磁盘空间还有剩余,也无法写入新文件,可以使用df -i命令查看inode使用情况,为防止此类问题,应定期清理无用的临时文件,并在创建文件系统时根据业务需求调整inode数量,对于日志类应用,建议使用日志轮转机制(如logrotate)定期压缩或归档日志文件。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/417793.html

(0)
GPU云计算主机优惠是真的吗?GPU云服务器租用价格多少
上一篇 2026年6月24日 06:05
为何新业务应选.icu域名?.icu域名后缀有什么优势
下一篇 2026年6月24日 06:08

相关推荐

  • 广州FPGA服务器如何安装amp环境?广州FPGA服务器amp环境搭建教程

    在广州地区部署高性能计算集群,高效完成广州FPGA服务器安装amp环境是确保硬件加速性能充分释放的决定性环节,这一过程绝非简单的软件堆叠,而是需要深度结合硬件特性与操作系统内核的精细化工程,核心结论在于:只有通过专业的环境依赖处理、正确的驱动版本匹配以及严格的权限配置,才能构建出稳定、低延迟的AMP(非对称多处……

    2026年3月30日
    8400
  • 互联网区块链溯源服务集成如何实现?区块链溯源系统开发费用

    互联网区块链溯源服务集成通过打通生产、流通、消费全链路数据,利用不可篡改特性解决信任缺失问题,是目前构建品牌公信力与合规管理的最佳技术路径,在2026年的商业环境中,消费者不再仅仅为产品买单,更是为“真实”买单,传统的二维码溯源早已暴露出数据易被后台修改、信息孤岛严重等弊端,区块链技术的引入,并非简单的技术升级……

    服务器宽带 2026年6月1日
    3800
  • Elementor无法加载怎么办?WordPress解决Elementor加载失败

    Elementor无法加载通常由插件冲突、服务器内存限制或缓存机制引起,优先尝试禁用冲突插件并增加PHP内存限制即可解决多数问题,当你在WordPress后台看到Elementor编辑器转圈、白屏或提示“加载失败”时,焦虑是难免的,这不仅是技术问题,更直接影响内容发布的效率,业内专家指出,这类问题并非无解,而是……

    2026年6月23日
    400
  • html数据图怎么画?html数据图制作教程

    HTML数据图的核心在于利用Canvas或SVG标签配合JavaScript库(如ECharts、Chart.js)将结构化数据转化为可视化图形,而非直接编写静态HTML代码,很多人误以为HTML本身能直接“画”出图表,这其实是一个常见的认知误区,HTML只是负责页面的骨架和结构,就像房子的毛坯房,它本身不具备……

    服务器宽带 2026年6月6日
    2400
  • htm如何引用asp文件?asp页面嵌入htm代码

    静态HTML页面无法直接运行ASP代码,因为ASP是服务器端脚本技术,而HTML是客户端标记语言,两者需要IIS或Apache等Web服务器配合才能协同工作,很多刚接触网站开发的朋友常遇到这个困惑:明明代码写好了,打开网页却是一片空白或者显示源码,这并非代码错误,而是服务器环境未正确配置,在2026年的Web开……

    2026年6月5日
    2900
  • html里怎么写js?js代码嵌入html的正确方法

    在HTML文件中直接编写JavaScript代码,只需使用标签将JS逻辑嵌入HTML结构即可,这种方式适合小型项目或原型开发,但需注意脚本加载顺序以避免DOM未就绪导致的错误,将JavaScript代码直接写在HTML文件里,是前端开发中最基础也最直观的操作方式,这种做法通常被称为“内联脚本”或“内部脚本”,它……

    2026年6月5日
    2100
  • html按钮图片滚动怎么实现?css3动画实现按钮图片滚动效果

    实现HTML按钮图片滚动效果,核心在于结合CSS的@keyframes动画属性与transform: translateX位移指令,通过控制背景位置或元素位移,即可在不依赖复杂JavaScript代码的情况下,实现流畅、高性能的视觉滚动体验,在2026年的前端开发环境中,用户对页面交互的细腻度要求达到了前所未有……

    2026年6月12日
    2100
  • WordPress阅读进度条怎么添加?WordPress实现阅读进度条插件

    在WordPress中添加阅读进度条,最推荐的方法是安装“Reading Progress Bar”或“Sticky Menu”类插件,它们无需修改代码即可实现顶部固定显示,且对网站性能影响极小,阅读进度条不仅仅是装饰,它是提升用户体验的实用工具,当读者面对长篇深度文章时,进度条能直观告知剩余篇幅,减少焦虑感……

    2026年6月19日
    1200
  • CDN回源超时怎么设置才合理?CDN回源超时时间设置多少合适

    CDN回源超时设置的核心在于平衡加速体验与源站负载,通常建议将超时时间设定在3至5秒之间,具体需根据业务类型动态调整,而非盲目追求极致短或长,当用户访问网站时,如果CDN节点上没有缓存内容,就必须向源站请求数据,这个过程就是“回源”,如果回源时间过长,用户会看到白屏或报错,直接影响转化率;如果设置过短,又可能导……

    2026年6月16日
    1400
  • Ubuntu 17.10 静态IP怎么设置?Ubuntu服务器配置静态IP地址教程

    在Ubuntu 17.10服务器中设置静态IP,核心在于修改/etc/network/interfaces配置文件并重启网络服务,这是确保服务器拥有固定公网或内网地址、实现稳定远程访问和端口映射的基础操作,很多刚接触Linux运维的朋友,拿到一台新的Ubuntu服务器时,最头疼的就是网络配置,默认情况下,系统往……

    2026年6月18日
    2600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注