Linux 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。
- 点赞
- 收藏
- 关注作者
评论(0)