如何确定 Linux 上 ext3 分区的块大小?

mik*_*ike 55 linux unix filesystems ext3

如何确定 Linux 上 ext3 分区的块大小?

skr*_*ggy 70

# tune2fs -l /dev/sda1 | grep -i 'block size'
Block size:               1024
Run Code Online (Sandbox Code Playgroud)

将 /dev/sda1 替换为您要检查的分区。


mik*_*mik 44

没有root,没有写作,对于任何文件系统类型,你可以这样做:

stat -fc %s .
Run Code Online (Sandbox Code Playgroud)

这将给出安装在当前目录(或指定的任何其他目录而不是点)中的文件系统的块大小。

  • 不要忘记该命令末尾的点,因为 `stat -f` 期望的是一个文件夹为您提供统计信息。 (3认同)
  • @JaniUusitalo,@c4f4t0r:感谢您的提示,使用 `-c` 更正了答案,它比 `--printf='...\n'` 更简单 (2认同)

小智 12

dumpe2fs -h /dev/md2
Run Code Online (Sandbox Code Playgroud)

将输出一些东西:

Block size:               4096
Fragment size:            4096
Run Code Online (Sandbox Code Playgroud)


小智 8

如果您无权tune2fs在设备上运行(例如在公司环境中),您可以尝试将单个字节写入相关分区上的文件并检查磁盘使用情况:

echo 1 > test
du -h test
Run Code Online (Sandbox Code Playgroud)


wzz*_*zrd 7

在 x86 上,文件系统块几乎总是 4KiB——默认大小——并且永远不会大于内存页面的大小(4KiB)。


los*_*jos 7

要检测所需分区的块大小:

  1. 检测分区名称:

    $ df -h
    
    Run Code Online (Sandbox Code Playgroud)

    例如我们有/dev/sda1

  2. 检测该分区的块大小:

    $ sudo blockdev --getbsz /dev/sda1
    
    Run Code Online (Sandbox Code Playgroud)