Duplicata possible:
Trouver le système de fichiers d'une partition à partir d'un script
Comment afficher le type de système de fichiers via le terminal?
Je recherche une commande qui donne le type de système de fichiers comme mount
l'utiliserait/le détecterait, sans le monter réellement. Cela devrait également fonctionner, par exemple pour les appareils cryptés LUKS (où file -s
renvoie "Fichier crypté LUKS" au lieu de "crypto_LUKS"). Il y a sûrement un moyen plus pratique que d'analyser fsck -N /dev/whatever
's output (qui peut utiliser stderr en fonction de l'existence d'un fsck.TYPE
)?
Il existe plusieurs façons d'obtenir ces informations. La plupart d'entre eux nécessitent que vous analysiez la sortie d'une autre commande.
Courir # fdisk /dev/sdX -l
pour avoir une idée de base de la structure du système de fichiers. La sortie est quelque chose comme ceci:
Disk /dev/sda: 320.1 GB, 320072933376 bytes, 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9f7685a8
Device Boot Start End Blocks Id System
/dev/sda1 63 289169 144553+ 83 Linux
/dev/sda2 289170 459121634 229416232+ 83 Linux
/dev/sda3 459121635 461129759 1004062+ 82 Linux swap / Solaris
/dev/sda4 * 461129760 625142447 82006344 7 HPFS/NTFS/exFAT
Mais cela ne vous indiquera que le type de partition.
Vous pouvez également utiliser # blkid
pour obtenir la sortie suivante:
/dev/sda1: LABEL="boot" UUID="aa84c5a8-6408-4952-b577-578f2a67af86" TYPE="ext2"
/dev/sda2: LABEL="root" UUID="a430e0ef-fd35-432f-8b9a-75a49b89ad8a" TYPE="ext4"
/dev/sda3: LABEL="swap" UUID="e388806a-dc27-4f4e-a136-3d1ff4e53962" TYPE="swap"
/dev/sda4: UUID="088E027A8E026114" TYPE="ntfs"
De plus, pour une sortie bien formatée, vous pouvez exécuter # parted /dev/sdX -l
pour la sortie suivante:
Model: ATA WDC WD3200BEVT-7 (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 32.3kB 148MB 148MB primary ext2
2 148MB 235GB 235GB primary ext4
3 235GB 236GB 1028MB primary linux-swap(v1)
4 236GB 320GB 84.0GB primary ntfs boot
$ df -T
. Il s'agit d'une autre commande qui ne nécessite pas de privilèges de super-utilisateur pour s'exécuter. Cependant, cela rendra compte pour chaque point de montage
Filesystem Type 1K-blocks Used Available Use% Mounted on
rootfs rootfs 225815276 99381340 114963128 47% /
dev devtmpfs 1538396 0 1538396 0% /dev
run tmpfs 1541260 416 1540844 1% /run
/dev/sda2 ext4 225815276 99381340 114963128 47% /
tmpfs tmpfs 1541260 360 1540900 1% /dev/shm
tmpfs tmpfs 1541260 0 1541260 0% /sys/fs/cgroup
tmpfs tmpfs 1541260 900 1540360 1% /tmp
/dev/sda1 ext2 139985 30386 102372 23% /boot
/dev/sda4 fuseblk 82006340 79676036 2330304 98% /mnt
Une autre commande qui peut être utile est # file -sL /dev/sdXY
. Cela a un inconvénient en ce qu'il ne fonctionne pas avec le périphérique de bloc complet. Nécessite que l'appareil exact soit transmis. La sortie est assez nette cependant:
/dev/sda1: Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=aa84c5a8-6408-4952-b577-578f2a67af86, volume name "boot"
Tous ces éléments seront toujours sortis sur stdout. Vous pouvez les analyser dans un script si nécessaire.