Linux DU 命令示例(文件和文件夹磁盘使用大小)

举报
Tiamo_T 发表于 2022/06/25 14:44:38 2022/06/25
【摘要】 du代表磁盘使用情况。

du代表磁盘使用情况。

Linux du 命令用于根据文件大小汇总磁盘使用情况。它可以与文件夹一起使用以获取总磁盘使用量。本文提供了一些有关如何有效使用 du 命令的示例。

此处显示的所有 du 示例都在包含以下内容的目录中执行:

$ ls
linuxKernel redhat testfile.txt ubuntu

1. 一个基本的例子

$ du -a
0	./redhat/rh7
4	./redhat
4	./testfile.txt
0	./linuxKernel
0	./ubuntu/ub10
4	./ubuntu
16	.

我在上面的示例中使用了 -a 标志来显示所有文件和目录的磁盘使用情况。这是因为如果不使用 -a 则只列出占用某个磁盘的目录。例如 :

$ du
4	./redhat
4	./ubuntu
16	.

所以,现在我们对如何使用 du 命令有了一个基本的了解,但是和我一样,任何人都会发现很难理解输出中的这些数字是什么意思?
让我们继续下一个例子,乌云就会散去。

2. 使用 -h 以人类可读的形式显示输出

$ du -ah
0	./redhat/rh7
4.0K	./redhat
4.0K	./testfile.txt
0	./linuxKernel
0	./ubuntu/ub10
4.0K	./ubuntu
16K	.

所以我们看到在上面的例子中,我使用了 -h 标志和 -a 标志。-h 标志用于获取人类可读格式的输出。正如你所看到的,上面的输出更容易理解,因为磁盘使用情况是以“K”的形式列出的。

3. 使用 -c 在输出中显示总计

我正在使用的示例具有一个小型目录结构。可以通过手动计算轻松计算目录的总磁盘使用量。但是,在实时场景中手动计算是不切实际的。因此,存在一个标志,通过它可以获取输出中的总使用量。

$ du -ahc
0	./redhat/rh7
4.0K	./redhat
4.0K	./testfile.txt
0	./linuxKernel
0	./ubuntu/ub10
4.0K	./ubuntu
16K	.
16K	total

所以我们看到通过 -c 标志,可以得到输出中的总使用量。

4. 使用 -s 只显示总数

如果您只想以摘要的形式获取总大小,请使用 -s 标志。

$ du -sh
7.3G	.

所以我们看到上面的输出中只显示了总大小。

5. 使用 '–files0-from=-' 从标准输入输入文件

如果出现您想在旅途中提供“du”输入的情况,则可以通过“–files0-from”标志来实现。

$ du -ah --files0-from=-
copy12K	copy
file12K	file
helloWorld12K	helloWorld
^C
$

请注意,我们将值作为“-”传递给标志“–files0-from”,以指示“du”开始接受来自标准输入的文件名。输入每个文件名后,按 ctrl+D 两次以生成该文件的输出。

6. 使用 -0 以空字节结束输出

如果您希望生成没有换行符但带有空字节的每个输出,请使用 -0 标志。

$ du -am -0
0	./redhat/rh71	./redhat1	./testfile.txt0	./linuxKernel0	./ubuntu/ub101	./ubuntu1

所以我们看到上面的输出是在一行中产生的,因为每个输出都以 0 字节结束。

7.通过–block-size自定义输出中的块大小

谈到块大小,有时需要以不同的方式输出。例如 :

$ du -ac
0	./redhat/rh7
4	./redhat
4	./testfile.txt
0	./linuxKernel
0	./ubuntu/ub10
4	./ubuntu
16	.
16	total

上述输出以 1024 字节块的数量表示。现在假设如果我们要求输出为 2048 字节块的数量,那么在这种情况下可以使用标志“–block-size”。

$ du -ahc --block-size=2048
0	./redhat/rh7
2	./redhat
2	./testfile.txt
0	./linuxKernel
0	./ubuntu/ub10
2	./ubuntu
8	.
8	total

所以我们看到上面的输出是2048字节块的形式。

8. 使用 -b 以字节为单位显示输出

要获得以字节为单位的输出,可以使用 -b 标志。

$ du -achb
0	./redhat/rh7
4096	./redhat
3	./testfile.txt
0	./linuxKernel
0	./ubuntu/ub10
4096	./ubuntu
12291	.
12291	total

所以我们看到上面的输出是以字节为单位的。

9. 使用 –exclude 排除特定类型的文件

假设我们不想拥有 .txt 文件的统计信息。因此,对于这些类型的要求,有一个“–排除”标志。

$ du -cbha --exclude="*.txt"
0	./redhat/rh7
4.0K	./redhat
0	./linuxKernel
0	./ubuntu/ub10
4.0K	./ubuntu
12K	.
12K	total

所以我们看到在上面的输出中,文本文件条目不存在。

10.显示修改时间,自定义显示风格

这可以通过 –time 和 –time-style 标志来实现。

$ du -cbha --time
0	2012-05-22 21:52	./redhat/rh7
4.0K	2012-05-22 21:52	./redhat
3	2012-06-18 19:23	./testfile.txt
0	2012-05-22 21:52	./linuxKernel
0	2012-05-22 21:52	./ubuntu/ub10
4.0K	2012-05-22 21:52	./ubuntu
13K	2012-06-18 19:23	.
13K	2012-06-18 19:23	total
$ du -cbha --time --time-style=iso
0	2012-05-22	./redhat/rh7
4.0K	2012-05-22	./redhat
3	2012-06-18	./testfile.txt
0	2012-05-22	./linuxKernel
0	2012-05-22	./ubuntu/ub10
4.0K	2012-05-22	./ubuntu
13K	2012-06-18	.
13K	2012-06-18	total

对于–time-style,也可以使用full-iso、long-iso、iso。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。