Kako določiti vrsto datoteke datoteke z Linuxom

Večina ljudi gleda na razširitev datoteke in nato uganiti vrsto datoteke s te razširitve. Na primer, ko vidite datoteko z razširitvijo gifa, jpg, bmp ali png, si mislite na slikovno datoteko in če vidite datoteko z razširitvijo zipa, predpostavite, da je bila datoteka stisnjena z uporabo orodja za stiskanje zip .

V resnici lahko datoteka ima eno razširitev, vendar je nekaj povsem drugačna in če datoteka nima razširitve, kako lahko določite vrsto datoteke?

V Linuxu lahko poiščete pravo vrsto datoteke z ukazom file.

Kako deluje ukaz za datoteke

Glede na dokumentacijo ukaz za datoteko izvaja tri vrste testov proti datoteki:

Prvi niz preizkusov za vrnitev veljavnega odziva povzroči tiskanje vrste datoteke.

Preizkusi datotečnega sistema preverjajo vrnitev iz statičnega sistemskega klica. Program preveri, ali je datoteka prazna in ali je to posebna datoteka. Če je vrsta datoteke najdena v datoteki glave sistema, bo vrnjena kot veljavna vrsta datoteke.

Čarobni testi preverijo vsebino datoteke in še posebej nekaj bajtov na začetku, ki pomagajo določiti vrsto datoteke. Obstajajo različne datoteke, ki se uporabljajo za ujemanje datoteke s svojo vrsto datoteke in so shranjene v / etc / magic, / usr / share / misc / magic.mgc, / usr / share / misc / magic. Te datoteke lahko preglasite z namestitvijo datoteke v domačo mapo, imenovano $ HOME / .magic.mgc ali $ HOME / .magic.

Končni testi so jezikovni testi. Datoteka se preveri, ali je datoteka z besedilom. S preizkusom prvih nekaj bajtov datoteke lahko ugotovite, ali gre za ASCII, UTF-8, UTF-16 ali v drugem formatu, ki določa datoteko kot besedilno datoteko. Ko je določen niz znakov, se datoteka preskusi z različnimi jeziki. Na primer je datoteka ac program.

Če noben od testov ne deluje, je izhod preprosto podatkov.

Kako uporabljati ukaz za datoteke

Ukaz datoteke lahko uporabite, kot sledi:

datoteko filename

Predstavljajte si, da imate datoteko, imenovano file1, zagnali naslednji ukaz:

file1

Rezultat bo nekaj takega:

file1: podatki PNG, 640 x 341, 8-bitni / barvni RGB, neprepleteni

Prikazani izhod določa datoteko1 kot slikovno datoteko ali natančneje prenosno omrežno grafično datoteko (PNG).

Različne vrste datotek zagotavljajo različne rezultate, kot sledi:

Prilagodite izhod iz ukaza datoteke

Privzeto ukaz za datoteko podaja ime datoteke in vse podrobnosti nad datoteko. Če želite le podrobnosti, ne da bi se ime datoteke ponovilo, uporabite naslednje stikalo:

datoteko -b datoteka1

Rezultat bo nekaj takega:

Podatki o sliki PNG, 640 x 341, 8-bitni / barvni RGB, neprepleteni

Prav tako lahko spremenite ločilo med datoteko in vrsto.

Privzeto je ločilo debelo črevo (:), vendar ga lahko spremenite na vse, kar vam je všeč, na primer simbol cevi, kot sledi:

datoteka -F '|' file1

Rezultat bo zdaj nekaj takega:

file1 | Podatki o sliki PNG, 640 x 341, 8-bitni / barvni RGB, neprepleteni

Ravnanje z več datotekami

Privzeto boste z ukazom datoteke uporabili eno datoteko. Lahko pa določite ime datoteke, ki vsebuje seznam datotek, ki jih bo obdelal ukaz:

Kot primer odprite datoteko, imenovano testfiles, z uporabo urejevalnika nano in dodajte te vrstice:

Shranite datoteko in zaženite naslednji ukaz datoteke:

datoteka -f testfiles

Rezultat bo nekaj takega:

/ etc / passwd: besedilo ASCII
/etc/pam.conf: besedilo ASCII
/ etc / opt: imenik

Stisnjene datoteke

Privzeto, ko zaženete ukaz datoteke proti stisnjeni datoteki, boste videli naslednje:

file.zip: ZIP arhivni podatki, vsaj V2.0 za ekstrakcijo

Čeprav vam to pove, da je datoteka arhivska datoteka, za katero dejansko ne poznate vsebine datoteke. Znotraj datoteke zip si lahko ogledate datoteke vrste datotek v stisnjeni datoteki.

Naslednji ukaz zažene ukaz datoteke proti datotekam znotraj ZIP datoteke:

datoteka -z ime datoteke

Izhod bo zdaj prikazal vrste datotek v arhivu.

Povzetek

Na splošno bo večina ljudi enostavno preprosto uporabila ukaz datoteke, če najde osnovno vrsto datoteke, a če želite izvedeti več o vseh možnostih, ki jih ponuja ukaz datoteka, v okno terminala vnesite naslednje:

man datoteko