我刚刚格式化了东西。我将一张磁盘格式化为 ext2。另一个我想格式化为ext4。我想测试一下他们的表现如何。
现在,我如何知道分区中的文件系统类型?
答案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身份运行此命令,因为普通用户可能无法直接读取磁盘分区:如果需要,请sudo
在前面添加。
答案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"
答案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)
答案4
还有另一种方式,因为你知道你在跑步一些的风格ext?
,是查看文件系统的功能列表:
# tune2fs -l /dev/sda1 | grep features
如果在列表中您看到:
extent
— 这是 ext4- 不
extent
,但是has_journal
——它是 ext3 - 既不是
extent
也不是has_journal
——它是 ext2
如果您希望这些启发式算法自动为您运行,parted
则 和答案会更好。 blkid
(它们也通过功能检查来区分。)它们还可以识别非ext?
文件系统。
这种方法的优点是可以向您展示低级别的差异。
这里要认识到的重要一点是,这三个文件系统是向前兼容的,并且在某种程度上也是向后兼容的。更高版本只是在旧版本之上添加功能。
看ext4 指南欲了解更多信息。