我只是格式化了东西。我将一张磁盘格式化为ext2。我想将另一个格式化为ext4。我想测试它们的性能。

现在,我如何知道分区中文件系统的类型?

评论

出于好奇,您要测试什么?日记与没有日记?作为记录,您可以在无新闻记录的模式下运行ext4,并且仍然受益于所有其他新功能。

unix.stackexchange.com/questions/34623/…

#1 楼

如何确定文件中包含哪种数据(数据格式)?
→使用file实用程序。

这里,您想知道设备文件中的数据格式。 ,因此您需要传递-s标志来告诉file不仅要说它是设备文件,还要看内容。如果设备文件名是符号链接,有时还需要-L标志。您将看到以下输出:

# file -sL /dev/sd*
/dev/sda1: Linux rev 1.0 ext4 filesystem data, UUID=63fa0104-4aab-4dc8-a50d-e2c1bf0fb188 (extents) (large files) (huge files)
/dev/sdb1: Linux rev 1.0 ext2 filesystem data, UUID=b3c82023-78e1-4ad4-b6e0-62355b272166
/dev/sdb2: Linux/i386 swap file (new style), version 1 (4K pages), size 4194303 pages, no label, UUID=3f64308c-19db-4da5-a9a0-db4d7defb80f


鉴于此示例输出,第一个磁盘有一个分区,第二个磁盘有两个分区。 /dev/sda1是ext4文件系统,/dev/sdb1是ext2文件系统,/dev/sdb2是一些交换空间(大约4GB)。

您必须以root用户身份运行此命令,因为普通用户可能无法直接读取磁盘分区:if需要时,在前面添加sudo

评论


输入$ sudo文件/ dev / sda1时,我得到/ dev / sda1:特殊块

–heinrich5991
2013年1月10日16:55



@ heinrich5991“您需要传递-s标志……”。我显示命令文件-s / dev / sd *-前面是sudo,即sudo文件-s / dev / sd *。

–吉尔斯'所以-不再是邪恶的'
2013年1月10日16:57

