du
是Linux自带的命令行工具,用于报告目录和文件占用的磁盘空间量。 du
代表'disk usage'。这是在命令行中分析磁盘空间的主要工具。
如何在 Linux 中使用 du 命令
- 基本用法
- 控制输出
- 更改容量显示
- 包括文件和链接
- 排除文件、目录和链接
基本用法
du/path/to/directory
使用目录运行du
,查看每个文件夹所包含的磁盘空间的完整分析。每个目录都会在标准输出中依次列出,因此大型目录或全系统扫描可能会生成数万个结果流并花费大量时间。因此,基本的 du
命令通常会添加标志(如下所示)。这些标志中的任何一个都可以与另一个标志组合,尽管有些组合是相互排斥的,因为它们是矛盾的。
控制输出
du-c
在输出底部显示一行以指示扫描文件夹使用的磁盘空间总量。
du-s
只显示指定目录使用的磁盘空间总量的摘要。在计算过程完成之前不会显示任何输出。
du > du-report.txt
使用命令行的人会认出这个命令,但不是所有人。此命令将命令的结果输出到当前目录中的一个文本文件,名为 'du-report.txt'。
du |少
此命令产生更清晰、更易读的结果。您可以使用更少的导航快捷方式浏览内容。
更改容量显示
请注意,当指定特定单位时,文件大小通常会被四舍五入。例如,如果调用 -m 标志,4KB 文件将显示为 0MB,而 750KB文件将显示为 1MB。
du-h
以可读格式显示,并列出适当的体积,例如千字节、兆字节和千兆字节,而不是标准块(块)大小。
du-k
显示 1024 字节块(1 KB)中的块数。
du-m
以 1,048,576 字节(1 兆字节)的块显示块数。
du-g
以块 1,073,741,824 字节(1 GB)显示块数。
包括文件和链接
du-L
按照命令行和文件层次结构中的符号链接。另一方面,会报告符号链接本身占用的空间(通常是文件系统中的最小值),而不是符号链接指向的目录树。
du-a
显示所有文件的磁盘使用情况,而不仅仅是文件夹。
du/path/to/file.txt
显示特定文件的磁盘使用情况,如命令中所命名。
排除文件、目录和链接
du-X 文件
排除匹配指定字符串中任意模式的文件。
du--exclude="*.o"
根据模式排除文件和子目录。在此示例中,包括 '*.o' 字符串的所有文件夹都将被忽略。请注意,这些是模式外壳,而不是正则表达式。因此,控制字符仅限于 * ,匹配任何具有 0 个或多个字符的字符串,而 ?
匹配任何一个字符。上述命令将从目录容量计算过程中排除这些文件。如果使用 -a 标志,则在输出中将忽略排除的文件。
du--threshold=SIZE
排除小于 SIZE 的项目(如果它是正值)或大于 SIZE 的项目(如果它是负数)价值。 SIZE 是一个整数,有一个单位(可选)。例如,--threshold=1MB
命令将忽略所有小于 1 兆字节(1000 ^ 2 字节)的文件。单位包括K、M、G、T、P、E、Z、Y代表千字节、兆字节、千兆字节等。或 KB、MB、GB、TB,表示千字节、兆字节、千兆字节等。这可能是使用 du--threshold=1GB
之类的命令查找系统上最大文件的有用工具。
du-d N
设置N个文件夹的最大深度。该标志可以采用任何正整数。使用此设置,du
将扫描指定目录中的最多 2 个子目录。如果存在其他子目录,则不会单独扫描它们。相反,它们的值将包含在报告的目录中。请注意,-d 0 将报告与 -s 标志 相同的结果。
例如,考虑目录路径'dir1/dir2/dir3/dir4',包含1个父目录和3个子目录。命令 du-d 2 dir1
将扫描到 dir3。 Dir3 将包含 dir4 中的文件,尽管 >dir4没有单独列出。
du
命令在与其他实用程序配对时非常有用,例如 du-a/|排序-n-r | head-n 10
命令 du-a/|排序-n-r | head-n 10
du-a/|排序-n-r |头-n 10
。此命令将搜索您的整个文件系统 (du-a/),按大小排序结果 (sort-n-r),然后仅显示前 10 个结果 (head-n 10)。基本上,这是您计算机上 10 个最大文件的快捷方式。通过管道将 du
与其他命令结合起来,以产生更有用的结果。
希望你成功。
评论