linux du命令解析(递归计算文件子目录大小)(计算大小)(计算容量)

news2024/12/25 13:42:31

文章目录

    • du命令简介
      • 用法
      • 常用选项
      • 示例
    • 文档
    • 中文
    • 选项详细解释
    • 示例
      • 递归统计某个目录下所有文件大小(不足单位会向上取整)(注意:可能会将目录大小也统计进去,目录大小为4096字节=4kb?)
    • du命令使用注意事项
    • du命令貌似无法只计算文件的大小,它会把目录的大小一起算上

du命令简介

du命令用于查看文件或目录的磁盘使用情况。它会递归地计算指定目录下所有文件和子目录的大小,并以可读性较好的方式显示出来。

用法

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

常用选项

  • -h:以人类可读的方式显示文件大小。
  • -s:仅显示总计大小,不显示每个文件和目录的详细信息。
  • -c:同时显示总计大小。
  • -a:显示所有文件和目录的大小,包括隐藏文件。
  • -x:仅计算指定目录下的文件和子目录的大小,不计算其他文件系统挂载点上的文件大小。
  • -L:计算符号链接指向的文件或目录的大小,而不是符号链接本身的大小。

示例

  1. 查看当前目录下所有文件和子目录的大小:
du

在这里插入图片描述

  1. 查看指定目录的磁盘使用情况:
du /path/to/directory

在这里插入图片描述

  1. 以人类可读的方式显示文件大小:
du -h

在这里插入图片描述

  1. 仅显示总计大小:
du -s

在这里插入图片描述

  1. 同时显示总计大小:
du -c

在这里插入图片描述

  1. 显示所有文件和目录的大小,包括隐藏文件:
du -a

在这里插入图片描述
在这里插入图片描述

  1. 仅计算指定目录下的文件和子目录的大小,不计算其他文件系统挂载点上的文件大小:
du -x /path/to/directory

在这里插入图片描述

  1. 计算符号链接指向的文件或目录的大小,而不是符号链接本身的大小:
du -L /path/to/symlink

在这里插入图片描述

文档

du --help
Usage: du [OPTION]... [FILE]...
  or:  du [OPTION]... --files0-from=F
Summarize disk usage of the set of FILEs, recursively for directories.

Mandatory arguments to long options are mandatory for short options too.
  -0, --null            end each output line with NUL, not newline
  -a, --all             write counts for all files, not just directories
      --apparent-size   print apparent sizes, rather than disk usage; although
                          the apparent size is usually smaller, it may be
                          larger due to holes in ('sparse') files, internal
                          fragmentation, indirect blocks, and the like
  -B, --block-size=SIZE  scale sizes by SIZE before printing them; e.g.,
                           '-BM' prints sizes in units of 1,048,576 bytes;
                           see SIZE format below
  -b, --bytes           equivalent to '--apparent-size --block-size=1'
  -c, --total           produce a grand total
  -D, --dereference-args  dereference only symlinks that are listed on the
                          command line
  -d, --max-depth=N     print the total for a directory (or file, with --all)
                          only if it is N or fewer levels below the command
                          line argument;  --max-depth=0 is the same as
                          --summarize
      --files0-from=F   summarize disk usage of the
                          NUL-terminated file names specified in file F;
                          if F is -, then read names from standard input
  -H                    equivalent to --dereference-args (-D)
  -h, --human-readable  print sizes in human readable format (e.g., 1K 234M 2G)
      --inodes          list inode usage information instead of block usage
  -k                    like --block-size=1K
  -L, --dereference     dereference all symbolic links
  -l, --count-links     count sizes many times if hard linked
  -m                    like --block-size=1M
  -P, --no-dereference  don't follow any symbolic links (this is the default)
  -S, --separate-dirs   for directories do not include size of subdirectories
      --si              like -h, but use powers of 1000 not 1024
  -s, --summarize       display only a total for each argument
  -t, --threshold=SIZE  exclude entries smaller than SIZE if positive,
                          or entries greater than SIZE if negative
      --time            show time of the last modification of any file in the
                          directory, or any of its subdirectories
      --time=WORD       show time as WORD instead of modification time:
                          atime, access, use, ctime or status
      --time-style=STYLE  show times using STYLE, which can be:
                            full-iso, long-iso, iso, or +FORMAT;
                            FORMAT is interpreted like in 'date'
  -X, --exclude-from=FILE  exclude files that match any pattern in FILE
      --exclude=PATTERN    exclude files that match PATTERN
  -x, --one-file-system    skip directories on different file systems
      --help     display this help and exit
      --version  output version information and exit

Display values are in units of the first available SIZE from --block-size,
and the DU_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables.
Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).

