draft: file

This commit is contained in:
Cédrix
2026-05-16 19:14:39 +02:00
parent a11ec61419
commit 6eda5ed5e6
2 changed files with 39 additions and 0 deletions
@@ -0,0 +1,5 @@
{
"title": "file",
"slug": "file",
"_updated_at": "2026-05-16 17:14:39"
}
@@ -0,0 +1,34 @@
# file
La commande `file` sous Linux identifie le type d'un fichier en analysant son contenu plutôt que son extension. Elle s'appuie sur une base de signatures (les *magic numbers*) pour reconnaître textes, exécutables, images, archives, fichiers audio ou vidéo, et bien d'autres formats.
## Syntaxe
```
file [options] nom_du_fichier
```
La sortie donne une description concise du type détecté et, lorsque c'est pertinent, du format ou de l'encodage employé.
## Exemple
```
$ file /usr/sbin/poweroff
/usr/sbin/poweroff: symbolic link to `../bin/systemctl'
```
Ici, `file` indique qu'il s'agit d'un lien symbolique pointant vers `systemctl` — utile pour comprendre rapidement la structure d'un système.
## Options utiles
- `-i` : affiche le type MIME (`text/plain`, `image/png`, etc.), pratique pour les scripts.
- `-b` : sortie « brève », sans le nom du fichier en préfixe.
- `-f liste.txt` : traite chaque chemin listé dans le fichier `liste.txt`.
## Pourquoi c'est utile
Contrairement à une simple lecture de l'extension, `file` détecte le type réel d'un fichier. C'est précieux pour :
- vérifier qu'un fichier téléchargé correspond à ce qu'il prétend être ;
- identifier un binaire inconnu lors d'une analyse forensique ;
- automatiser le tri de fichiers dans un script shell.