La commande File sur Linux vous permet d’obtenir des informations sur le type de fichier.
C’est une commande utile lorsque l’on tombe sur un fichier inconnu ou que l’on a des doutes quant au type de fichier.
Dans ce tutoriel, je vous montre comment utiliser la commande file sur Linux avec des exemples.
Table des matières
- 1 La syntaxe de la commande Linux
- 2 Comment utiliser la commande file Linux avec des exemples
- 2.1 Utilisation basique
- 2.2 Supprimer le nom de fichier de la sortie
- 2.3 Obtenir le type MIME du fichier
- 2.4 Obtenir les informations de type de fichier d’un fichier dans un fichier d’archive
- 2.5 Utiliser la commande de fichier avec plusieurs fichiers
- 2.6 Utiliser la commande de fichier avec regex
- 2.7 Vérifier le système de fichiers d’un disque
- 3 Liens
La syntaxe de la commande Linux
La commande file est utilisée pour déterminer le type de fichier. Cette commande teste chaque argument pour tenter de le classer.
Il y a trois ensembles de tests possibles :
- Test de système de fichiers : ce test est basé sur le résultat qui revient à partir d’un appel système STAT. Le programme vérifie que si le fichier est vide, ou s’il s’agit d’une sorte de fichier spécial. Ce test entraîne l’impression du type de fichier
- Test magique : ces tests sont utilisés pour vérifier les fichiers avec des données dans des formats fixes particuliers
- Test de langue : ce test recherche des chaînes particulières qui peuvent apparaître n’importe où dans les premiers blocs d’un fichier
file [option] NomFichier
Comment utiliser la commande file Linux avec des exemples
Utilisation basique
Voici un exemple d’utilisation basique où on cherche à obtenir le type de fichier de demo.php :
file demo.php
demo.php: PHP script, ASCII text
Supprimer le nom de fichier de la sortie
Vous pouvez utiliser l’option -b et la sortie affichera uniquement le type de fichier en omettant le nom de fichier. Cela pourrait être utile dans les scripts.
file -b NomFichier
file -b demo.php
C++ source, ASCII text
Obtenir le type MIME du fichier
Vous pouvez également afficher le type MIME du fichier grâce à l’option -i.
file -i filename
Voici un exemple de la commande sur un fichier vidéo, avec et sans l’information de type mime :
file ~/Téléchargements/Desinstaller-mise-jour-Windows-10.mp4
/home/mak/Téléchargements/Desinstaller-mise-jour-Windows-10.mp4: ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]
Vous pouvez combiner les options -b et -i.
Obtenir les informations de type de fichier d’un fichier dans un fichier d’archive
Si vous gzip un répertoire et que vous avez maintenant un fichier compressé. Vous pouvez examiner le contenu non compressé pour décider du type de fichier avec l’option -z.
file -z fichier_compresse
Voici un exemple avec et sans l’option -z:
file demo.php.gz
demo.php.gz: gzip compressed data, was "demo.php", last modified: Fri Jul 1 08:23:21 2022, from Unix, original size modulo 2^32 39
file -z demo.php.gz
demo.php.gz: PHP script, ASCII text (gzip compressed data, was "demo.php", last modified: Fri Jul 1 08:23:21 2022, from Unix)
Utiliser la commande de fichier avec plusieurs fichiers
La commande de fichier peut être exécutée sur plusieurs fichiers simultanément.
file fichier1 fichier2 fichier3
Voici un exemple pour vous afin que vous puissiez le voir en action :
file demo.html demo.php.gz demo.php.gz
demo.html: ASCII text
demo.php.gz: gzip compressed data, was "demo.php", last modified: Fri Jul 1 08:23:21 2022, from Unix, original size modulo 2^32 39
demo.php.gz: gzip compressed data, was "demo.php", last modified: Fri Jul 1 08:23:21 2022, from Unix, original size modulo 2^32 39
Utiliser la commande de fichier avec regex
Si vous souhaitez utiliser la commande de fichier sur plusieurs fichiers, vous n’avez pas toujours à fournir tous les noms de fichiers. Vous pouvez utiliser Regex à la place.
C’est vraiment à la hauteur de vos besoins et de votre imagination comment vous pouvez l’utiliser. Je vais quand même montrer quelques exemples.
Si vous souhaitez afficher le type de fichier de tous les fichiers du répertoire actuel, utilisez simplement ceci :
file *
Si vous souhaitez afficher le type de fichier de tous les fichiers avec une certaine extension, vous pouvez également le faire :
file *.txt
Les possibilités sont infinies. Vous voulez afficher le type de fichiers de fichiers avec le nom commençant par ‘a’? :
file [a]*
Vérifier le système de fichiers d’un disque
Moins courant, la commande file vous permet d’obtenir des informations sur un périphérique dont un périphérique de stockage :
sudo file -sL /peripherique
Par exemple pour afficher le système de fichiers pour chaque partition du disque /dev/sda :
sudo file -sL /dev/sda*
/dev/sda: DOS/MBR boot sector
/dev/sda1: DOS/MBR boot sector, code offset 0x58+2, OEM-ID "mkfs.fat", sectors/cluster 8, Media descriptor 0xf8, sectors/track 63, heads 255, hidden sectors 2048, sectors 1048576 (volumes > 32 MB), FAT (32 bit), sectors/FAT 1024, reserved 0x1, serial number 0xb670203, unlabeled
/dev/sda2: DOS/MBR boot sector, code offset 0x58+2, OEM-ID "mkfs.fat", sectors/cluster 8, Media descriptor 0xf8, sectors/track 63, heads 255, hidden sectors 1050624, sectors 1050624 (volumes > 32 MB), FAT (32 bit), sectors/FAT 1024, reserved 0x1, serial number 0x11ec726c, unlabeled
/dev/sda3: DOS/MBR boot sector; partition 1 : ID=0x83, start-CHS (0x3ff,254,2), end-CHS (0x3ff,254,2), startsector 2, 39837696 sectors, extended partition table (last)
/dev/sda5: Linux rev 1.0 ext4 filesystem data, UUID=b88f1d53-f302-49bf-ab18-230575ef56ba (needs journal recovery) (extents) (64bit) (large files) (huge files)
Liens
- La commande ls Linux : utilisation et exemples
- Commande find Linux : Exemples d’utilisation pour rechercher des fichiers
- Copier ou déplacer un fichier sur Linux
- Comment renommer un fichier sur Linux
- La commande cp de Linux : Exemples d’utilisation
- Copier des fichiers ou répertoire dans un terminal sur Linux
- La commande mv : déplacer des fichiers ou répertoires
- La commande rename Linux : utilisation et exemples
- Commande rm Linux : Utilisations et exemples
- Comment supprimer un fichier ou répertoire sur Linux
- rsync : synchroniser, copier des fichiers à distance ou locaux
- Commande locate : utilisations et exemples
- La commande cd Linux : utilisation et exemple
- Comment utiliser la commande tree avec des exemples sur Linux
- Command find : utilisations et exemples pour rechercher des fichiers
- Comment chercher un fichier sur Linux