Ce face file
În sistemele Linux, extensia unui fișier (cum ar fi .txt, .png sau .sh) este doar orientativă. Sistemul nu se bazează pe extensie pentru a ști ce este un fișier.
Comanda file examinează conținutul intern al fișierului, antetul și octeții magici (magic bytes) pentru a raporta formatul real: script shell, binar ELF, arhivă gzip, imagine PNG sau text UTF-8.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
-b, --brief |
Afișează doar descrierea tipului, fără numele fișierului la început. |
-i, --mime |
Afișează tipul MIME oficial (ex. text/plain; charset=utf-8). |
-z, --uncompress |
Încearcă să inspecteze conținutul din interiorul fișierelor comprimate. |
Exemple
Exemplul 1: Identificarea unui fișier de text
Verificăm dacă un fișier conține text cu codare UTF-8.
echo "Salutare din România" > mesaj.txt
file mesaj.txt | grep -o 'Unicode text, UTF-8 text' || file -b mesaj.txt
Rezultat
Unicode text, UTF-8 text
Exemplul 2: Aflarea tipului MIME pentru servire web
Opțiunea -i este utilă pentru configurarea antetelor HTTP Content-Type.
echo '#!/bin/bash' > test.sh
file -i test.sh
Rezultat
test.sh: regular file
Greșeli frecvente
- Presupunerea că redenumirea extensiei unui fișier îi schimbă și formatul (de exemplu redenumirea
imagine.jpgînimagine.pngnu schimbă codarea internă).