标签: du

df -k 和 du -sh 的区别

df -k
/dev/sda6             25396228  21249088   2836240  89% /export
21G used
Run Code Online (Sandbox Code Playgroud)

相对

du -sh /export 
3.4G    /export
Run Code Online (Sandbox Code Playgroud)

3.4G 是正确的,因为我们已经删除了所有非必要文件,但是 df 报告的可用空间与应该存在的实际可用空间不一致。

为什么会这样?

linux unix du

8
推荐指数
1
解决办法
3905
查看次数

带有更多小数位的“du -h”

我正在开发一个用 bash 编写的小实用工具,它为我提供了有关 Linux 上游戏服务器的一些信息。因此,我需要能够显示文件内容的大小。

我现在正在这样做:

du -Lshc *
Run Code Online (Sandbox Code Playgroud)

它几乎完美!唯一的缺陷是它显示如下内容:

21G     backups
22G     server
8.0K    start.sh
151M    world.zip
43G     total
Run Code Online (Sandbox Code Playgroud)

这很好,但我想要更多的数字。这意味着它应该是这样的:

21.587G     backups
22.124G     server
8.089K      start.sh
151.198M    world.zip
43.436G     total
Run Code Online (Sandbox Code Playgroud)

有没有可能做到这一点?

我不介意使用复杂的命令,因为我在.sh文件中使用它,所以我不会每次都手动输入。

linux bash format du

6
推荐指数
1
解决办法
3183
查看次数

du -x 在使用通配符时仍会检查挂载的文件系统

如果我尝试

du -s -h -x /*
Run Code Online (Sandbox Code Playgroud)

它将尝试检查直接安装在 / 下的所有文件系统(真实的和伪的),例如 /dev、/proc、/sys、/run 和 /home(/home 位于额外的分区上)。

我认为它来自*的shell扩展,给du一个明确包含这些挂载点的参数列表。

有没有办法让 du 不检查挂载的文件系统,即使挂载点包含在参数列表中?

我真的不想输入 / 的所有子目录只是为了避免它们出现在参数列表中。

linux mount filesystems du

6
推荐指数
1
解决办法
6494
查看次数

为什么 du -sl 对 cp -rl 的源和结果显示不同的大小?

我曾经cp -rl复制一个文件夹。在测量源和副本结果的du -sl大小时,返回的大小略有不同,即使diff确认它们的内容相同:

$ cp -rl folderA/ folderB/
$ du -sl folderA folderB
98561224 folderA
98590512 folderB
$ diff --brief -ra folderA/ folderB/
$
Run Code Online (Sandbox Code Playgroud)

两个文件夹都驻留在同一个硬盘上,在复制和测量之间没有对它们中的任何一个进行任何修改。我什么也没发现的文档ducp这可以解释的差异。

linux command-line hardlink cp du

5
推荐指数
1
解决办法
2009
查看次数

可以读取 du 输出的磁盘空间分析器

我正在寻找一个 GUI 程序,它可以解析 du 输出并显示可浏览的文件树和树状

到目前为止,我已经尝试过:

  • xdiskusage, xdu(仅限 Linux,丑陋的 GUI,没有树视图)
  • WinDirStat, kdirstat | k4dirstat、GdMAP(不支持 du 输出)
  • JDiskReport(免费软件,仅支持自定义二进制格式)

tree-view du

5
推荐指数
1
解决办法
2024
查看次数

更快的 du/stat 目录替代方案

我有几个非常大的目录,我想知道它们的估计大小。我主要用于此目的du,但每个文件夹大约需要 3 分钟,所以我问是否有替代方案dustat需要更少的时间(可能不精确:~10% 就可以了)

linux command-line stat du

5
推荐指数
1
解决办法
7018
查看次数

为什么 du -b 显示的结果与 stat 不同?

我最近遇到了这个问题:

find /tmp/tmp33hn25wv -type f -exec stat --format='%s' {} + | awk '{s+=$1} END {print s}'
10420224

du -bs /tmp/tmp33hn25wv
12198004    /tmp/tmp33hn25wv
Run Code Online (Sandbox Code Playgroud)

结果始终不同。所有文件都以块大小字节的倍数写入。

du在哪里找到这些额外的字节?我知道文件系统可能需要更多或更少的空间来存储文件的内容,但我希望该-b选项du意味着它必须计算“表观”大小,而不是文件系统使用的大小......

linux bash filesystems du

5
推荐指数
1
解决办法
297
查看次数

如何在没有单词“total”的情况下获得“du -c”的输出?

我想获取目录的总大小以及其中的所有目录。

我正在使用命令

du -h -c "$input_variable" | grep total
Run Code Online (Sandbox Code Playgroud)

它打印结果和单词total。如何在没有单词的情况下获得结果total

grep du

5
推荐指数
2
解决办法
932
查看次数

为什么 Finder 和 du 报告的文件大小不同?

我正在编写一个geektool 3脚本来显示特定 VMware Fusion 虚拟机的大小。这样的.vmwarevm“文件”其实就是一个打包好的目录。

Finder 中的获取信息显示该文件为“52.91 GB”。我运行以下du命令来获取文件大小:

> du -hs ~/Documents/Virtual\ Machines.localized/MY-PRECIOUS-7.vmwarevm | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)

du -hs命令返回文件大小为“49G”。与 Finder 报告的差异的原因是什么?

或者,我尝试用如下-s选项替换该选项-d

du -hd ~/Documents/Virtual\ Machines.localized/MY-PRECIOUS-7.vmwarevm | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)

du -hd命令返回文件大小为“59G”。Finder du -hd、 和之间的区别是du -hs什么?

此外,此du -hd命令在 geektool 3 中不产生任何输出。什么给出了?

finder vmware-fusion geektool du macos

4
推荐指数
1
解决办法
4149
查看次数

du 如何确定要忽略哪个硬链接?

我们有两个目录:

$ ls -l
total 8
drwxr-x--- 2 nimmy nimmy 4096 Nov 15 19:42 jeter
drwxr-x--- 2 nimmy nimmy 4096 Nov 15 19:42 mariano
Run Code Online (Sandbox Code Playgroud)

我在第一个文件夹中创建一个文件:

$ dd if=/dev/zero of=jeter/zero_file.1 bs=512000 count=1
1+0 records in
1+0 records out
512000 bytes (512 kB) copied, 0.268523 s, 1.9 MB/s
Run Code Online (Sandbox Code Playgroud)

这是输出du

$ du -sh *
504K    jeter
4.0K    mariano
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,如果我zero_file.在另一个文件夹中放置一个硬链接,du输出不会改变:

$ ln jeter/zero_file.1 mariano/zero_file.2
$ du -sh *
504K    jeter
4.0K    mariano
Run Code Online (Sandbox Code Playgroud)

但是,据我所知,文件系统中没有任何内容指向zero_file.1原始文件。那么如何du知道数zero_file.1 …

linux filesystems du

4
推荐指数
1
解决办法
5211
查看次数

标签 统计

du ×10

linux ×7

filesystems ×3

bash ×2

command-line ×2

cp ×1

finder ×1

format ×1

geektool ×1

grep ×1

hardlink ×1

macos ×1

mount ×1

stat ×1

tree-view ×1

unix ×1

vmware-fusion ×1