Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix实用du-b vs du-h_Unix - Fatal编程技术网

Unix实用du-b vs du-h

Unix实用du-b vs du-h,unix,Unix,我使用unix实用程序du-h检查文本和utf文件的文件大小。手册页显示-h-人类可读标志以人类可读格式打印大小,例如1K 234M 2G。读完手册后,我决定试试du-b。手册页上说-b-bytes标志相当于“-表观大小-块大小=1”。我的理解是du-b列出了文件中的字节数 du-b的输出是122,但是在同一个文件上运行du-h时,我得到了4.0K K代表什么?当查看手册页时,它看起来应该表示KB,但122字节不能是4KB。我在这里遗漏了什么?这里的差异与文件系统的块大小有关。给出了一个很好的答

我使用unix实用程序du-h检查文本和utf文件的文件大小。手册页显示-h-人类可读标志以人类可读格式打印大小,例如1K 234M 2G。读完手册后,我决定试试du-b。手册页上说-b-bytes标志相当于“-表观大小-块大小=1”。我的理解是du-b列出了文件中的字节数

du-b的输出是122,但是在同一个文件上运行du-h时,我得到了4.0K


K代表什么?当查看手册页时,它看起来应该表示KB,但122字节不能是4KB。我在这里遗漏了什么?

这里的差异与文件系统的块大小有关。给出了一个很好的答案

要点是,许多文件系统以4KB的块形式保留磁盘空间。因此,即使一个文件包含很少的信息字节,它也会占用文件系统上的4K空间

$ echo "foo" > foo
$ du -h foo
4.0K    foo

文件内容的字节数可能远小于4K,比如122字节,但文件本身在文件系统中占用了4K。

块大小是多少?很可能一个122字节的文件占用了磁盘上的4K块,您不能将两个文件放入同一块。错误的站点。你要找的是什么。这个网站是为编程相关的问题,而不是一般的计算机或操作系统支持。您可以在/I think understand now中找到有关此网站的更多信息。这是一个ext4系统,它很可能是以每个块4K的速度创建的。因此,为了澄清这一点,一个块是一个文件可以存储的空间量或容量,但文件的实际大小可以小于一个块。毕竟,它是根据磁盘使用情况命名的,而不是响应的文件大小。我在错误的板上贴错了。
$ echo "foo" > foo
$ du -h foo
4.0K    foo