The SIZE argument is an integer and optional unit (example: 10K is 10*1024).
Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation at: <https://www.gnu.org/software/coreutils/du>
or available locally via: info '(coreutils) du invocation'

中文

用中文翻译如下:

用法:du [选项]... [文件]...
  或:du [选项]... --files0-from=F
递归地总结一组文件的磁盘使用情况。

长选项的必选参数对于短选项也是必选的。
  -0, --null            每行输出以NUL而不是换行符结尾
  -a, --all             计算所有文件的大小,而不仅仅是目录
      --apparent-size   打印表面大小,而不是磁盘使用量;虽然表面大小通常较小,但由于('稀疏')文件中的空洞、内部碎片、间接块等原因,它可能更大
  -B, --block-size=SIZE  在打印之前按SIZE缩放大小;例如,
                           '-BM'1,048,576字节为单位打印大小;
                           请参阅下面的SIZE格式
  -b, --bytes           等同于'--apparent-size --block-size=1'
  -c, --total           生成总计
  -D, --dereference-args  仅解引用命令行上列出的符号链接
  -d, --max-depth=N     仅在目录(或文件,使用--all)的层次结构低于命令行参数的N级时才打印总计;--max-depth=0--summarize相同
      --files0-from=F   总结在文件F中指定的以NUL结尾的文件名的磁盘使用情况;
                          如果F为-,则从标准输入读取名称
  -H                    等同于--dereference-args(-D)
  -h, --human-readable  以人类可读的格式打印大小(例如,1K 234M 2G)
      --inodes          列出inode使用信息而不是块使用信息
  -k                    等同于--block-size=1K
  -L, --dereference     解引用所有符号链接
  -l, --count-links     如果有硬链接,则多次计算大小
  -m                    等同于--block-size=1M
  -P, --no-dereference  不要跟随任何符号链接(这是默认设置)
  -S, --separate-dirs   对于目录,不包括子目录的大小
      --si              类似于-h,但使用1000而不是1024的幂
  -s, --summarize       仅显示每个参数的总计
  -t, --threshold=SIZE  排除小于SIZE的条目(如果为正数),
                          或大于SIZE的条目(如果为负数)
      --time            显示目录中任何文件或其子目录的最后修改时间
      --time=WORD       以WORD而不是修改时间显示时间:
                          atime,access,use,ctime或status
      --time-style=STYLE  使用STYLE显示时间,可以是:
                            full-iso,long-iso,iso或+FORMAT;
                            FORMAT的解释方式与'date'相同
  -X, --exclude-from=FILE  排除与FILE中的任何模式匹配的文件
      --exclude=PATTERN    排除与PATTERN匹配的文件
  -x, --one-file-system    跳过不同文件系统上的目录
      --help     显示此帮助并退出
      --version  输出版本信息并退出

显示的值以--block-size、DU_BLOCK_SIZE、BLOCK_SIZE和BLOCKSIZE环境变量中的第一个可用的SIZE为单位。
否则,默认单位为1024字节(如果设置了POSIXLY_CORRECT,则为512字节)。

SIZE参数是一个整数和可选的单位(例如:10K是10*1024)。
单位可以是K、M、G、T、P、E、Z、Y(1024的幂次方)或KB、MB、...1000的幂次方)。

GNU coreutils在线帮助:<https://www.gnu.org/software/coreutils/>
完整文档:<https://www.gnu.org/software/coreutils/du>
或通过本地info访问:<info '(coreutils) du invocation'>

选项详细解释

示例

递归统计某个目录下所有文件大小(不足单位会向上取整)(注意:可能会将目录大小也统计进去,目录大小为4096字节=4kb?)

以byte为单位:

du -sb /path/to/dir
root@sx-virtual-machine:/userdata/testOtherPrj/test/testDeleteFile# 
root@sx-virtual-machine:/userdata/testOtherPrj/test/testDeleteFile# du -sb /userdata/testOtherPrj/test/testDeleteFile/vid
1285668420	/userdata/testOtherPrj/test/testDeleteFile/vid
root@sx-virtual-machine:/userdata/testOtherPrj/test/testDeleteFile# 

以mb为单位:

du -sm /path/to/dir
root@sx-virtual-machine:/userdata/testOtherPrj/test/testDeleteFile# 
root@sx-virtual-machine:/userdata/testOtherPrj/test/testDeleteFile# du -sm /userdata/testOtherPrj/test/testDeleteFile/vid
1228	/userdata/testOtherPrj/test/testDeleteFile/vid
root@sx-virtual-machine:/userdata/testOtherPrj/test/testDeleteFile# 

du命令使用注意事项

