当前位置: 首页 > news >正文

Linux df 命令详解

文章目录

  • Linux `df` 命令详解
  • 基本语法
  • 常用选项及参数
  • 示例解析
  • 常见使用场景
  • 总结


Linux df 命令详解

df (disk free) 命令用于查看文件系统的磁盘空间使用情况。它可以显示每个挂载点的可用空间、已用空间、总空间等信息,是监控磁盘使用情况的重要工具。df 命令的输出结果能够帮助系统管理员和用户了解当前文件系统的存储状态,以便及时调整磁盘管理策略。

基本语法

df [选项]... [文件]...

常用选项及参数

选项说明
-a显示所有文件系统,包括那些大小为 0 的伪文件系统(例如 /proc)。
-h以人类可读的格式显示,使用适合大小的单位(如 KB、MB、GB)。
-H-h 类似,但使用 1000 作为单位进制(而不是 1024)。
-T显示文件系统类型。
-i显示 inode 信息而不是块使用情况。
-l仅显示本地文件系统。
--total显示所有文件系统的总使用情况。
-P采用 POSIX 输出格式,确保输出可以轻松解析(如在脚本中使用)。
--sync在显示磁盘使用情况之前尝试同步所有挂载的文件系统。
-B SIZE以指定的块大小显示磁盘使用情况。例如 -B M 显示结果以 MB 为单位。

示例解析

  1. 查看所有挂载文件系统的磁盘使用情况

    df
    

    这会列出所有挂载的文件系统,并显示每个文件系统的总大小、已用空间、可用空间以及挂载点。

    [root@sonar ~]# df
    Filesystem     1K-blocks      Used Available Use% Mounted on
    devtmpfs         8045240         0   8045240   0% /dev
    tmpfs            8056632         0   8056632   0% /dev/shm
    tmpfs            8056632    886036   7170596  11% /run
    tmpfs            8056632         0   8056632   0% /sys/fs/cgroup
    /dev/sda5      967385592 273668880 693716712  29% /
    /dev/sda2         487634    115738    342200  26% /boot
    tmpfs            1611328         0   1611328   0% /run/user/0
    [root@sonar ~]# 
    

    以下是 df 命令的结果中各列的解释:

    Filesystem     1K-blocks      Used Available Use% Mounted on
    

    Filesystem
    文件系统的名称,指的是设备或挂载点的名称。例如 /dev/sda5 表示物理磁盘上的一个分区,tmpfs 则表示一种临时文件系统,通常存放在内存中。

    1K-blocks
    以 1KB 为单位的文件系统总大小。它表示每个文件系统中总共分配了多少 1KB 的块。例如 /dev/sda5 文件系统的总大小是 967,385,592 个 1KB 块,即约 967GB。

    Used
    已使用的磁盘空间,单位也是 1KB。这表示当前文件系统中已经占用了多少空间。例如 /dev/sda5 上已使用了 273,668,880 个 1KB 块,即约 273GB。

    Available
    可用的磁盘空间,单位也是 1KB。它表示文件系统中还有多少空间可供使用。例如 /dev/sda5 上有 693,716,712 个 1KB 块可用,即约 693GB。

    Use%
    文件系统的使用率,以百分比表示。它显示文件系统的已用空间占总空间的百分比。例如 /dev/sda5 已经使用了 29% 的空间。

    Mounted on
    文件系统挂载的位置,表示这个文件系统被挂载在系统中的哪个目录下。例如 /dev/sda5 被挂载在根目录 /,而 /dev/sda2 被挂载在 /boot

    具体输出的解析

    • devtmpfs:用于设备的临时文件系统,提供设备节点信息,大小为 8045240 KB,未使用,挂载在 /dev
    • tmpfs:临时文件系统,常用于内存中的临时存储。例如 /dev/shm/run/sys/fs/cgroup 都使用了 tmpfs,用来存储系统的临时数据。
    • /dev/sda5:物理磁盘的主要分区,容量为约 967GB,使用了 273GB,还剩 693GB,使用率 29%,挂载在根目录 /,存放操作系统和用户数据。
    • /dev/sda2:另一个磁盘分区,专门用于 /boot,存储启动引导文件。大小为 487634KB(约 488MB),使用了 115738KB(约 115MB),剩余空间 342200KB(约 342MB),使用率为 26%。
    • tmpfs(用于 /run/user/0):用于 root 用户的临时文件存储,未使用任何空间。
  2. 以人类可读格式显示磁盘使用情况

    df -h
    

    -h 选项将以适合人类阅读的格式显示磁盘使用情况,例如将单位转换为 KB、MB、GB,而不是以字节显示。

    示例输出:

    文件系统      容量  已用  可用 已用% 挂载点
    /dev/sda1      50G   10G   37G   22% /
    tmpfs          2.0G  1.2M  2.0G    1% /dev/shm
    
  3. 显示文件系统类型

    df -T
    

    -T 选项会为每个文件系统列出类型。例如,ext4、xfs 或 tmpfs。

    示例输出:

    文件系统      类型  容量  已用  可用 已用% 挂载点
    /dev/sda1     ext4   50G   10G   37G   22% /
    tmpfs         tmpfs  2.0G  1.2M  2.0G    1% /dev/shm
    
  4. 查看 inode 使用情况

    df -i
    

    -i 选项显示的是文件系统的 inode 使用情况,而不是磁盘块使用情况。每个文件系统都有一定数量的 inode,用于存储文件和目录的元数据。

    示例输出:

    文件系统       Inodes  已用  可用 已用% 挂载点
    /dev/sda1     3276800  51200  3225600   2% /
    tmpfs         512000    640   511360    1% /dev/shm
    
  5. 显示特定目录的磁盘使用情况

    df /home
    

    这会显示 /home 挂载点所在文件系统的磁盘使用情况。

  6. 使用指定块大小显示

    df -B M
    

    -B 选项允许指定块大小,比如 M 表示以 MB 为单位。

  7. 显示总的磁盘使用情况

    df --total
    

    此选项会在最后添加一行,显示所有文件系统的总使用情况。

    示例输出:

    文件系统      容量  已用  可用 已用% 挂载点
    /dev/sda1      50G   10G   37G   22% /
    tmpfs          2.0G  1.2M  2.0G    1% /dev/shm
    总计           52G   10G   39G   20%
    

