深入理解 Linux df 命令:用法详解与使用示例

  深入理解 Linux du 命令:用法详解与使用示例
  在 Linux 系统中,管理和监控磁盘空间是日常运维工作的重要组成部分。除了常用的 du 命令外,df 命令也是一个核心工具,用于查看系统中磁盘分区的使用情况。虽然 dudf 命令都涉及磁盘空间的监控,但它们的用途略有不同。

本文将详细介绍 df 命令的用法、常见选项,并比较 dfdu 的功能和应用场景的区别。


1. 什么是 `df` 命令?

dfdisk free(磁盘空闲空间) 的缩写,用于显示文件系统的磁盘使用情况。它会显示系统中所有挂载的文件系统的总容量、已用空间、可用空间以及挂载点等信息。

基本语法

df [选项]... [文件]...
  • [选项]:可选的参数,用于控制 df 的输出格式和行为。
  • [文件]:可选的路径,表示要查看对应文件所在分区的磁盘使用情况。如果不指定,df 默认显示所有挂载的文件系统。

2. `df` 命令的常用选项

df 提供了许多选项,用于定制输出格式和过滤所需信息。以下是一些常用选项的介绍及其实际应用示例。

2.1 `-h`:以容易阅读的格式显示

-h 选项将磁盘使用情况以容易阅读的格式显示,例如 KB、MB、GB,而不是默认的字节数。

df -h

输出:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   30G   20G  60% /
tmpfs           256M  0.0K  256M   0% /dev/shm
/dev/sdb1       100G   60G   40G  60% /home

df -h 命令显示了每个挂载点的文件系统容量、已用空间、剩余空间和使用百分比,单位为 GB 和 MB。

2.2 `-T`:显示文件系统类型

-T 选项可以显示每个文件系统的类型(如 ext4、xfs、tmpfs 等)。

df -T

输出:

Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda1      ext4       50G   30G   20G  60% /
tmpfs          tmpfs     256M     0  256M   0% /dev/shm
/dev/sdb1      xfs       100G   60G   40G  60% /home

文件系统类型可以帮助了解每个分区使用的文件系统格式,便于系统管理和优化。

2.3 `-i`:显示 inode 信息

-i 选项用于显示文件系统的 inode 使用情况,而不是磁盘块的使用情况。Inode 是文件系统中的数据结构,记录了文件的元数据信息。

df -i

输出:

Filesystem     Inodes  IUsed   IFree IUse% Mounted on
/dev/sda1      3276800  50000 3226800    2% /
tmpfs           65536      1   65535    1% /dev/shm
/dev/sdb1      5242880  10000 5232880    1% /home

使用 -i 选项可以帮助监控系统的 inode 使用情况。如果 inode 被用完,则即使磁盘空间充足,也无法创建新文件。

2.4 `-t` 和 `-x`:按文件系统类型过滤

  • -t:只显示指定类型的文件系统。
  • -x:排除指定类型的文件系统。
示例:只显示 xfs 文件系统
df -h -t xfs
示例:排除 tmpfs 文件系统
df -h -x tmpfs

2.5 `--total`:显示总计

--total 选项在输出的最后添加一行,显示所有文件系统的总容量、已用空间和剩余空间。

df -h --total

输出:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   30G   20G  60% /
tmpfs           256M     0  256M   0% /dev/shm
/dev/sdb1       100G   60G   40G  60% /home
total           150G   90G   60G  60%

--total 选项可以帮助快速查看所有文件系统的总磁盘使用情况。

2.6 `-k, -m, -B`:自定义单位

  • -k:以千字节(1024 字节)为单位显示。
  • -m:以兆字节(1,048,576 字节)为单位显示。
  • -B SIZE:以自定义块大小单位显示。
示例:以兆字节为单位显示
df -m

3. `df` 命令的常见使用场景

3.1 检查磁盘空间使用情况

当磁盘空间不足时,可以使用 df -h 快速检查每个分区的磁盘空间使用情况。

df -h

通过查看 Use% 列,可以快速发现哪些分区的磁盘空间已经接近满载。

3.2 查看文件系统类型

在进行系统维护或优化时,了解文件系统类型很重要。可以使用 df -T 来查看每个挂载点的文件系统类型。

df -T

3.3 监控 inode 使用情况

在某些情况下,即使磁盘空间充足,文件系统的 inode 可能已经耗尽,从而无法创建新文件。使用 df -i 可以帮助监控 inode 的使用情况。

df -i

4. `df` 与 `du` 命令的区别

dfdu 都用于监控磁盘空间的使用情况,但它们的作用和工作原理有很大的不同。

