显示当前目录的磁盘空间使用情况,不包括子目录的大小

时间:2019-06-13 12:17:59

标签: linux shell unix

我想写一条命令来显示当前目录中磁盘空间的使用情况,不包括子目录的大小。下图描述了当前目录的文件和目录:

tree diagram of three files with one subdirectory which contains three more files.

du ./ --exclude='./file*'

输出将是:

4 ./dir1

4    .

我得到的是第一个输出,而不是第二个。

4 个答案:

答案 0 :(得分:1)

假设当前目录为 / tmp / foo ,该目录没有文件,除了单个目录 / tmp / foo / bar 之外,该目录中有一个副本bash(1113504字节)。运行tree实用程序:

tree --du "$(pwd)"

...报告:

/tmp/foo
└── [    1117600]  bar
    └── [    1113504]  bash

     1121696 bytes used in 1 directory, 1 file

要获取 / tmp / foo 的大小(而不是 / tmp / foo / bar ),则可以:

du -bSd 1 "$(pwd)" | grep -w "$(pwd)$"

输出:

4096    /tmp/foo

同一行代码可以重复使用,只需cd任何目录:

cd foo/bar/
du -bSd 1 "$(pwd)" | grep -w "$(pwd)$"

输出:

1117600 /tmp/foo/bar

答案 1 :(得分:0)

命令将是:-

$ du -S

输出将是  (https://i.stack.imgur.com/fxqkC.jpg

答案 2 :(得分:0)

du -Sd 1

输出将是:

4 ./dir1

4 .

答案 3 :(得分:0)

尝试一下。

du -S ./ --exclude ='。/ file *'

输出

4 ./dir1 4 ./