Из любопытства, что вы пытаетесь проверить? Журнал против нет журнала? Для справки: вы можете работать с ext4 в режиме без журнала и при этом пользоваться всеми другими новыми функциями.
Как мне определить, какой тип данных (какой формат данных) находится в файле?
→ Используйте 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некоторое пространство подкачки (около 4 ГБ).
Вы должны выполнить эту команду от имени пользователя root, поскольку обычные пользователи не могут читать разделы диска напрямую: при необходимости добавляйте sudoперед.
+1: я убедился, что это дает правильный результат при монтировании ext2файловой системы с mount -t ext4. blkidне одурачен этим.
Уоррен Янг
Несмотря на свою ценность, это также работает для накопителей xfs, хотя, по-видимому, это blkidне так хорошо, как lsblkпри обнаружении несмонтированных накопителей (если нужно)
Хосе Диас-Гонсалес,
Спасибо! Команда file не работала, но это дало мне то, что мне было нужно.
Brain2000
Я должен был sudo blkid / dev / sda1, иначе я получаю пустые результаты
parted не установлен. Также диски еще не установлены.
user4951
1
@JimThio Я полагаю, вы смогли установить его? Вы сможете получить его, просто выполнив sudo apt-get install parted(или gparted), если вы используете Ubuntu или любой другой производный от Debian.
Karthik T
2
+1: я убедился, что это дает правильный результат при монтировании ext2файловой системы с mount -t ext4. partedне одурачен этим.
Уоррен Янг
Хотя это не самый одобренный ответ, я его использую. Также мне не нужно указывать устройство.
user4951
Потому что это не лучший ответ: раздел может быть помечен как grub ext2 и содержит файловую систему ext4 (а затем будет смонтирован как ext4 с mount -t auto)
Basile Starynkevitch
15
Еще один способ, поскольку вы знаете, что у вас есть какой-то вкус ext?, - это посмотреть список возможностей файловой системы:
# tune2fs -l /dev/sda1 | grep features
Если в списке вы видите:
extent - это ext4
нет extent, но has_journal- это ext3
ни extentни has_journal- это не ext2
partedИ blkidответы лучше , если вы хотите , чтобы эти эвристики работают автоматически. (Они также показывают разницу с проверками функций.) Они также могут идентифицировать нефайловые ext?системы.
Этот метод имеет преимущество, чтобы показать вам различия на низком уровне.
Здесь важно понять, что эти три файловые системы совместимы в прямом направлении и в некоторой степени обратно совместимы. Более поздние версии просто добавляют функции поверх старых.
Смотрите ext4 HOWTO для получения дополнительной информации об этом.
Это имеет тот же недостаток, что и mountоснованный на h3rmiller ответ.
Уоррен Янг
3
h3rrmiller удалил свой ответ, поэтому для тех, у кого нет представителя, чтобы увидеть его сейчас, проблема в том, что, если вы говорите mount -t ext4о ext2файловой системе, df -Tотчеты ext4. То есть он просто читает то, что говорит таблица монтирования, а не смотрит на метаданные файловой системы, чтобы понять это.
Уоррен Янг
@Warren: Это потому , что это ext4 файловой системы в этом случае. Просто один с не так много функций.
Mattdm
@mattdm: Итак, когда вы размонтируете его ... это все еще файловая система ext4?
Уоррен Янг
@Warren: в некотором смысле все файловые системы ext2 также являются файловыми системами ext4, да. (Но, конечно, не в том смысле, в каком большинство людей имеют в виду.)
Если я запускаю это не sudoв FSTYPEколонке пустой.
Флюп
@Flup Я только что попробовал это сам, и он отлично работал без sudo. Столбец FSTYPE был заполнен полностью. Может быть какое-то несоответствие между нашими системами?
Freedom_Ben
@Flup - вы, должно быть, используете Debian / Ubuntu или производные ... Они известны тем, что что-то делают (или, возможно, не делают что-то, я бы не знал), и в результате вам нужны права суперпользователя для перечисления некоторых lsblkстолбцов .. .
don_crissti
4
используйте опцию -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
На какой системе? fdiskв системе, которую я использую в данный момент, показывает только тип раздела, а не тип файловой системы. Это означает , что не только не может это сказать разницу между ext2, ext3и ext4он также не может различить ReiserFS или XFS из них.
Уоррен Янг
+1 за усилие. Я сделал fdisk, прежде чем задать этот вопрос. Держите очки вверх.
user4951
1
Вот полезный oneliner, чтобы получить только тип файловой системы:
Это не показывало ответ BSD, который я искал. У меня сложилось впечатление, что эти типы байтов на самом деле содержатся в таблице разделов на диске, не уверен насчет этого. Существует только тип 85 для всех типов Linux extfs, но Linux также не распознает тип A6 OpenBSD.
> 00 не используется 20 Willowsoft 66 NetWare 386 A9 NetBSD
> 01 DOS FAT-12 24 NEC DOS 67 Загрузка Novell AB MacOS X
> 02 XENIX / 27 Win Recovery 68 Novell AF MacOS X HFS +
> 03 XENIX / usr 38 Theos 69 Novell B7 BSDI файлы *
> 04 DOS FAT-16 39 Plan 9 70 DiskSecure B8 Замена BSDI
> 05 Extended DOS 40 VENIX 286 75 PCIX BF Solaris
> 06 DOS> 32MB 41 Lin / Minux DR 80 Minix (старый) C0 CTOS
> 07 NTFS 42 LinuxSwap DR 81 Minix (новый) C1 DRDOSs FAT12
> 08 AIX fs 43 Linux DR 82 Linux swap C4 DRDOSs 09 AIX / Coherent 4D QNX 4.2 Pri 83 файлы Linux * C6 DRDOS> = 32M
> 0A OS / 2 Bootmgr 4E QNX 4.2 сек. 84 OS / 2 скрыто C7 HPFS Отключено
> 0B Win95 FAT-32 4F QNX 4.2 Ter 85 Linux доб. 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 или SysV 8E Linux LVM E3 SpeedStor
> 10 OPUS 53 DM 93 Amoeba FS E4 SpeedStor
> 11 OS / 2 скрыто 54 Ontrack 94 Amoeba BBT EB BeOS / i386
> 12 Compaq Diag. 55 EZ-Drive 99 Mylex EE EFI GPT
> 14 OS / 2 скрыто 56 Золотой лук 9F BSDI EF EFI Sys
> 16 OS / 2 скрытых 5C Priam A0 NotebookSave F1 SpeedStor
> 17 OS / 2 скрыто 61 SpeedStor A5 FreeBSD F2 DOS 3.3+ сек
> 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 столбцов. Если вы находитесь на fdisk OpenBSD, и вы нажали? когда он запрашивает тип раздела, это то, что вы получаете. Типы отображаются при редактировании или перечислении таблицы разделов.
Ответы:
Как мне определить, какой тип данных (какой формат данных) находится в файле?
→ Используйте
file
утилиту.Здесь вы хотите знать формат данных в файле устройства, поэтому вам нужно передать
-s
флаг, чтобыfile
не просто сказать, что это файл устройства, но и посмотреть содержимое. Иногда вам также понадобится-L
флаг, если имя файла устройства является символической ссылкой. Вы увидите вывод так:Учитывая этот пример вывода, первый диск имеет один раздел, а второй диск имеет два раздела.
/dev/sda1
файловая система ext4, файловая/dev/sdb1
система ext2 и/dev/sdb2
некоторое пространство подкачки (около 4 ГБ).Вы должны выполнить эту команду от имени пользователя root, поскольку обычные пользователи не могут читать разделы диска напрямую: при необходимости добавляйте
sudo
перед.источник
$ sudo file /dev/sda1
я получаю/dev/sda1: block special
file -s /dev/sd*
-sudo
впередиsudo file -s /dev/sd*
.file -sL /dev/mapper/foo-bar
с помощью-L
флага для разыменования символической ссылки.Другой вариант заключается в использовании
blkid
:Это распознает большинство типов файловых систем и такие вещи, как зашифрованные разделы.
Вы также можете искать разделы с данным типом:
источник
ext2
файловой системы сmount -t ext4
.blkid
не одурачен этим.blkid
не так хорошо, какlsblk
при обнаружении несмонтированных накопителей (если нужно)Вы можете использовать
sudo parted -l
Источник
источник
sudo apt-get install parted
(илиgparted
), если вы используете Ubuntu или любой другой производный от Debian.ext2
файловой системы сmount -t ext4
.parted
не одурачен этим.mount -t auto
)Еще один способ, поскольку вы знаете, что у вас есть какой-то вкус
ext?
, - это посмотреть список возможностей файловой системы:Если в списке вы видите:
extent
- это ext4extent
, ноhas_journal
- это ext3extent
ниhas_journal
- это не ext2parted
Иblkid
ответы лучше , если вы хотите , чтобы эти эвристики работают автоматически. (Они также показывают разницу с проверками функций.) Они также могут идентифицировать нефайловыеext?
системы.Этот метод имеет преимущество, чтобы показать вам различия на низком уровне.
Здесь важно понять, что эти три файловые системы совместимы в прямом направлении и в некоторой степени обратно совместимы. Более поздние версии просто добавляют функции поверх старых.
Смотрите ext4 HOWTO для получения дополнительной информации об этом.
источник
попробуйте использовать
df -T
увидеть человекаdf
для большего количества вариантов еще один способ, который я нашел, этоcfdisk
источник
mount
основанный на h3rmiller ответ.mount -t ext4
оext2
файловой системе,df -T
отчетыext4
. То есть он просто читает то, что говорит таблица монтирования, а не смотрит на метаданные файловой системы, чтобы понять это.Удивлен, но это уже не здесь. Не
sudo
требуется:lsblk -f
источник
sudo
вFSTYPE
колонке пустой.lsblk
столбцов .. .используйте опцию -T для печати типа файловой системы
источник
fdisk -l
будет списокИспользование:
источник
fdisk
в системе, которую я использую в данный момент, показывает только тип раздела, а не тип файловой системы. Это означает , что не только не может это сказать разницу междуext2
,ext3
иext4
он также не может различить ReiserFS или XFS из них.Вот полезный oneliner, чтобы получить только тип файловой системы:
Пример выполнения:
источник
Это не показывало ответ BSD, который я искал. У меня сложилось впечатление, что эти типы байтов на самом деле содержатся в таблице разделов на диске, не уверен насчет этого. Существует только тип 85 для всех типов Linux extfs, но Linux также не распознает тип A6 OpenBSD.
Форматирование может быть искажено, это хорошая таблица шириной 70 столбцов. Если вы находитесь на fdisk OpenBSD, и вы нажали? когда он запрашивает тип раздела, это то, что вы получаете. Типы отображаются при редактировании или перечислении таблицы разделов.
Типы разделов в Википедии: https://en.wikipedia.org/wiki/Partition_type
источник