特性df命令du命令
用途检查文件系统的已用和可用磁盘空间检查特定目录或文件的磁盘使用量
操作范围针对整个文件系统针对目录和文件
显示内容文件系统的已用空间、剩余空间、挂载点等目录或文件的大小,递归显示子目录
数据来源文件系统的元数据(superblock)实际扫描目录和文件
常用选项-h, -T, -i, --total-h, -s, -a, --max-depth=N
显示单位显示整个文件系统的总容量显示目录或文件占用的空间
inode 信息可以显示 inode 使用情况 (df -i)主要关注文件大小,不显示 inode 信息
适用场景查看文件系统的整体健康状况,例如磁盘空间不足时详细分析某个目录或文件的磁盘使用情况

4.1 `df`:文件系统级别的空间使用情况

df 命令用于检查整个文件系统的磁盘使用情况。它查看的是文件系统的元数据,例如超级块(superblock),并报告整体的磁盘使用情况。df 适用于:

  • 检查分区的总容量、已用空间和剩余空间。
  • 查看文件系统的类型(例如 ext4、xfs、tmpfs 等)。
  • 监控文件系统的 inode 使用情况。

4.2 `du`:目录和文件级别的空间使用情况

du 命令用于显示特定目录或文件的磁盘使用情况。它会递归扫描目录中的文件和子目录,并计算它们的实际占用空间。du 适用于:

  • 详细分析某个目录或文件的磁盘使用情况。
  • 找到哪些目录或文件占用了最多的磁盘空间。
  • 递归统计目录的大小。

4.3 常见问题:为什么 `df` 和 `du` 的结果不一致?

经常会发现 dfdu 的结果不一致,这通常是由于以下原因导致的:

  1. 删除了打开的文件:如果一个文件已经被删除,但进程仍然打开它,df 会将其计入已用空间,而 du 可能不会看到它。
  2. 文件系统的保留空间:文件系统通常会为超级用户(root)保留一些空间,df 会显示这些保留空间,而 du 只会显示实际使用的空间。
  3. 挂载点的差异df 显示的是整个文件系统的使用情况,而 du 只显示从指定目录开始的使用情况。

5. 总结

df 是一个强大而灵活的工具,用于查看系统中所有挂载文件系统的磁盘使用情况。它可以帮助快速了解整个系统的磁盘使用情况,包括剩余空间、已用空间、文件系统类型和 inode 使用情况。

df 侧重于文件系统级别的报告,du 更适合具体文件和目录的详细分析。


希望这篇文章能帮助到你,如果有其他问题或建议,欢迎留言讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/2889.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

004-Kotlin界面开发快速入水之TicTacToe

程序界面和效果 快速入水 要学习一样跟程序设计有关的东西,最好的办法始终是把手打湿,整一个能够运行,可以实验的东西出来。 也只有在程序开发中,我们才能想一个魔法师而不是魔术师,我们真的能够创造一个东西。而且编…

Spring Boot——日志介绍和配置

1. 日志的介绍 在前面的学习中,控制台上打印出来的一大堆内容就是日志,可以帮助我们发现问题,分析问题,定位问题,除此之外,日志还可以进行系统的监控,数据采集等 2. 日志的使用 在程序中获取日…

python opencv2

二、图像预处理 1、图像翻转 cv2.flip(src, flipCode) :flipCode :0:沿 X 轴翻转(垂直翻转);1:沿 Y 轴翻转(水平翻转),-1:沿 X 轴和 Y 轴翻转&am…

文件夹0字节:原因、恢复方案与预防措施

一、文件夹0字节现象描述 在日常使用电脑的过程中,我们可能会遇到这样一个问题:某个文件夹突然变成了0字节,这意味着该文件夹中的所有文件似乎都不见了,但实际上可能并未被彻底删除。文件夹0字节的情况常常让人困惑不解&#xff…

不需要复制粘贴,重复内容如何使用Mac快速完成输入

在Mac的日常使用中,必然有着重复内容需要重复输入的需求,但是Mac的剪切板又不具备历史记录的功能,所以只能一次次的复制粘贴,费时费力,那么该如何才能不这么麻烦 快捷短语就是为了解决这一问题而存在的 提前在设置好…

Java 打印流:PrintStream 与 PrintWriter 详解

在 Java 编程中,System.out.println() 的使用频率恐怕不亚于 main 方法的使用频率。其中,System.out 返回的正是打印流 PrintStream。除此之外,Java 还提供了另一个打印流 PrintWriter,它们分别继承自 OutputStream 和 Writer&…

RESTful风格

目录 一、什么是RESTful 1.1 RESTFul对WEB服务接口的规定包括: 1.2 REST对请求方式的具体约束如下: 1.3 REST对URL的具体约束如下: 1.4 RESTFul的核心概念: 二、RESTful风格与传统方式对比 三、RESTful风格演示 3.1 查询所…

运维工具之docker入门

