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

文章目录

    • 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命令貌似无法只计算文件的大小,它会把目录的大小一起算上

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI算法图形化编程加持|OPT(奥普特)智能相机轻松适应各类检测任务

OPT&#xff08;奥普特&#xff09;基于SciVision视觉开发包&#xff0c;全新推出多功能一体化智能相机&#xff0c;采用图形化编程设计&#xff0c;操作简单、易用&#xff1b;不仅有上百种视觉检测算法加持&#xff0c;还支持深度学习功能&#xff0c;能轻松应对计数、定位、…

Vulnhub: blogger:1靶机

kali&#xff1a;192.168.111.111 靶机&#xff1a;192.168.111.176 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.176 在80端口的/assets/fonts/目录下发现blog目录&#xff0c;访问后发现为wordpress 利用wpscan发现wordpress插件wpdisc…

发明专利申请:不能包含文本框或自选图形 || 不能包含域对象(校验错误)

提交出错 解决方案&#xff1a;如果xml文件传上去没有反应&#xff0c;一定要优先把word转成pdf&#xff0c;不要去文本框中输入&#xff1a;里面的公式编辑器很老旧&#xff08;很多公式编辑不了&#xff09; 上传以后&#xff0c;总体预览没有问题就ok&#xff0c;前序穿文件…

【机器学习】处理样本不平衡的问题

文章目录 样本不均衡的概念及影响样本不均衡的解决方法样本层面欠采样 &#xff08;undersampling&#xff09;过采样数据增强 损失函数层面模型层面采样集成学习 决策及评估指标 样本不均衡的概念及影响 机器学习中&#xff0c;样本不均衡问题经常遇到&#xff0c;比如在金融…

移动端网页div下滑消失、上滑出现(附带闪烁效果)

<div :class "IconShow ? mhomeIcon : IconOff"><img src"/assets/news.svg" alt""></div>// 距离顶部的距离const top ref(0) // 图标向上还是向下滑动const IconShow ref(true)// 滑动监听&#xff0c; 注意如果只有doc…

不能乱点链接之获取cookie

这里是浏览器存储的某个网址的cookie 然后点击了链接就把参数获取到 因为document.cookie 会直接获取到浏览器cookie 所以为了拦截 存cookie的时候要设置&#xff1a; 设置httpOnly 只要http协议能够读取和携带 再document.cookie 就为空了 原文链接&#xff1a; 尚硅谷课程…

力扣:48. 旋转图像(Python3)

题目&#xff1a; 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&…

Gitignore忽略文件

默认情况下&#xff0c;Git会监视我们项目中的所有内容&#xff0c;但是有些内容比如mode_modules中的内容&#xff0c;我们不希望他被Git所管理。 我们可以在我们项目目录中添加一个 .gitignore 文件来设置那些需要git忽略的文件。

[C++项目] Boost文档 站内搜索引擎(2): 文档文本解析模块parser的实现、如何对文档文件去标签、如何获取文档标题...

项目开始的准备工作 在上一篇文章中, 已经从Boost官网获取了Boost库的源码. 相关文章: &#x1fae6;[C项目] Boost文档 站内搜索引擎(1): 项目背景介绍、相关技术栈、相关概念介绍… 接下来就要编写代码了. 不过还需要做一些准备工作. 创建项目目录 所有的项目文件肯定要在一…

C语言技巧 ----------调试----------程序员必备技能

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; &#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382;…

vue element el-upload附件上传、在线预览、下载当前预览文件

上传 在线预览&#xff08;iframe&#xff09;&#xff1a; payload&#xff1a; response&#xff1a; 全部代码&#xff1a; <template><div><el-table :data"tableData" border style"width: 100%"><el-table-column prop"d…

从0到1开发go-tcp框架【3-读写协程分离、引入消息队列、进入连接管理器、引入连接属性】【基础篇完结】

从0到1开发go-tcp框架【3-读写协程分离、引入消息队列、进入连接管理器、引入连接属性】 1 读写协程分离[v0.7] 添加一个Reader和Writer之间通信的channel添加一个Writer goroutineReader由之前直接发送给客户端改为发送给通信channel启动Reader和Writer一起工作 zinx/znet/co…

弹性布局,网格布局,JavaScript

弹性盒子布局&#xff08;Flexbox Layout&#xff09;&#xff1a;通过display: flex;设置容器为弹性盒子&#xff0c;可以实现更复杂的自适应和响应式布局。 网格布局&#xff08;Grid Layout&#xff09;&#xff1a;通过display: grid;设置容器为网格布局&#xff0c;可以将…

mysql(六)读写分离

目录 前言 一、概述 二、配置JAVA环境及安装阿米巴 三、配置阿米巴 四、测试 总结 前言 MySQL读写分离是一种常见的数据库架构设计模式&#xff0c;旨在提高系统的性能和可用性。它通过将读操作和写操作分离到不同的MySQL实例上来实现。 读写分离的原理是&#xff1a; 1. 主…

一文说清楚支付架构

作者&#xff1a;陈斌 支付的技术架构是为了保障能够顺利处理支付请求而设计的结构体系。从系统的角度看&#xff0c;它包括了计算机系统的软件、硬件、网络和数据等。从参与的主体角度来看&#xff0c;它涉及交易的付款方、收款方、支付机构、银行、卡组织和金融监管机构等。要…

图解系列 DNS查找过程和DNS缓存

DNS 充当地址簿。它将人类可读的域名 (google.com) 转换为机器可读的 IP 地址 (142.251.46.238)。 开局一张图 来自&#xff1a;https://xiaolishen.medium.com/the-dns-lookup-journey-240e9a5d345c 寻址流程 查询浏览器缓存&#xff1a;当你输入一个域名后&#xff0c;浏览…

本地mvn仓库清理无用jar包

背景 开发java时间久了&#xff0c;本地的m2仓库就会产生很多过期的jar包&#xff0c;不清理的话比较占空间。 原理 是通过比较同一目录下&#xff0c;对应jar包的版本号的大小&#xff0c;保留最大版本号那个&#xff0c;删除其他的。 脚本 执行脚本见文章顶部 执行方式 …

LeetCode--剑指Offer75(2)

目录 题目描述&#xff1a;剑指 Offer 58 - II. 左旋转字符串&#xff08;简单&#xff09;题目接口解题思路1代码解题思路2代码 PS: 题目描述&#xff1a;剑指 Offer 58 - II. 左旋转字符串&#xff08;简单&#xff09; 字符串的左旋转操作是把字符串前面的若干个字符转移到…

opencv rtsp 硬件解码

讨论使用opencv的reader 硬件解码的方案有太多种&#xff0c;如果使用ffmpeg硬件解码是最方便的&#xff0c;不方便的是把解码过后的GPU 拉到 CPU 上&#xff0c;再使用opencv的Mat 从cpu 上上载到gpu上&#xff0c;是不是多了两个过程&#xff0c;应该是直接从GPU mat 直接去…

思科单臂路由、lacp链路聚合、NAT实验

实验拓扑图&#xff1a; 实验目的&#xff1a; 如图所示配置相应IP地址和VLAN&#xff0c;并通过在AR1上配置单臂路由&#xff0c;实现VLAN10和VLAN20的主机能够在VLAN间通信&#xff1b;在SW1和SW2的三条链路实施链路聚合&#xff0c;使用静态LACP模式&#xff0c;使一条链…