常见使用场景

  1. 监控磁盘空间
    系统管理员可以通过定期执行 df 命令来监控磁盘使用情况,特别是关键的系统分区(如 /var/home 等),确保它们不会被填满,避免导致系统崩溃或服务不可用。

  2. 排查磁盘空间不足的问题
    当用户发现文件系统空间不足时,df 可以帮助快速定位使用最多的分区,以便采取相应的措施(如清理文件、扩展分区等)。

  3. 脚本中的应用
    df 命令可以与 shell 脚本结合使用,自动化磁盘空间监控和报警功能。通过 df -P 选项,确保脚本能解析输出结果。

总结

df 命令是 Linux 系统中查看磁盘使用情况的重要工具。通过灵活使用 df 的各种选项,用户可以轻松获取系统各个分区的磁盘空间使用情况,并进行相应的管理和维护。无论是在排查问题还是日常的系统监控中,df 都是必不可少的工具。


http://www.mrgr.cn/news/51806.html

相关文章:

  • 基于AES的遥感图像加密算法matlab仿真
  • 法规标准-懂车帝智能化实测标准(2024版)
  • Hadoop查询引擎之Tez
  • 多线程(五):死锁内存可见性问题
  • 数据结构——单链表的基本操作
  • 算法题总结(十三)—— 动态规划(上)
  • 《深度学习》OpenCV库、Dlib库 人脸检测 案例解析
  • 从零开始实现大语言模型(十二):文本生成策略
  • DAY53WEB 攻防-XSS 跨站SVGPDFFlashMXSSUXSS配合上传文件添加脚本
  • 【LeetCode】14.最长公共前缀
  • 代码随想录day40:动态规划part13
  • 【文献及模型、制图分享】干旱区山水林田湖草沙冰一体化保护与系统治理——基于土地退化平衡视角
  • 股票分析软件设计
  • 【C++11入门】新特性总结之lambda表达式
  • 人机之间的系统论不同于机器之间的系统论
  • 关于jmeter中没有jp@gc - response times over time
  • 华为OD机试真题---选修课
  • 分享一个图片RGB以及16进制颜色提取的在线网站
  • js高级-理解call()的原理
  • 【MySQL】入门篇—基本数据类型:使用ORDER BY进行排序