哦,对不起,我忽略了这一点。 :(

–heinrich5991
13年1月10日在20:35

不适用于LVM:parted -l似乎更好

– TiloBunt
2014年11月28日在21:35

@TiloBunt使用-L标志使该文件-sL / dev / mapper / foo-bar取消引用符号链接。

–吉尔斯'所以-不再是邪恶的'
2014年12月1日17:04

#2 楼

另一种选择是使用blkid

$ blkid /dev/sda1
/dev/sda1: UUID="625fa1fa-2785-4abc-a15a-bfcc498139d1" TYPE="ext2"


这可以识别大多数文件系统类型和诸如加密分区之类的东西。

也可以使用以下命令搜索分区给定类型:

# blkid -t TYPE=ext2
/dev/sda1: UUID="625fa1fa-2785-4abc-a15a-bfcc498139d1" TYPE="ext2" 
/dev/sdb1: UUID="b80153f4-92a1-473f-b7f6-80e601ae21ac" TYPE="ext2"


评论


+1:我已经验证了在使用mount -t ext4挂载ext2文件系统时,这能给出正确的结果。 blkid不被那个愚弄。

–沃伦·杨(Warren Young)
2013年1月9日在16:45

对于它的价值,这似乎也适用于xfs驱动器,尽管显然blkid不如lsblk在检测未安装的驱动器时大(如果需要)

–乔斯·迪亚兹·冈萨雷斯(Jose Diaz-Gonzalez)
2015年3月4日在22:41



谢谢!文件命令不起作用,但这给了我所需的东西。

– Brain2000
16年4月14日在4:51

我不得不sudo blkid / dev / sda1否则我得到空白结果

– jokab
19年1月16日在15:46

#3 楼

您可以使用sudo parted -l

[shredder12]$ sudo parted -l

Model: ATA WDC WD1600BEVT-7 (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system     Flags
 1      32.3kB  8587MB  8587MB  primary   ext3            boot
 4      8587MB  40.0GB  31.4GB  primary   ext4
 2      40.0GB  55.0GB  15.0GB  primary   ext4
 3      55.0GB  160GB   105GB   extended
 5      55.0GB  158GB   103GB   logical   ext4
 6      158GB   160GB   1999MB  logical   linux-swap(v1)




评论


parted未安装。而且驱动器尚未安装。

–user4951
2013年1月9日在10:45

@JimThio我假设您能够安装它?如果您使用的是Ubuntu或任何其他debian衍生产品,则只需执行sudo apt-get install parted(或gparted)即可获得它。

– Karthik T
2013年1月9日12:24

+1:我已经验证了在使用mount -t ext4挂载ext2文件系统时,这能给出正确的结果。分开并不被那个愚弄。

–沃伦·杨(Warren Young)
2013年1月9日在16:45

虽然这不是最受好评的答案,但这是我实际使用的答案。另外,我不需要指定设备。

–user4951
13年10月10日在2:34

因为这不是最佳答案:分区可能被grub标记为ext2并且包含ext4文件系统(然后将通过mount -t auto挂载为ext4)。

–Basile Starynkevitch
16 Jan 18'在8:18



#4 楼

还有一种方法,因为您知道您正在运行某种形式的ext?,所以请查看文件系统的功能列表:

# tune2fs -l /dev/sda1 | grep features


如果在列表中看到:



extent —是ext4
没有extent,但是has_journal —它是ext3
extenthas_journal都不是-ext2

如果您希望这些试探法自动为您运行,则partedblkid答案会更好。 (他们还通过功能检查来区分差异。)他们还可以识别非ext?文件系统。

此方法的优点在于向您显示了低级差异。

这里要意识到的重要一点是,这三个文件系统是前向兼容的,并且在某种程度上也是向后兼容的。更高版本仅在旧版本的基础上增加了功能。

有关此信息,请参阅ext4 HOWTO。

#5 楼

惊讶的是这里还没有。
不需要sudo

lsblk -f

评论


如果我不使用sudo运行此文件,则FSTYPE列为空白。

– Flup
15年7月15日在14:45

@Flup我自己又尝试了一次,并且在没有sudo的情况下也能完美工作。 FSTYPE列已完全填充。我们的系统之间可能存在一些差异?

– Freedom_Ben
15年7月18日在1:50



@Flup-您必须使用Debian / Ubuntu或派生类...它们以做某事(或可能不做某事,我不知道)而闻名,最终结果是您需要root特权才能列出一些lsblk列。 ..

–don_crissti
2015年9月3日22:00

对我来说,最好的答案是,不使用sudo,也可以在Debian / Ubuntu衍生产品上使用,而我在Pop Os上。

–zer09
19年11月24日在1:36

#6 楼

尝试使用df -T参见man df以获得更多选项还有我发现的另一种方法是cfdisk

评论


这与h3rmiller基于安装的答案具有相同的弱点。

–沃伦·杨(Warren Young)
2013年1月9日在16:38

h3rrmiller删除了他的答案,所以对于那些现在没有代表看的人来说,问题是,如果您在ext2文件系统上说挂载-t ext4,则df -T报告ext4。也就是说,它只是在读取安装表上的内容,而不是通过查看文件系统元数据来解决这个问题。

–沃伦·杨(Warren Young)
2013年1月9日18:19



@Warren:那是因为在这种情况下它是ext4文件系统。只有一个功能不多。

–mattdm
2013年1月9日19:05

@mattdm:所以,当您卸载它时...它仍然是ext4文件系统吗?

–沃伦·杨(Warren Young)
2013年1月9日19:26

@Warren:从某种意义上说,所有ext2文件系统也是ext4文件系统,是的。 (但是,当然,这不是大多数人的意思。)

–mattdm
2013年1月9日19:32



#7 楼

使用-T选项打印文件系统类型

[root@centos6 ~]# df -T

Filesystem           Type  1K-blocks    Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                     ext4    6795192 6367072     76276  99% /
tmpfs                tmpfs    639164       0    639164   0% /dev/shm
/dev/sda1            ext4     487652   28684    433368   7% /boot


#8 楼

fdisk -l
列表

用法:

 fdisk [options] -l <disk> list partition table(s)
 fdisk -s <partition>      give partition size(s) in blocks
 fdisk [options] <disk>    change partition table


评论


在什么系统上? fdisk,至少在我目前使用的系统上,仅显示分区类型,而不显示文件系统类型。这意味着不仅不能分辨出ext2,ext3和ext4之间的区别,还不能从中分辨出ReiserFS或XFS。

–沃伦·杨(Warren Young)
2013年1月9日在20:17



+1努力。在问这个问题之前,我已经做了fdisk。保持分数。

–user4951
2013年1月10日下午2:35

#9 楼

这是一个仅获取文件系统类型的有用的单行代码:

blkid -o export <partition-device> | grep '^TYPE' | cut -d"=" -f2


示例运行为:

# blkid -o export /dev/sda1 | grep '^TYPE' | cut -d"=" -f2
vfat
# blkid -o export /dev/sda2 | grep '^TYPE' | cut -d"=" -f2
ext4


#10 楼

这没有显示我正在寻找的BSD答案。我有印象,这些类型字节实际上包含在磁盘的分区表中,对此不确定。所有Linux extfs类型都只有85类型,但是Linux根本无法识别OpenBSD的A6类型。

> 00 unused         20 Willowsoft     66 NetWare 386    A9 NetBSD
> 01 DOS FAT-12     24 NEC DOS        67 Novell         AB MacOS X boot
> 02 XENIX /        27 Win Recovery   68 Novell         AF MacOS X HFS+
> 03 XENIX /usr     38 Theos          69 Novell         B7 BSDI filesy*
> 04 DOS FAT-16     39 Plan 9         70 DiskSecure     B8 BSDI swap
> 05 Extended DOS   40 VENIX 286      75 PCIX           BF Solaris
> 06 DOS > 32MB     41 Lin/Minux DR   80 Minix (old)    C0 CTOS
> 07 NTFS           42 LinuxSwap DR   81 Minix (new)    C1 DRDOSs FAT12
> 08 AIX fs         43 Linux DR       82 Linux swap     C4 DRDOSs  09 AIX/Coherent   4D QNX 4.2 Pri    83 Linux files*   C6 DRDOSs >=32M
> 0A OS/2 Bootmgr   4E QNX 4.2 Sec    84 OS/2 hidden    C7 HPFS Disbled
> 0B Win95 FAT-32   4F QNX 4.2 Ter    85 Linux ext.     DB CPM/C.DOS/C*
> 0C Win95 FAT32L   50 DM             86 NT FAT VS      DE Dell Maint
> 0E DOS FAT-16     51 DM             87 NTFS VS        E1 SpeedStor
> 0F Extended LBA   52 CP/M or SysV   8E Linux LVM      E3 SpeedStor
> 10 OPUS           53 DM             93 Amoeba FS      E4 SpeedStor
> 11 OS/2 hidden    54 Ontrack        94 Amoeba BBT     EB BeOS/i386
> 12 Compaq Diag.   55 EZ-Drive       99 Mylex          EE EFI GPT
> 14 OS/2 hidden    56 Golden Bow     9F BSDI           EF EFI Sys
> 16 OS/2 hidden    5C Priam          A0 NotebookSave   F1 SpeedStor
> 17 OS/2 hidden    61 SpeedStor      A5 FreeBSD        F2 DOS 3.3+ Sec
> 18 AST swap       63 ISC, HURD, *   A6 OpenBSD        F4 SpeedStor
> 19 Willowtech     64 NetWare 2.xx   A7 NEXTSTEP       FF Xenix BBT   
> 1C ThinkPad Rec   65 NetWare 3.xx   A8 MacOS X     


格式可能会被弄乱,这是一个不错的表宽70列。如果您在OpenBSD的fdisk中,并且打了?当它要求分区类型时,这就是您得到的。这些类型在您编辑或列出分区表时显示。

Wikipedia上的分区类型:https://en.wikipedia.org/wiki/Partition_type