Il comando file viene fornito con molti sistemi Unix e dispone di un database di firme che utilizza per identificare la struttura di un file sconosciuto. Il comando può essere utilizzato anche contro una directory per determinarla come directory. La sintassi del comando file è molto semplice:
# file [file or directory]
Esempio:
# file /tmp /tmp: sticky, directory # file /tmp/adobegc.log /tmp/adobegc.log: ASCII text
Può anche generare output se il file è vuoto, il che può anche essere utile a volte per trovare file vuoti. Accetta anche l'espressione regex mentre fornisce i nomi di file o directory.
file verifica ogni argomento nel tentativo di classificarlo. Ci sono tre serie di test, eseguiti in questo ordine:test di filesystem, test di magia e test di lingua. Il primo test che riesce provoca la stampa del tipo di file.
Il tipo stampato di solito conterrà una delle parole testo (il file contiene solo caratteri di stampa e alcuni caratteri di controllo comuni ed è probabilmente sicuro da leggere su un terminale ASCII), eseguibile (il file contiene il risultato della compilazione di un programma in una forma comprensibili per un kernel UNIX o un altro), o dati che significano qualsiasi altra cosa (i dati sono generalmente 'binari' o non stampabili).
Esempi di comando file
1. Per ottenere il tipo di file:
# file file.txt
2. Per ottenere il tipo di file in breve:
# file -b file.txt # file --brief file.txt
3. Per compilare un file di codice C:
# file -C file.c # file --compile file.c
4. Per causare una stampa di controllo della forma analizzata del file magic:
# file -c file.txt # file --checking-printout file.txt
5. Per escludere il test denominato in testname:
# file -e text file.txt # file --exclude text file.txt
testname | Descrizione |
---|---|
tipo di app | Tipo di applicazione EMX (solo su EMX). |
testo | Vari tipi di file di testo (questo test cercherà di indovinare la codifica del testo, a prescindere |
codifica | Diverse codifiche di testo per test di magia morbida. |
token | Cerca i token noti all'interno dei file di testo. |
cdf | Stampa i dettagli dei file di documenti composti. |
comprimi | Cerca e cerca all'interno dei file compressi. |
elfo | Stampa i dettagli del file ELF. |
morbido | Consulta i file magici. |
tar | Esamina i file tar. |
6. Per utilizzare la stringa specificata come separatore tra il nome del file e il risultato del file restituito:
# file -F " " file.txt # file --separator " " file.txt
7. Per leggere i nomi dei file da esaminare da namefile:
# file -f file.txt # file --files-from file.txt
8. Per far sì che i collegamenti simbolici non vengano seguiti:
# file -h file.txt # file --no-dereference file.txt
9. A fa sì che il comando file produca stringhe di tipo mime:
# file -i file.txt # file -mime file.txt
10. Come -i, ma stampa solo l'elemento specificato:
# file --mime-type file.txt # file --mime-encoding file.txt
11. Per non fermarti alla prima partita, continua:
# file -k file.txt # file --keep-going file.txt
12. L'opzione fa sì che i collegamenti simbolici vengano seguiti:
# file -L file.txt # file --dereference file.txt
13. Per specificare un elenco alternativo di file e directory contenenti magic:
# file -m magicfile file.txt # file --magic-file magicfile file.txt
14. Per non riempire i nomi dei file in modo che siano allineati nell'output:
# file -N file.txt # file --no-pad file.txt
15. Per forzare lo svuotamento di stdout dopo aver controllato ogni file:
# file -n file.txt # file --no-buffer file.txt
16. Per preservare il tempo di accesso ai file:
# file -p file.txt # file --preserve-date file.txt
17. Non tradurre i caratteri non stampabili in \ooo:
# file -r file.txt # file --raw file.txt
18. Per leggere file speciali:
# file -s file.txt # file --special-files file.txt
19. Per stampare la versione del programma ed uscire:
# file -v
20. Per provare a guardare all'interno dei file compressi:
# file -z file.gz # file --uncompress file.gz
21. Per generare un carattere nullo 0 dopo la fine del nome del file:
# file -0 file.txt # file --print0 file.txt
22. Per ottenere la guida per il file:
# file --help