Cum se determină tipul de fișier al unui fișier utilizând Linux

Majoritatea oamenilor se uită la extensia unui fișier și apoi ghicesc tipul fișierului din extensia respectivă. De exemplu, când vedeți un fișier cu extensia gif, jpg, bmp sau png, vă gândiți la un fișier imagine și când vedeți un fișier cu o extensie a zip-ului, presupuneți că fișierul a fost comprimat utilizând un utilitar de compresie zip .

Într-adevăr, un fișier poate avea o extensie, dar poate fi ceva cu totul diferit și dacă un fișier nu are extensie cum poți determina tipul de fișier?

În Linux puteți afla adevăratul tip de fișier utilizând comanda de fișier.

Cum funcționează comanda fișierului

Conform documentației, comanda fișier rulează trei seturi de teste împotriva unui fișier:

Primul set de teste pentru a returna un răspuns valid determină tipărirea fișierului.

Testele sistemului de fișiere examinează întoarcerea de la un apel sistem stat. Programul verifică dacă fișierul este gol și dacă acesta este un fișier special. Dacă tipul de fișier este găsit în fișierul de antet al sistemului, acesta va fi returnat ca tip de fișier valid.

Testele magice verifică conținutul unui fișier și mai ales câțiva octeți de la început care ajută la determinarea tipului de fișier. Există mai multe fișiere care sunt utilizate pentru a ajuta la potrivirea unui fișier cu tipul de fișier și acestea sunt stocate în / etc / magic, / usr / share / misc / magic.mgc, / usr / share / misc / magic. Puteți să înlocuiți aceste fișiere prin plasarea unui fișier în dosarul dvs. de domiciliu numit $ HOME / .magic.mgc sau $ HOME / .magic.

Testele finale sunt testele lingvistice. Fișierul este bifat pentru a vedea dacă acesta este un fișier text. Prin testarea primilor câțiva octeți ai unui fișier, puteți deduce dacă este vorba despre un ASCII, UTF-8, UTF-16 sau alt format care determină fișierul ca fișier text. După deducerea setului de caractere, fișierul este testat în funcție de limbi diferite. De exemplu, este programul de fișiere ac.

Dacă nici unul dintre teste nu funcționează, ieșirea este pur și simplu de date.

Cum se utilizează comanda Fișier

Comanda fișierului poate fi utilizată după cum urmează:

Nume fișier

De exemplu, imaginați-vă că aveți un fișier numit file1 pe care ați rula următoarea comandă:

fișier fișier1

Rezultatul va fi ceva de genul:

fișier1: date de imagine PNG, 640 x 341, RGB de 8 biți / culoare, fără intercalare

Ieșirea afișată determină ca fișierul1 să fie un fișier imagine sau să fie mai exact un fișier grafic portabil de rețea (PNG).

Tipurile diferite de fișiere produc rezultate diferite după cum urmează:

Personalizați ieșirea din comanda fișierului

În mod implicit, comanda fișier furnizează numele fișierului și apoi toate detaliile deasupra fișierului. Dacă doriți doar ca detaliile fără numele fișierului să fie repetate, utilizați următorul switch:

fișier -b file1

Rezultatul va fi ceva de genul:

Date de imagine PNG, 640 x 341, RGB pe 8 biți / culoare, fără intercalare

De asemenea, puteți schimba delimitatorul între numele fișierului și tipul.

Implicit, delimitatorul este un colon (:) dar îl puteți schimba în orice doriți, cum ar fi simbolul conductei, după cum urmează:

fișier -F '|' fișier1

Rezultatul va fi acum cam așa:

file1 | Date de imagine PNG, 640 x 341, RGB pe 8 biți / culoare, fără intercalare

Manipularea mai multor fișiere

În mod implicit, veți folosi comanda de fișier împotriva unui singur fișier. Cu toate acestea, puteți specifica un nume de fișier care conține o listă de fișiere care vor fi procesate de comanda fișierului:

Ca exemplu, deschideți un fișier numit testfiles utilizând editorul nano și adăugați aceste linii la acesta:

Salvați fișierul și executați următoarea comandă de fișier:

fișier -f-testf

Rezultatul va fi ceva de genul:

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

Fișiere comprimate

În mod implicit, atunci când rulați comanda fișierului împotriva unui fișier comprimat, veți vedea ieșire astfel:

file.zip: date de arhivare ZIP, cel puțin V2.0 pentru extragere

În timp ce acest lucru vă spune că fișierul este un fișier de arhivă, nu cunoașteți cu adevărat conținutul fișierului. Puteți să vă uitați în interiorul fișierului zip pentru a vedea tipurile de fișiere ale fișierelor din fișierul comprimat.

Următoarea comandă execută comanda fișierului împotriva fișierelor din interiorul unui fișier ZIP:

fișier -z numele fișierului

Ieșirea va afișa acum tipurile de fișiere de fișiere din arhivă.

rezumat

În general, majoritatea oamenilor vor folosi pur și simplu comanda fișierului pentru a găsi tipul de fișier de bază, dar pentru a afla mai multe despre toate posibilitățile pe care le oferă comanda fișier introduceți următoarele în fereastra terminalului:

fișier om