1.容器与docker 1.什么是容器? 容器是一种轻量级的,可移植的软件运行环境。它将软件程序本身及软件依赖库打包在一起。可以在不同平台和系统上运行。 2.什么是LXC LXC就是Linux container,。LXC是一种虚拟化技术,可以在操作系统层级上为应…

Ubuntu系统安装NVIDIA驱动、CUDA、PyTorch等GPU深度学习环境

学习目标: 在Ubuntu系统上安装CUDA、PyTorch等GPU深度学习环境,主要目标是为深入研究深度学习和深度强化学习提供高效的计算支持。通过构建GPU环境,计划掌握深度学习的基本概念和算法应用,提高模型训练效率,特别是在复…

地理信息科学专业想搞GIS开发:学前端还是后端?

地理信息科学专业的同学是学前端开发比较好呢还是学后端开发比较好呢? 部分网友:学前端更好 主修前端更好,因为地信学后端,是卷不赢学计算机的 本科卷前端,硕士阶段可以卷后端 甚至有网友直呼,地信根本没有…

软件测试学习笔记丨Flask框架-请求与响应

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/23408 请求方法 from flask import Flaskapp Flask(__name__)app.route("/cases", methods["get"]) def get_case():return {"code": 0, "msg": &…

你敢想象吗?我能远程控制家里的电脑进入Bios

老家的爸妈用电脑也不知怎的,偶尔就不行了。这个偶尔还挺频繁的,我自己又会修电脑,但奈何距离太远!如果叫别人上门修电脑,一次就是200…… 我的心在滴血啊在滴血~如果有这么一款产品,就算电脑无…

基于STM32的温湿度监测器教学

引言 随着科技的发展,温湿度监测在农业、仓储、环境监测等领域的应用越来越广泛。本文将指导您如何基于STM32开发一个简单的温湿度监测器,使用常用的DHT11或DHT22传感器进行数据采集,并将监测结果显示在LCD或OLED屏幕上。 项目名称 STM32温湿…

科研绘图系列:R语言组合堆积图(stacked plot)

文章目录 介绍加载R包数据数据预处理画图1画图2组合图形系统信息介绍 堆积图(Stacked Chart),也称为堆叠图,是一种常用的数据可视化图表,主要用于展示不同类别的数据量在总体中的分布情况。堆积图可以是柱状图、条形图或面积图的形式,其中各个类别的数据量被叠加在一起,…

红黑树的平衡之舞:数据结构中的优雅艺术

文章目录 前言🚀一、红黑树的介绍1.1 红黑树的概念1.2 红黑树的特点1.3 红黑树的性质 🚀二、红黑树结点的定义🚀三、红黑树的框架🚀四、旋转操作🚀五、红黑树的插入操作5.1 uncle结点存在且为红5.2 uncle结点不存在或者…

ONLYOFFICE 8.2版本产品评测——遥遥领先,助力自动化办公

ONLYOFFICE 产品测试体验报告总结 知孤云出岫-CSDN博客 目录 产品介绍——篇【1】 一.关于 ONLYOFFICE 桌面编辑器 二.关于 ONLYOFFICE 协作空间 三.关于 ONLYOFFICE 文档 四.关于 ONLYOFFICE的版本介绍 产品新功能——篇【2】 一.关于 ONLYOFFICE的新增功能介绍 二.ONL…

【Linux驱动开发】通过设备树节点来配置和调用GPIO(pinctrl节点和gpio-controller)

【Linux驱动开发】通过设备树节点来配置和调用GPIO(pinctrl节点和gpio-controller) 文章目录 设备树下pinctrl节点GPIO控制节点调用方法GPIO输入附录:嵌入式Linux驱动开发基本步骤开发环境驱动文件编译驱动安装驱动自动创建设备节点文件 驱动…

【Linux】安装 SQL Server 命令行工具 mssql-tools18(Ubuntu 22.04)

引言 mssql-tools18 是一个包含 Microsoft SQL Server 命令行工具的软件包。这些工具包括 sqlcmd 和 bcp。 sqlcmd 是一个允许你用命令行与 SQL Server 进行交互的工具。你可以用它来运行 SQL 脚本,执行数据库维护任务,以及进行其他数据库管理操作。 b…

库存管理内训课件|39页PPT

文件是一份关于库存管理的内训课件,内容涵盖了库存管理的定义、分类、作用、存在的问题、管控目标以及具体管控措施。以下是对课件内容的总结: 1. 定义及分类 库存:为满足未来需求而暂时闲置的有价值的资源,与物品是否处于运动状…

大零售时代下融合发展的新路径:定制开发技术的应用与思考

摘要:本文探讨在大零售背景下,传统零售边界模糊,融合成为趋势。分析大零售包含的跨行业跨业态融合等三个层面,重点阐述定制开发技术中的 21 链动模式、AI 智能名片和 S2B2C 商城小程序在推动大零售发展中的作用和意义,…