Dans la leçon précédente, vous avez utilisé touch pour créer un fichier sans extension. Sous Linux, le nom d'un fichier ne doit pas nécessairement décrire son contenu : un fichier nommé funny.gif n'est pas forcément une image GIF.
Ligne de Commande · Leçon 6
file
Apprenez à identifier le type probable du contenu d'un fichier sans vous fier à son nom ou à son extension.
Utilisez la commande file pour inspecter un fichier et indiquer son type probable :
$ file banana.jpg
banana.jpg: JPEG image data
Pourquoi les extensions ne suffisent pas
Les outils Linux n'ont généralement pas besoin d'une extension pour déterminer le type d'un fichier. Un script shell peut s'appeler backup, un fichier texte README, et une image porter une extension trompeuse. file examine des propriétés comme les métadonnées du système de fichiers et les motifs reconnaissables du contenu.
$ file README
README: ASCII text
$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable
Le résultat est une classification et non une garantie. Un fichier inhabituel, incomplet ou endommagé peut recevoir une description générale comme data plutôt qu'un type précis.
Un fichier nommé report.jpg peut ne pas contenir d'image. Quelle commande vérifie son type de contenu probable ?
Vérifier plusieurs fichiers
Vous pouvez contrôler plusieurs fichiers à la fois :
$ file notes.txt image.png archive.tar.gz
notes.txt: ASCII text
image.png: PNG image data
archive.tar.gz: gzip compressed data
Vous pouvez aussi fournir un joker du shell. Le shell développe * en noms correspondants avant que file ne les examine :
$ file *
Quelle commande demande à file d'inspecter tous les noms non cachés auxquels * correspond dans le répertoire actuel ?
Afficher les informations MIME
L'option -i produit des informations au format MIME, notamment un type de média et, lorsqu'il est disponible, un jeu de caractères. Cette forme est utile lorsqu'un autre programme attend une valeur comme text/html.
$ file -i index.html
index.html: text/html; charset=us-ascii
Quelle commande indique les informations au format MIME pour index.html ?
Options utiles de file
-i: afficher les informations au format MIME ;-b: utiliser le mode bref et omettre le nom du fichier ;-L: suivre les liens symboliques et classer leur cible ;-z: essayer d'examiner le contenu des fichiers compressés.
Par exemple :
$ file -b notes.txt
ASCII text
Quelle commande classe notes.txt en omettant son nom dans la sortie ?
Leçon terminée
Vous avez terminé file
Vous savez maintenant utiliser file pour déterminer ce qu'un fichier contient probablement.
Classer un fichier sans faire confiance à son extension.
Inspecter plusieurs chemins avec une seule commande.
Demander des informations au format MIME.
Adapter le traitement des liens, des données compressées et des libellés de sortie.
Conservez votre progression
Créez un compte gratuit pour enregistrer cette leçon et continuer sur n'importe quel appareil.
Créer un compte gratuit