Com es determina el tipus d'arxiu d'un fitxer amb Linux

La majoria de les persones busquen l'extensió d'un fitxer i endevinin el tipus de fitxer d'aquesta extensió. Per exemple, quan veieu un fitxer amb una extensió de gif, jpg, bmp o png, pensareu en un fitxer d'imatge i quan vegeu un fitxer amb una extensió de zip, suposa que el fitxer s'ha compressat usant una utilitat de compressió de compressió .

De fet, un fitxer pot tenir una extensió però és diferent i si un fitxer no té cap extensió com pot determinar el tipus de fitxer?

A Linux, podeu trobar el tipus de fitxer real mitjançant l'ordre de fitxer.

Com funciona el comandament d'arxiu

Segons la documentació, el comandament del fitxer executa tres conjunts de proves contra un fitxer:

El primer conjunt de proves per retornar una resposta vàlida fa que s'imprimeixi el tipus de fitxer.

Les proves del sistema de fitxers examinen la devolució d'una crida al sistema estatal. El programa comprova si el fitxer està buit i si es tracta d'un fitxer especial. Si el tipus de fitxer es troba al fitxer de capçalera del sistema, es retornarà com a tipus de fitxer vàlid.

Les proves màgiques comproven els continguts d'un fitxer i específicament uns quants bytes al principi que ajuden a determinar el tipus de fitxer. Hi ha diversos fitxers que s'utilitzen per ajudar a combinar un fitxer amb el seu tipus de fitxer i aquests estan emmagatzemats a / etc / magic, / usr / share / misc / magic.mgc, / usr / share / misc / magic. Podeu anul·lar aquests fitxers posant un fitxer a la vostra carpeta d'inici anomenat $ HOME / .magic.mgc o $ HOME / .magic.

Les proves finals són proves d'idiomes. El fitxer està marcat per veure si es tracta d'un fitxer de text. En provar els primers bytes d'un fitxer es pot deduir si es tracta d'un ASCII, UTF-8, UTF-16 o en un altre format que determina el fitxer com a fitxer de text. Una vegada que el joc de caràcters s'ha deduït, el fitxer es comprova amb diferents idiomes. Per exemple, el programa ac fitxer.

Si cap de les proves funciona, la sortida és simplement dades.

Com utilitzar el comandament d'arxiu

L'ordre de fitxer es pot utilitzar de la manera següent:

arxiu nom del fitxer

Per exemple, imagineu que teniu un fitxer anomenat file1, executeu l'ordre següent:

fitxer file1

La sortida serà una cosa així:

fitxer1: dades d'imatge PNG, 640 x 341, RGB de 8 bits / color, sense entrellaçar

La sortida mostrada determina que el fitxer 1 sigui un fitxer d'imatge o que sigui més exacte un fitxer gràfic de xarxa portàtil (PNG).

Els diferents tipus d'arxius produeixen resultats diferents de la següent manera:

Personalitzeu la sortida del comandament de fitxer

De manera predeterminada, la comanda fitxer proporciona el nom del fitxer i, a continuació, tots els detalls sobre el fitxer. Si només voleu que els detalls sense que el nom del fitxer sigui repetit, utilitzeu el següent interruptor:

fitxer -b file1

La sortida serà una cosa així:

Dades d'imatge PNG, 640 x 341, RGB de 8 bits / color, sense entrellaçar

També podeu canviar el delimitador entre el nom del fitxer i el tipus.

De manera predeterminada, el delimitador és de dos punts (:), però podeu canviar-lo a qualsevol cosa que vulgueu, com ara el símbol de la pipa de la manera següent:

fitxer -F '|' fitxer1

La sortida ara serà una cosa així:

file1 | Dades d'imatge PNG, 640 x 341, RGB de 8 bits / color, sense entrellaçar

Maneig de diversos fitxers

Per defecte, utilitzarà l'ordre del fitxer en un únic fitxer. Tanmateix, podeu especificar un nom de fitxer que contingui una llista de fitxers que haureu de processar l'ordre del fitxer:

Com a exemple, obriu un fitxer anomenat testfiles utilitzant l'editor nano i afegiu-les a:

Deseu el fitxer i executeu l'ordre de fitxer següent:

arxiu -f fitxers de prova

La sortida serà una cosa així:

/ etc / passwd: text ASCII
/etc/pam.conf: text ASCII
/ etc / opt: directori

Fitxers comprimits

De manera predeterminada, quan executeu l'ordre de fitxer en un fitxer comprimit, veureu resultats d'aquesta manera:

file.zip: dades d'arxiu ZIP, com a mínim V2.0 per extreure

Tot i que això us indica que el fitxer és un fitxer d'arxiu, realment no coneixeu el contingut del fitxer. Podeu veure a l'interior del fitxer zip per veure els tipus de fitxers dels fitxers dins del fitxer comprimit.

L'ordre següent executa l'ordre del fitxer contra els fitxers dins d'un fitxer ZIP:

fitxer -z nom del fitxer

La sortida ara mostrarà els tipus de fitxer dels fitxers dins de l'arxiu.

Resum

En general, la majoria de la gent només usarà l'ordre del fitxer per trobar el tipus de fitxer bàsic, però per obtenir més informació sobre totes les possibilitats que ofereix l'ordre del fitxer, escriviu el següent a la finestra del terminal:

arxiu d'home