块设备挂载后,可以通过df 或者 mount命令查看设备的文件系统信息。然而,有时候需要在不挂载设备的情况下予以判断,此时可以使用如下的方法:
(1)查看文件系统类型
命令:
file -sL /dev/testvg/lv0
示例输出:
/dev/testvg/lv0: Linux rev 1.0 ext2 filesystem data (large files)
(2)查看ext2/3/4文件系统详细信息:
命令:
tune2fs -l /dev/testvg/lv0
示例输出(截取一部分):
Free blocks: 1287586
Free inodes: 327669
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 319
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
ps:
还有个命令可以显示更多的文件系统信息:
dumpe2fs /dev/testvg/lv0 | less
该命令会显示大量信息,最好配合less或者grep使用
pps:
程序想要获取文件系统块大小,可以使用stat 系统调用:
示例:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
int main(void) {
struct stat st;
stat("/", &st);
printf("%d\n", st.st_blksize);
return 0;
}