在使用du命令时,有一些注意事项需要注意:

  1. du命令默认会递归地计算指定目录下所有文件和子目录的大小。如果目录结构非常复杂或文件数量非常多,可能会导致计算时间较长。可以使用-s选项仅显示总计大小,以提高计算速度。

  2. du命令默认以块为单位显示文件大小。可以使用-h选项以人类可读的方式显示文件大小,更容易理解。

  3. du命令会计算所有文件和目录的大小,包括隐藏文件。如果只想计算非隐藏文件的大小,可以使用-a选项。

  4. 默认情况下,du命令会计算指定目录下所有文件和子目录的大小,包括其他文件系统挂载点上的文件大小。如果只想计算指定目录下的文件和子目录的大小,可以使用-x选项。

  5. du命令会计算符号链接本身的大小,而不是符号链接指向的文件或目录的大小。如果想计算符号链接指向的文件或目录的大小,可以使用-L选项。

  6. du命令默认会显示所有文件和目录的大小,包括每个文件和目录的详细信息。如果只想显示总计大小,可以使用-s选项。

  7. du命令需要有足够的权限才能访问文件和目录。如果没有足够的权限,可能无法计算某些文件或目录的大小。

  8. du命令可以结合其他命令一起使用,例如使用管道符号|du命令的输出传递给其他命令进行进一步处理。

du命令貌似无法只计算文件的大小,它会把目录的大小一起算上

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

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

相关文章

【第一阶段】kotlin语言的String模板

1.在Java中拼接字符串使用的是“” 2.在kotlin中使用"${}" 3.kotlin语言中if是表达式&#xff0c;更灵活 fun main() {val city"西安"val time24//java中写法println("我在"city"玩了"time"小时")//kotlin中写法&#xff0…

2023年华数杯C题思路

c题 母亲身心健康对婴儿成长的影响 母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护,还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况&#xff0c;如抑郁、焦虑压力等&#xff0c;可能会对婴儿的认知、情感、社会行为等方面产生负面影响。压力…

一文读懂芯片内存

1.导读 一个芯片通常需要三种主要的物理内存类型&#xff1a;SRAM、Flash和DDR。 SRAM&#xff08;静态随机存储器&#xff09;&#xff1a;SRAM是一种高速、易访问和易擦写的存储器类型。它通常用于存储变量、缓冲区、堆栈和其他动态数据。SRAM的特点是读写速度快&#xff0c…

指针经典笔试题强训(附图详解)

目录 笔试题1&#xff1a; 解析&#xff1a; 运行结果&#xff1a; 笔试题2 解析&#xff1a; 运行结果&#xff1a; 笔试题3 解析&#xff1a; 运行结果&#xff1a; 笔试题4 解析&#xff1a; 运行结果&#xff1a; 笔试题5 解析&#xff1a; 运行结果&#xff1a;…

基于人工智能的状态监测帮助结束冷却塔的维护“噩梦”

冷却塔是将水蒸气冷却成较低温的水、将系统的废热排到大气层的排热装置&#xff0c;在工业生产中扮演着不可或缺的关键角色。大型工业冷却塔的主要用途是用来冷却在水冷系统中的循环水。这些水冷系统广泛应用于发电厂、炼油厂、石化厂、天然气制造厂、食品加工厂、半导体厂等工…

<C++> 类和对象(上) 面向对象

1.面向对象 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c; 通过函数调用逐步解决问题。 C是基于面向对象的&#xff0c;关注的是对象&#xff0c;将一件事情拆分成不同的对象&#xff0c;靠对象之间的交互完成。 2.类 C语言结构…

基于 JavaScript 的富文本编辑器框架简单使用

1.打开wangEditor wangEditor开源 Web 富文本编辑器&#xff0c;开箱即用&#xff0c;配置简单https://www.wangeditor.com/ 2.html文件 <link href"https://unpkg.com/wangeditor/editorlatest/dist/css/style.css" rel"stylesheet"> <style&…

竞争之王CEO商战课,聚百家企业在京举行

竞争之王CEO商战课&#xff0c;于2023年7月29-31日在北京临空皇冠假日酒店举办&#xff0c;近百家位企业家齐聚一堂&#xff0c;共享饕餮盛宴。 竞争之王CEO商战课是打赢商战的第一课。 竞争环境不是匀速变化&#xff0c;而是加速变化。 在未来的市场环境中&#xff0c;企业间…

一种新型的系统设计解决方案:模块树驱动设计

1.前言 系统设计的核心作用是在业务现实世界和抽象的IT实现之间建立起一道桥梁。 与其他行业被物理特性限制所束缚不同&#xff0c;软件世界可以变得无限庞大&#xff0c;而限制软件发展的其实是人的认知能力。所有软件设计服务的目标其实都是管理人的认知&#xff0c;是关于人…

