GNU/Linux >> Linux Esercitazione >  >> Linux

Comando file Linux:come determinare il tipo di file in Linux

Introduzione

Il file di Linux comando aiuta a determinare il tipo di un file e i suoi dati. Il comando non tiene conto dell'estensione del file ed esegue invece una serie di test per scoprire il tipo di dati del file.

In questo tutorial, ti mostreremo come utilizzare il file il comando funziona e come usarlo.

Prerequisiti

  • Un sistema che esegue Linux.
  • Accesso alla finestra del terminale.

Sintassi comando file

Il file comando utilizza la seguente sintassi di base:

file [option] [file name]

Nella sintassi sopra, file name rappresenta il nome del file che si desidera testare. Il file comando esegue tre serie di test cercando di determinare il tipo di file, in questo ordine:

  • Test del file system eseguire una chiamata di sistema stat(2) e verificare il risultato rispetto al file di intestazione del sistema. In questo modo, il file comando determina se il file è un tipo comune per il tuo sistema (come un file di testo, un'immagine, una directory, ecc.).
  • Prove di magia utilizzare una breve stringa di numeri archiviata vicino all'inizio del file ("numero magico") per verificare se il file è un eseguibile binario e, in tal caso, determinarne il tipo. Le informazioni necessarie per eseguire questi test sono archiviate in /etc/magic o /usr/share/misc/magic da un file magic compilato.
  • Test linguistici usa un tag speciale per determinare in quale linguaggio di programmazione è scritto un file eseguibile binario.

L'output del comando fornisce una breve descrizione del file e del tipo di dati. Ad esempio, utilizzando il file comando per testare un file di testo:

file example.txt

Opzioni comando file

Il file comando utilizza le seguenti opzioni:

Opzione Descrizione
--apple Modifica l'output del comando con quello utilizzato dalle versioni precedenti di MacOS.
-b, --brief Modifica l'output del comando in modalità breve.
-C, --compile Crea un file di output che contiene una versione pre-analizzata del file o della directory magic.
-c, --checking-printout Controlla la stampa per la versione analizzata del file magic.
-d Stampa le informazioni di debug interne nel formato di errore standard.
-E In caso di errore del filesystem, emette un messaggio di errore ed esce.
-e, --exclude Esclude un test dall'elenco dei test eseguiti su un file.
--exclude-quiet Esclude i test che il file comando non sa.
--extension Stampa un elenco di estensioni valide per il tipo di file.
-F, --separator Utilizza la stringa fornita come separatore tra il nome del file e il tipo di file.
-f, --files-from Utilizza un file di testo fornito come elenco di file da testare. L'elenco deve contenere un solo nome file per riga.
-h, --no-deference Disabilita i seguenti collegamenti simbolici.
-i, --mime Modifica l'output del comando in una stringa di tipo MIME.
--mime-type, --mime-encoding Cambia l'output del comando in una stringa di tipo MIME e visualizza solo l'elemento specificato (tipo o codifica).
-k, --keep-going Mantiene il test in corso dopo la prima corrispondenza dei risultati.
-l, --list Mostra un elenco di modelli corrispondenti in ordine decrescente di forza.
-L, --deference Abilita i seguenti collegamenti simbolici.
-m, --magic-file Utilizza un file magico alternativo fornito dall'utente.
-N, --no-pad Non riempie i nomi dei file per allinearli all'output.
-n, --no-buffer Svuota l'output dopo aver controllato ogni file.
-p, --preserve-date Tentativi di preservare l'ultimo accesso al file per farlo sembrare il file comando non l'ha testato.
-P, --parameter Imposta vari parametri, come byte massimi o ricorsione, conteggio e limite di lunghezza.
-r, --raw Disabilita la traduzione dei caratteri non stampabili.
-s, --special-files Abilita la lettura di file speciali.
-S, --no-sandbox Disabilita il sandboxing sui sistemi che lo supportano.
-v, --version Visualizza la versione del file comando.
-z, --uncompress Controlla i file compressi.
-Z, --uncompress-noreport Controlla i file compressi e visualizza solo il tipo di file senza la compressione.
-0, --print0 Visualizza un carattere nullo dopo la fine del nome del file.
--help Visualizza il messaggio di aiuto.

Esempi di comando file

Di seguito sono riportati esempi di casi d'uso comuni per il file comando.

Testare più file

Per testare più file contemporaneamente, aggiungi i nomi dei file alla fine del file comando:

file [file name 1] [file name 2] … [file name n]

Ad esempio, testare una directory, un file di testo, un'immagine e una pagina Web:

file Example example.txt sample.png index.html

Testa tutti i file in una directory

Aggiungi un carattere jolly (* ) nel file comando per testare tutti i file e le directory nella directory di lavoro corrente:

file *

Aggiungi il percorso di una directory al carattere jolly per testare il contenuto di quella directory:

file [path to directory]/*

Ad esempio, per testare il contenuto dell'Esempio directory, utilizzare:

file Example/*

Testa i file in un intervallo

Il file Il comando consente di testare un sottoinsieme di file in una directory utilizzando intervalli in stile Regex. Selezionare un intervallo inserendo i valori tra parentesi. Ad esempio, testare file e directory con nomi nell'intervallo a-l:

file [a-l]*

Poiché gli intervalli in stile Regex fanno distinzione tra maiuscole e minuscole, l'output nell'esempio sopra mostra solo i tipi di file per i file che iniziano con a-l minuscolo. L'aggiunta di un altro intervallo ti consente di includere anche caratteri maiuscoli:

file [a-l]* [A-L]*

Testare i file da un elenco

Il file comando consente di utilizzare un file di testo come elenco di file da testare. Il file di testo deve contenere un solo nome file per riga.

Usa il -f opzione e aggiungi il percorso del file elenco a file comando:

file -f list.txt

Test di file speciali

Il file comando non è sempre in grado di leggere file speciali, come i file di sistema:

file /dev/sda5

Nell'esempio sopra, l'output del comando file mostra che /dev/sda5 è un file speciale di blocco ma non offre dettagli aggiuntivi. Usando il -s l'opzione ti consente di testare completamente file speciali:

sudo file -s /dev/sda5

Test dei file compressi

Usa il -z opzione per testare completamente i file compressi, cercando di rilevarne il contenuto:

file -z install.tar.gz

Verifica la versione analizzata del file

Usando il -c l'opzione visualizza la stampa di controllo per la versione analizzata del file:

file -c example.txt

Questa opzione viene solitamente utilizzata con il -m opzione per eseguire il debug e installare un nuovo file magic.

Visualizza breve output

Utilizzando il -b l'opzione visualizza la versione breve dell'output. Questa versione dell'output mostra solo i tipi di file e omette i nomi dei file.

file -b Example example.txt sample.png index.html

Aggiungi separatori all'output

Usando il -F l'opzione consente di definire un carattere che funge da separatore tra il nome del file e le sezioni del tipo di file dell'output. Ad esempio, aggiungi un segno più (+ ) come separatore con:

file -F + Example example.txt sample.png index.html

Rimuovi il riempimento del nome file dall'output

Usa il -N opzione per rimuovere il riempimento tra il nome del file e le sezioni del tipo di file dell'output:

file -N Example example.txt sample.png index.html

L'output risultante non è più allineato verticalmente:


Linux
  1. Come rimuovere (eliminare) un file o una directory in Linux

  2. Come utilizzare il comando md5sum in Linux

  3. Come salvare l'output dei comandi in un file in Linux

  4. Come utilizzare il comando Tar in Linux

  5. Come determinare il tipo di file system in modo affidabile sotto Linux?

Come utilizzare un comando file in Linux

Come aprire un file in Linux

Come mescolare le linee in un file in Linux

Come determinare il tipo MIME di un file in Linux

Come usare il comando lsof in Linux

Come utilizzare il comando shred Linux