查找群集大小
我正在运行Ubuntu 11.04,我想知道如何找到分配单元大小的大小? 在Ubuntu中有命令可以找到它吗? 另外,根据分配单元的大小,使用文件的硬盘空间总量是多少? 我使用ls
和du -b
检查了文件大小,在这两种情况下我都得到相同的值。
包括数据:
sudo tune2fs -l Block count: 8052736 Reserved block count: 402636 Free blocks: 2797402 First block: 0 Block size: 4096 Reserved GDT blocks: 1022 Blocks per group: 32768 Inode blocks per group: 512 Flex block group size: 16 Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) Journal backup: inode blocks
因此,如果块大小为4096字节,小于4096的文件占用硬盘上4096字节的存储空间,那么大于4096字节的文件占用多少空间呢? 是否有命令找到相同的?
热门后期编辑:
先发制人:
temp = int(size / block) 如果mod(size / block)!= 0: temp + = 1 temp = temp * block 打印温度
要知道文件在磁盘上有多少个块:
ls -s
其中block-size是分区块大小
和磁盘上的大小是块大小*块数
有关块大小术语差异的说明
sudo fdisk -l /dev/sda
其中/ dev / sda是有问题的硬盘
磁盘/ dev / sda:500.1 GB,500107862016字节 255个头,63个扇区/轨道,60801个气缸,总共976773168个扇区 单位= 1 * 512 = 512字节的扇区 扇区大小(逻辑/物理):512字节/ 512字节 I / O大小(最小/最佳):512字节/ 512字节 磁盘标识符:0x000c1f6b
设备启动开始结束块ID系统
/ dev / sda1 * 63 498014 248976 83 Linux
/ dev / sda2 498015 976768064 488135025 5扩展
/ dev / sda5 498078 976768064 488134993+ 83 Linux
这告诉你几件事。 其他人已经说过更好的块引用:
这个问题是你必须保留四个不同的单位 心神。 更糟糕的是,其中两个单位具有相同的名称。 这些是 不同单位: 1.硬件块大小,“扇区大小” 2.文件系统块大小,“块大小” 3.内核缓冲区缓存块大小,“块大小” 4.分区表块大小,“柱面大小” 为了区分文件系统块大小和缓冲区高速缓存块大小,我 将遵循FAT术语并使用“簇大小”作为文件系统块大小。 扇区大小是硬件处理的单位。 这范围介于不同之间 硬件类型,但大多数PC风格的硬件(软盘,IDE磁盘等)使用512字节 部门。 簇大小是文件系统使用的分配单元,是导致的原因 碎片 - 我相信你知道的。 在中等大小的ext3文件系统上, 这通常是4096字节,但您可以使用dumpe2fs检查它。 请记住这些 通常也称为“块”,只是我在这里将它们称为簇。 簇大小是在stat缓冲区中的st_blksize中返回的内容,以便进行 程序能够计算文件的实际磁盘使用情况。 块大小是内核在缓存时内部使用的缓冲区的大小 已从存储设备读取的扇区(因此称为“块设备”)。 以来 这是内核中最原始的存储forms,即所有文件系统集群大小 必须是这个的倍数。 这个块大小也几乎总是被称为 用户空间程序。 例如,当您运行“du”而没有-h或-H选项时,它会 返回文件占用的块数。 df还会报告这些尺寸 块,fdisk -l输出中的“Blocks”列是这种类型,依此类推。 它是 什么是最常被称为“块”。 两个磁盘扇区适合每个块。 柱面尺寸仅用于分区表和BIOS(以及BIOS) Linux没有使用它。 “df”仅在文件系统上运行,因此,不,没有文件系统就无法使用它 - 没有文件系统,它将返回的数据不存在。 “du”继续运作 个别档案。
从这里 。