【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)

本文主要是介绍【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

深入df和dh指令探索

  • 前提介绍
    • df命令
      • df命令的基本语法
        • df的命令如下
          • `df`命令的参数信息和描述:
    • du命令
      • du命令的基本语法
        • du有很多参数
          • `[-Aclnx]`:用于指定一系列选项,具体含义如下:
          • `[-H | -L | -P]`:选项用于控制符号链接的处理:
          • `[-g | -h | -k | -m]`:用于指定结果的显示单位,可选参数包括:
        • `[-a | -s | -d depth]`:用于指定处理方式,选项含义如下:
      • 案例分享
  • 问题讨论

前提介绍

在Linux系统中,查看文件空间大小是一个非常普遍的任务。今天,我将向大家介绍两种方法来查看Linux系统中文件空间大小,并解答可能遇到的一些常见问题。
在这里插入图片描述

df命令

"df"命令是用于显示文件系统磁盘使用情况的工具,它提供了关于文件系统总大小、已使用空间、可用空间以及挂载点等详细信息。

df命令的基本语法

df [选项] [文件名或目录名]

举例来说,通过输入df -h命令,可以以人类可读的方式展示文件系统的使用情况。

df的命令如下
df [-b | -h | -H | -k | -m | -g | -P] [-ailn] [-t] [-T type] [file | filesystem ...]
df命令的参数信息和描述:
  • [-b | -h | -H | -k | -m | -g | -P]:用于指定显示文件系统大小的格式,具体含义如下:
    在这里插入图片描述

  • [-ailn]:用于显示特定信息,含义如下:
    在这里插入图片描述

  • [-t]:仅显示指定的文件系统类型。

  • [-T type]:仅显示指定的文件系统类型。

  • [file | filesystem ...]:可选参数,用于指定要显示信息的文件或文件系统。

du命令

du命令是查看空间大小最直接的命令,它的全称是"disk usage",用于显示磁盘空间的占用情况。

du命令的基本语法

du命令主要用于显示文件系统的使用情况。默认情况下,它会显示当前目录的信息,但也可以指定具体的目录。

du [选项] [文件名或目录名]

举例来说,通过输入du -sh /path/to/file命令,可以以人类可读的方式显示指定文件或目录的磁盘使用情况。

du [-Aclnx] [-H | -L | -P] [-g | -h | -k | -m] [-a | -s | -d depth] [-B blocksize][-I mask] [-t threshold] [file ...]
du有很多参数
[-Aclnx]:用于指定一系列选项,具体含义如下:

在这里插入图片描述

  • 属性介绍
    • -A:显示所有文件、包括以"." (点号)开始的文件。
    • -c:显示指定目录的总计。
    • -l:计算硬链接文件的大小。
    • -n:不计算网络文件系统中的文件。
    • -x:不跨越文件系统边界。
[-H | -L | -P]:选项用于控制符号链接的处理:

在这里插入图片描述

  • 属性介绍
    • -H:表示指示du应遵循命令行中所指的符号链接。默认通过符号链接所指的路径。
    • -L:强制监测符号连接的大小。
    • -P:不监测任何符号连接的大小。
[-g | -h | -k | -m]:用于指定结果的显示单位,可选参数包括:

在这里插入图片描述

  • 属性介绍
    • -g:以GB单位显示文件大小。
    • -h:以人类可读的方式显示文件大小。
    • -k:以KB单位显示文件大小。
    • -m:以MB单位显示文件大小。
[-a | -s | -d depth]:用于指定处理方式,选项含义如下:

在这里插入图片描述

  • 属性介绍
    • -a:显示目录或文件的大小。
    • -s:仅显示每个命令行参数指定的目录或文件的总大小。
    • -d depth:显示目录的层级。比如-d 1表示只显示当前目录下的直接子目录。

我们着重介绍一些常用的用法。其中,-h表示以人类可读的方式显示,因此我们通常会加上-h参数。

案例分享

比如查看当前目录的空间使用情况可以用:

du -ah  

上面的命令显示的是目录中的所有文件.如果要将所有的文件都统计累加的话,那么可以用:

 du -hs

如果要指定特定的目录, 直接在后面加上目录名即可.

如果你又想查看目录中具体文件的大小,又想统计总的大小,那么可以使用:

 du -ch

有时候,我们可能会发现目录占用的空间太大,但又不清楚具体是哪个目录导致的。针对这种情况,du命令提供了一个–max-depth=1的参数,它可以指定统计目录的层级,让我们能够根据需要进行调整,非常方便。

问题讨论

通常情况下,dfdu的统计是一致的,但在某些情况下可能会出现较大的误差。

举例来说,当一个很大的日志文件正在不断地写入,而你尝试将该日志文件删除时,会发生什么情况呢?对于du命令来说,它会统计文件大小相加;而df命令则统计数据块使用情况,因此删除文件后在dudf的统计数据可能会出现较大的差异。

虽然文件删除了,但是文件句柄并没有释放,所以du的数据显示文件已经删除了,但是df显示文件还在.直到这个打开大文件的进程被Kill掉。

  • 符号链接:如果你使用df或du命令时遇到符号链接(symbolic link),命令默认会统计该符号链接指向的文件或目录的空间大小。你可以使用-l选项来仅显示符号链接本身的大小。

  • 虚拟文件系统:如果你使用df命令查看系统文件系统的空间使用情况时,你可能会注意到一个名为"tmpfs"的文件系统,其大小可能会非常大。这是因为tmpfs是一个虚拟文件系统,将部分物理内存用作文件系统,以供临时文件存储。

这篇关于【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/647782

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;