Excel功能总结

1&#xff09;每一张表格上都打印表头 “页面布局”-->“打印标题”-->页面设置“工作表”页-->打印标题“顶端标题行” 如&#xff1a;固定第1~2行&#xff0c;设置成“$1:$2” 2&#xff09;将页面内容打印在一页【缩印】 1.选好需要打印的区域&#xff0c;“页面布…

挠曲疲劳测试系统比例阀放大器

挠曲疲劳测试系统技术是用于测试材料、部件、产品等在重复弯曲应变下的疲劳性能的技术。该技术通过在试样上施加重复弯曲应力和应变&#xff0c;模拟材料、部件、产品在实际使用环境中的弯曲疲劳行为。 挠曲疲劳测试系统由试验设备、控制系统和数据分析系统组成。试验设备包括…

精通GPU编程,高效处理Pandas

大家好&#xff0c;当正在使用python处理大型数据集&#xff0c;那么很可能会感受到&#xff0c;当基于CPU的pandas DataFrame难以执行操作时&#xff0c;等待数小时才能完成查询的挫败感。正是在这种情况下&#xff0c;pandas用户应该考虑使用RAPIDS cuDF利用GPU的强大功能进行…

opencv37-形态学操作-开运算(先腐蚀后膨胀)cv2.morphologyEx()-参数 op 设置为“cv2.MORPH_OPEN”

腐蚀操作和膨胀操作是形态学运算的基础&#xff0c;将腐蚀和膨胀操作进行组合&#xff0c;就可以实现开运算、闭运算&#xff08;关运算&#xff09;、形态学梯度&#xff08;MorphologicalGradient&#xff09;运算、礼帽运算&#xff08;顶帽运算&#xff09;、黑帽运算、击中…

Dockerfile构建LNMP镜像(yum方式)

目录 Dockerfile构建LNMP镜像 1、建立工作目录 2、编写Dockerfile文件 3、构建镜像 4、测试容器 5、浏览器访问测试&#xff1a; Dockerfile构建LNMP镜像 1、建立工作目录 [roothuyang1 ~]# mkdir lnmp/ [roothuyang1 ~]# cd lnmp/ 2、编写Dockerfile文件 [roothuyang1 …

安达发专注于APS高级计划管理系统解决方案

随着全球制造业竞争日益激烈&#xff0c;企业对于提高生产效率、降低成本的需求越来越迫切。为此&#xff0c;安达发近日发布了全新的APS高级计划管理系统解决方案&#xff0c;旨在帮助企业在有限产能条件下&#xff0c;实现交期产能精确预测、工序生产与物料供应最优详细计划&…

[代码案例] 快速入手matlab绘图基本指令

主要内容 Matlab绘图指令基本语法&#xff0c;涵盖画布位置大小&#xff0c;坐标调整&#xff0c;图例标签&#xff0c;子图绘制等 part 1 生成绘图数据据 part 2 绘图基本指令 part 3 多条曲线绘制 part 4 子图分块绘制方法 part 5 指定画布绘制 代码 % part 1 t0:0.01:30;…

C语言sprintf函数的简明介绍(头文件/自动添加杠0/与printf函数的区别)

介绍 一句话&#xff0c;与printf唯一的区别&#xff1a; printf函数打印输出到屏幕上&#xff0c;而sprintf函数打印到字符串中。 与printf同样支持&#xff1a;控制精度、将多个数值数据连接起来、打印某变量的地址、格式化数字字符串 自动在末尾添加\0&#xff0c;不用担…

Knife4j系列--解决不显示文件上传的问题

原文网址&#xff1a;Knife4j系列--解决不显示文件上传的问题_IT利刃出鞘的博客-CSDN博客 简介 本文介绍使用Knife4j时无法上传文件的问题。 问题复现 依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-…

无头单向不循环链表和带头双向循环链表的创建

Lei宝啊&#xff1a;个人主页 愿所有美好不期而遇 前言&#xff1a; 接下来我们将会了解最基础的链表--->单链表 以及最方便也是最爽的链表--->带头双向循环链表。 若有看不懂之处&#xff0c;可画图或者借鉴这里&#xff1a;反转单链表&#xff0c;对于数据结构而言&am…

Python入门【​编辑、组合、设计模式_工厂模式实现 、设计模式_单例模式实现、工厂和单例模式结合、异常是什么?异常的解决思路 】(十七)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小王&#xff0c;CSDN博客博主,Python小白 &#x1f4d5;系列专栏&#xff1a;python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 &#x1f4e7;如果文章知识点有错误…