file (Unix)
file è un comando dei sistemi operativi Unix e Unix-like, e più in generale dei sistemi POSIX[1], che cerca di determinare il tipo di uno o più file a partire dal loro contenuto.
Per ciascuno dei file specificati come parametri viene visualizzata sullo standard output una linea che indica il nome del file seguito da una descrizione testuale dei dati che esso contiene.
Il tipo di file viene determinato esaminando la parte iniziale del contenuto del file, alla ricerca di particolari sequenze di byte che ne rivelino il tipo.
Sintassi
[modifica | modifica wikitesto]La sintassi generale di file è la seguente:
file [opzioni] [--] file1 [file2 …]
I parametri file specificano i nomi dei file da analizzare. Alcune implementazioni permettono di specificare un trattino per indicare lo standard input.
Il doppio trattino -- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.
L'unica opzione di rilievo è -h, che indica di segnalare i collegamenti simbolici semplicemente come tali, anziché analizzare il contenuto della loro destinazione.
Esempi
[modifica | modifica wikitesto]Visualizza sullo standard output il tipo del file prova.txt:
$ file prova.txt prova.txt: ASCII text
Visualizza sullo standard output i tipi dei file prova.txt e /bin/ls:
$ file prova.txt /bin/ls prova.txt: ASCII text /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped