Määrake failitüüp Linuxi käsu 'file' abil

Enamik inimesi vaatab faili laiendus ja siis arvake ära selle laiendi faili tüüp. Näiteks kui näete faili laiendiga gif, jpg, bmp või png, siis mõtlete pildifail, ja kui näete zip-laiendiga faili, eeldate, et fail on tihendatud kasutades a zip pakkimise utiliit.

Fail võib kasutada ühte laiendit, kuid olla midagi täiesti erinevat. Linux ei kasuta faililaiendeid; pigem on faili tüüp osa failinimest. Tegeliku failitüübi väljaselgitamiseks kasutage faili käsk.

Linuxi faili käsk

Kuidas käsk "fail" töötab

Failikäsk käivitab faili suhtes kolm testikomplekti:

  • Failisüsteemi testid
  • Maagia testid
  • Keeletestid

Esimene testide komplekt, mis tagastab kehtiva vastuse, küsib prinditava failitüübi.

Failisüsteemi testid uurivad statistika süsteemikutsest saadavat tulu. Programm kontrollib, kas fail on tühi ja kas tegemist on erifailiga. Kui failitüüp leitakse süsteemi päisefailist, tagastatakse see kehtiva failitüübina.

Võlutestid kontrollivad faili sisu ja eriti mõnda baiti alguses, mis aitavad failitüüpi määrata. Faili ja selle failitüübi sobitamiseks kasutatakse erinevaid faile ja need salvestatakse:

  • /etc/magic
  • /usr/share/misc/magic.mgc
  • /usr/share/misc/magic

Alistage need failid, asetades faili oma kodukausta nimega $HOME/.magic.mgc või $HOME/.magic.

Lõpukatseteks on keeletestid. Faili kontrollitakse, kas see on tekstifail. Faili esimeste baitide testimisel järeldab test, kas fail on ASCII, UTF-8, UTF-16 või muu vorming, mis tuvastab faili tekstifailina. Kui märgistik on tuletatud, testitakse faili erinevate keelte suhtes.

Kuidas kasutada käsku "fail".

The faili käsk on järgmisel kujul:

faili failinimi. 

Näiteks faili pealkirja tüübi kontrollimiseks touch.svg, käivitage järgmine käsk:

fail touch.svg. 

Väljund on umbes selline:

  • touch.svg: SVG skaleeritav vektorgraafika pilt

Erinevad failitüübid annavad erinevaid tulemusi, näiteks:

  • ODS-faili tüüp: OpenDocumenti arvutustabel
  • PDF-faili tüüp: PDF-dokument, versioon 1.4
  • CSV-faili tüüp: ASCII tekst, väga pikkade ridadega, CRLF reaindikaatoritega

Mitme faili käsitlemine

Vaikimisi töötab failikäsk ühe failiga. Siiski saate määrata failinime, mis sisaldab loendit failidest, mida töödeldakse faili käsk.

Näiteks avage fail nimega testfailid kasutades nano redaktor ja lisage sellele järgmised read:

  • /etc/passwd
  • /etc/pam.conf
  • /etc/opt

Salvestage fail ja käivitage järgmine failikäsk:

fail -f testfailid. 

Väljund on umbes selline:

  • /etc/passwd: ASCII tekst
  • /etc/pam.conf: ASCII tekst
  • /etc/opt: kataloog

Teine meetod on käivitada faili käsu üks kord, kuid määrates mitu sihtmärki. Näiteks:

fail /etc/passwd /etc/pam.conf /etc/opt

Väljund on umbes selline:

  • /etc/passwd: ASCII tekst
  • /etc/pam.conf: ASCII tekst
  • /etc/opt: kataloog

Töötavad ka tavalised metamärgid. Näiteks kõigi praeguse töökataloogi failide testimiseks kasutage järgmist:

fail *

D-tähega algavate kataloogide testimiseks (tõstutundlik) proovige järgmist.

fail D*

Tulemused võivad olla näiteks töölaud, dokumendid ja allalaadimised.

Tihendatud failid

Kui käivitate faili käsk tihendatud faili vastu, mille väljundiks on midagi sellist:

  • file.zip: ZIP-arhiivi andmed, ekstraktimiseks vähemalt V2.0

Kuigi see tulemus ütleb teile, et fail on arhiivifail, ei tea te faili sisu. Tihendatud failis olevate failide failitüüpide nägemiseks vaadake ZIP-faili. Järgmine käsk käivitab failikäskluse ZIP-failis olevate failide vastu:

fail -z failinimi. 

Väljund näitab nüüd arhiivis olevate failide failitüüpe.