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

news2024/11/5 22:23:43

  深入理解 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.coloradmin.cn/o/2233857.html

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

相关文章

阿里云-部署CNI flannel集群网络

环境 1.一台阿里云作为k8s-master:8.130.XXX.231(阿里云私有IP) 2.Vmware 两个虚拟机分别作为 k8s-node1:192.168.40.131 k8s-node2:192.168.40.131 3.安装Docker 部署过程 k8s-master,k8s-node1,k8s-node2 初始操作 # 关闭防火墙 systemctl stop fi…

「C/C++」C++设计模式 之 抽象工厂模式(Abstract Factory)

✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

免费在线绘图:创意与效率的结合

在数字化时代,绘图已成为各行业人士的基本技能。无论你是设计师、学生、创作者还是爱好者,免费的在线绘图软件都是释放创意和表达思想的理想选择。本文将介绍七款功能全面、免费的在线绘图软件,帮助你轻松实现创作愿景。只需网络连接&#xf…

【教程】Git 标准工作流

目录 前言建仓,拉仓,关联仓库修改代码更新本地仓库,并解决冲突提交代码,合入代码其他常用 Git 工作流删除本地仓库和远程仓库中的文件日志打印commit 相关 前言 Git 是日常开发中常用的版本控制工具,配合代码托管仓库…

基于springboot+vue实现的任务管理系统(源码+L文)4-103

第4章 系统设计 4.1 总体功能设计 员工,经理,管理员都需要登录才能进入任务管理系统,使用者登录时会在后台判断使用的权限类型,包括一般使用者和管理者,一般使用者为员工和经理,对员工只能提供任务信息显示查询&…

vue2中使用vue-awesome-swiper实现轮播

swiper官方文档:Swiper中文网-轮播图幻灯片js插件,H5页面前端开发 1.安装 注意:swiper和vue-awesome-swiper的版本一定一定一定要相对应,版本对应如下: Swiper 5-6 vue-awesome-swiper4.1.1(vue2) Swiper 4.x vue-awesome-swi…

Node.js 入门指南:从零开始构建全栈应用

​🌈个人主页:前端青山 🔥系列专栏:node.js篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来node.js篇专栏内容:node.js-入门指南:从零开始构建全栈应用 前言 大家好,我是青山。作…

favicon是什么文件?如何制作网站ico图标?

一般我们做网站的话,都会制作一个独特的ico图标,命名为favicon.ico。这个ico图标一般会出现在浏览器网页标题前面。如下图红色箭头所示: 部分博客导航大全也会用到所收录网站的ico图标。比如boke123导航新收录的网站就不再使用网站首页缩略图…

“大跳水”的全新奥迪A3,精准狙击年轻人的心

文/王俣祺 导语:随着传统豪华品牌在国内市场的全面崩盘,奥迪再一次坐不住了。这次,奥迪“割肉”的目标瞄准了被称为“年轻人第一台豪车”的奥迪A3,这款车问世以来,就凭借出色的性能与品质收获了一大批年轻粉丝。如今&a…

两台手机如何提词呢,一台手机后置高清摄像一台手机前置提词+实时监测状态的解决方案来喽

拍视频只会用前置摄像头可不行啊, 后置高清才会更有流量, 你看哦,我用的是后置摄像头拍摄, 然后前面就用来提词, 它不光能提词, 和其他家不一样的是, 还能把后面手机画面投影到前面手机 这样呀&…

[SWPUCTF 2021 新生赛]easy_sql的write up

开启NSSCTF靶场,在浏览器中访问链接,看到让我们输入点什么还有标签页名字提示: "参数是wllm" 直接/?wllm1访问一下: 这里就直接用sqlmap直接爆破了: 查看数据库有哪些: python sqlmap.py -u …

Tr2 CYT2B75使用记录(二):GPIO、串口、CAN(FD)和busoff检测、看门狗和复位原因

目录 概述GPIO串口1.FIFO2.中断 CANFDRX Buffer and FIFO ElementTX Buffer Elementbusoff 检测 看门狗复位原因 待梳理 概述 GPIO 1.如何定位IO的作用 2.读取电平必须为输入模式 串口 熟悉手册串口特性如下: ■ 数据帧大小可从4位编程到16位 ■ STOP位的可编程…

Android13 系统/用户证书安装相关分析总结(二) 如何增加一个安装系统证书的接口

一、前言 接着上回说,最初是为了写一个SDK的接口,需求大致是增加证书安装卸载的接口(系统、用户)。于是了解了一下证书相关的处理逻辑,在了解了功能和流程之后,发现settings中支持安装的证书,只…

【Java语言】继承和多态(一)

继承 继承就是实现代码的复用;简而言之就是重复的代码作为父类(基类或超类),而不同的可以作为子类(派生类)。如果子类想要继承父类的成员就一定需要extends进行修饰(如:(…

04_CC2530+Uart串口通信

04_CC2530UART串口通信 串口通信基本概念 串行通信: 数据字节一位位地依次传送的通信方式, 串行通信的速度慢, 但用的传输线条数少, 成本低,适用于远距离的数据传送并行通信: 数据字节的各位同事传送的通信方式, 优点是数据传送速度快, 缺点是占用的传输线条数多,…

【计算机网络安全】湖北大学–DNS欺骗实验

目录 0x00 ettercap-原理 0x01 ettercap-arp欺骗 0x02 ettercap-dns劫持 0x00 ettercap-原理 攻击者冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址。这样的话,用户上网就只能看到攻击者的主页,而不是用户想要取得的网站。 首先&…

雷池社区版新版本功能防绕过人机验证解析

前两天,2024.10.31,雷池社区版更新7.1版本,其中有一个功能,新增请求防重放 更新记录:hhttps://docs.waf-ce.chaitin.cn/zh/%E7%89%88%E6%9C%AC%E6%9B%B4%E6%96%B0%E8%AE%B0%E5%BD%95 仔细研究了这个需求,…

【深度学习基础】深入理解 卷积与卷积核

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀深度学习_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 卷积 1.1 …

SpringBoot集成Shiro+Jwt+Redis

1. 概述 首先需要知道为什么使用 ShiroJwtRedis 进行登录认证和权限控制。 1. 为什么用Shiro? 主要用的是 shiro 的登录认证和权限控制功能。 Shiro 参见本栏目文章 🍃《Shiro实战》 2. 为什么用Jwt? Shiro 默认的 Session 机制来帮助实现…

基于Python的乡村居民信息管理系统【附源码】

基于Python的乡村居民信息管理系统 效果如下: 系统主页面 系统登录页面 管理员主页面 居民管理页面 政务学习页面 土地信息管理页面 个人信息管理页面 居民登陆页面 村委人员主页面 研究背景 随着信息技术的飞速发展和乡村振兴战略的深入实施,传统的乡…