Por curiosidade, o que você está tentando testar? Diário vs. nenhum diário? Para o registro, você pode operar o ext4 no modo sem diário e ainda se beneficiar de todos os outros novos recursos.
Como posso saber que tipo de dados (que formato de dados) está em um arquivo?
→ Use o fileutilitário.
Aqui, você deseja conhecer o formato dos dados em um arquivo de dispositivo, então você precisa passar a -ssinalização para dizer filenão apenas para dizer que é um arquivo de dispositivo, mas para ver o conteúdo. Às vezes, você precisará da -Lbandeira também, se o nome do arquivo do dispositivo for um link simbólico. Você verá resultados como este:
# 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
Dada essa saída de amostra, o primeiro disco possui uma partição e o segundo disco possui duas partições. /dev/sda1é um sistema de arquivos ext4, /dev/sdb1é um sistema de arquivos ext2 e /dev/sdb2tem algum espaço de troca (cerca de 4 GB).
Você deve executar este comando como root, porque usuários comuns podem não ler partições de disco diretamente: se necessário, adicione sudona frente.
+1: verifiquei que isso fornece o resultado correto ao montar um ext2sistema de arquivos mount -t ext4. blkidnão é enganado por isso.
21813 Warren Young
Para que o seu valor, isso também parece funcionar para unidades XFS, embora aparentemente é blkidnão é tão grande como lsblké a detecção de unidades desmontadas (se precisar)
Jose Diaz-Gonzalez
Obrigado! O comando file não estava funcionando, mas isso me deu o que eu precisava.
precisa saber é o seguinte
Eu tive que sudo blkid / dev / sda1 mais eu recebo resultados em branco
parted não está instalado. Além disso, as unidades ainda não estão montadas.
usar o seguinte comando
1
@ JimThio Eu suponho que você conseguiu instalá-lo? Você deve conseguir obtê-lo simplesmente fazendo sudo apt-get install parted(ou gparted) se estiver no Ubuntu ou em qualquer outro derivado do debian.
Karthik T
2
+1: verifiquei que isso fornece o resultado correto ao montar um ext2sistema de arquivos mount -t ext4. partednão é enganado por isso.
21813 Warren Young
Embora essa não seja a resposta mais votada, é a que eu realmente uso. Também não preciso especificar o dispositivo.
usar o seguinte comando
Porque não é a melhor resposta: uma partição pode ser grub-rotulado como ext2 e contém sistema de arquivos ext4 (e, em seguida, iria ser montado como ext4 com mount -t auto)
Basile Starynkevitch
15
Ainda outra maneira, desde que você saiba que está executando algum tipo de ext?, é olhar a lista de recursos do sistema de arquivos:
# tune2fs -l /dev/sda1 | grep features
Se na lista você vir:
extent - é ext4
não extent, mas has_journal- é ext3
nem extentnem has_journal- é ext2
As respostas partede blkidsão melhores se você deseja que essas heurísticas sejam executadas automaticamente. (Eles também indicam a diferença nas verificações de recursos.) Eles também podem identificar ext?sistemas que não são arquivos.
Este método tem a virtude de mostrar as diferenças de baixo nível.
O importante a ser percebido aqui é que esses três sistemas de arquivos são compatíveis com versões anteriores e, até certo ponto, também com versões anteriores. Versões posteriores apenas adicionam recursos sobre as mais antigas.
Veja o ext4 HOWTO para mais informações sobre isso.
Isso tem a mesma fraqueza da mountresposta baseada no h3rmiller .
21913 Warren Young
3
h3rrmiller removeu sua resposta, então para quem não tem o representante para vê-la agora, o problema é que, se você diz mount -t ext4em um ext2sistema de arquivos, df -Treporta ext4. Ou seja, está apenas lendo o que a tabela de montagem diz, sem olhar para os metadados do sistema de arquivos para descobrir isso.
Warren Young
@ Warren: Isso porque, nesse caso , é um sistema de arquivos ext4. Apenas um com poucos recursos.
mattdm
@mattdm: Então, quando você desmontá-lo ... ainda é um sistema de arquivos ext4?
perfil completo de Warren Young
@ Warren: de certa forma, todos os sistemas de arquivos ext2 também são sistemas de arquivos ext4, sim. (Mas, claro, não no sentido da maioria das pessoas quer dizer.)
mattdm
10
Surpreso que isso ainda não esteja aqui. Não é sudonecessário:
Se eu executar isso sem sudoa FSTYPEcoluna está em branco.
Flup
@Flup Acabei de tentar novamente e funcionou perfeitamente sem o sudo. A coluna FSTYPE foi totalmente preenchida. Pode haver alguma disparidade entre nossos sistemas?
21815 Freedom_Ben
@Flup - você deve estar usando Debian / Ubuntu ou derivados ... Eles são famosos por fazer algo (ou talvez não estejam fazendo algo, eu não saberia) e o resultado final é que você precisa de privilégios de root para listar algumas lsblkcolunas .. .
don_crissti
4
use a opção -T para imprimir o tipo de sistema de arquivos
[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
Em que sistema? fdisk, no sistema que estou usando no momento, pelo menos, mostra apenas o tipo de partição, não o tipo de sistema de arquivos. Isso significa não só que não pode dizer a diferença entre ext2, ext3e ext4, também não pode discernir ReiserFS ou XFS de estes.
Warren Young
+1 por esforço. Eu fiz o fdisk antes de fazer esta pergunta. Mantenha pontos para cima.
usar o seguinte comando
1
Aqui está um oneliner útil para obter apenas o tipo de sistema de arquivos:
Isso não mostrou a resposta BSD que eu estava procurando. Tive a impressão de que esses bytes de tipo estavam realmente contidos na tabela de partição do disco, sem ter certeza disso. Existe apenas o tipo 85 para todos os tipos de extfs do Linux, mas o Linux também não reconhece o tipo A6 do OpenBSD.
> 00 não utilizados 20 Willowsoft 66 NetWare 386 A9 NetBSD
> 01 Inicialização do DOS FAT-12 24 NEC DOS 67 Novell AB MacOS X
> 02 XENIX / 27 Recuperação de vitória 68 Novell AF MacOS X HFS +
> 03 XENIX / usr 38 Theos 69 Novell B7 BSDI arquivos *
> 04 DOS FAT-16 39 Plano 9 70 Troca de DiskSecure B8 BSDI
> 05 Extended DOS 40 VENIX 286 75 PCIX BF Solaris
> 06 DOS> 32MB 41 Lin / Minux DR 80 Minix (antigo) C0 CTOS
> 07 NTFS 42 LinuxSwap DR 81 Minix (novo) C1 DRDOSs FAT12
> 08 AIX fs 43 Linux DR 82 Linux swap C4 DRDOSs 09 AIX / Coerente 4D QNX 4.2 Pri 83 arquivos Linux * C6 DRDOSs> = 32M
> 0A OS / 2 Bootmgr 4E QNX 4.2 Sec 84 OS / 2 oculto C7 HPFS desativado
> 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 Dell Maint
> 0E DOS FAT-16 51 DM 87 NTFS VS E1 SpeedStor
> 0F Extended LBA 52 CP / M ou SysV 8E Linux LVM E3 SpeedStor
> 10 OPUS 53 DM 93 Ameba FS E4 SpeedStor
> 11 OS / 2 ocultos 54 Ontrack 94 Amoeba BBT EB BeOS / i386
> 12 Compaq Diag. 55 EZ-Drive 99 Mylex EE EFI GPT
> 14 OS / 2 ocultos 56 Golden Bow 9F BSDI EF EFI Sys
> 16 OS / 2 oculto 5C Priam A0 NotebookSave F1 SpeedStor
> 17 OS / 2 oculto 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
A formatação pode ficar confusa, é uma boa tabela com 70 colunas de largura. Se você está no fdisk do OpenBSD e clicou? quando ele pede o tipo de partição, é isso que você obtém. Os tipos são exibidos quando você está editando ou listando a tabela de partição.
Respostas:
Como posso saber que tipo de dados (que formato de dados) está em um arquivo?
→ Use o
file
utilitário.Aqui, você deseja conhecer o formato dos dados em um arquivo de dispositivo, então você precisa passar a
-s
sinalização para dizerfile
não apenas para dizer que é um arquivo de dispositivo, mas para ver o conteúdo. Às vezes, você precisará da-L
bandeira também, se o nome do arquivo do dispositivo for um link simbólico. Você verá resultados como este:Dada essa saída de amostra, o primeiro disco possui uma partição e o segundo disco possui duas partições.
/dev/sda1
é um sistema de arquivos ext4,/dev/sdb1
é um sistema de arquivos ext2 e/dev/sdb2
tem algum espaço de troca (cerca de 4 GB).Você deve executar este comando como root, porque usuários comuns podem não ler partições de disco diretamente: se necessário, adicione
sudo
na frente.fonte
$ sudo file /dev/sda1
, eu recebo/dev/sda1: block special
file -s /dev/sd*
- comsudo
na frente, é issosudo file -s /dev/sd*
.file -sL /dev/mapper/foo-bar
com a-L
bandeira para desreferenciar o link simbólico.Outra opção é usar
blkid
:Isso reconhece a maioria dos tipos de sistemas de arquivos e coisas como partições criptografadas.
Você também pode procurar partições com um determinado tipo:
fonte
ext2
sistema de arquivosmount -t ext4
.blkid
não é enganado por isso.blkid
não é tão grande comolsblk
é a detecção de unidades desmontadas (se precisar)Você pode usar
sudo parted -l
Fonte
fonte
sudo apt-get install parted
(ougparted
) se estiver no Ubuntu ou em qualquer outro derivado do debian.ext2
sistema de arquivosmount -t ext4
.parted
não é enganado por isso.mount -t auto
)Ainda outra maneira, desde que você saiba que está executando algum tipo de
ext?
, é olhar a lista de recursos do sistema de arquivos:Se na lista você vir:
extent
- é ext4extent
, mashas_journal
- é ext3extent
nemhas_journal
- é ext2As respostas
parted
eblkid
são melhores se você deseja que essas heurísticas sejam executadas automaticamente. (Eles também indicam a diferença nas verificações de recursos.) Eles também podem identificarext?
sistemas que não são arquivos.Este método tem a virtude de mostrar as diferenças de baixo nível.
O importante a ser percebido aqui é que esses três sistemas de arquivos são compatíveis com versões anteriores e, até certo ponto, também com versões anteriores. Versões posteriores apenas adicionam recursos sobre as mais antigas.
Veja o ext4 HOWTO para mais informações sobre isso.
fonte
tente usar
df -T
ver homemdf
para mais opções ainda mais uma maneira que eu encontrei écfdisk
fonte
mount
resposta baseada no h3rmiller .mount -t ext4
em umext2
sistema de arquivos,df -T
reportaext4
. Ou seja, está apenas lendo o que a tabela de montagem diz, sem olhar para os metadados do sistema de arquivos para descobrir isso.Surpreso que isso ainda não esteja aqui. Não é
sudo
necessário:lsblk -f
fonte
sudo
aFSTYPE
coluna está em branco.lsblk
colunas .. .use a opção -T para imprimir o tipo de sistema de arquivos
fonte
fdisk -l
irá listarUso:
fonte
fdisk
, no sistema que estou usando no momento, pelo menos, mostra apenas o tipo de partição, não o tipo de sistema de arquivos. Isso significa não só que não pode dizer a diferença entreext2
,ext3
eext4
, também não pode discernir ReiserFS ou XFS de estes.Aqui está um oneliner útil para obter apenas o tipo de sistema de arquivos:
Um exemplo de execução é:
fonte
Isso não mostrou a resposta BSD que eu estava procurando. Tive a impressão de que esses bytes de tipo estavam realmente contidos na tabela de partição do disco, sem ter certeza disso. Existe apenas o tipo 85 para todos os tipos de extfs do Linux, mas o Linux também não reconhece o tipo A6 do OpenBSD.
A formatação pode ficar confusa, é uma boa tabela com 70 colunas de largura. Se você está no fdisk do OpenBSD e clicou? quando ele pede o tipo de partição, é isso que você obtém. Os tipos são exibidos quando você está editando ou listando a tabela de partição.
Tipos de partição na Wikipedia: https://en.wikipedia.org/wiki/Partition_type
fonte