Határozzon meg egy fájltípust a „file” Linux parancs segítségével

A legtöbben megnézik a egy fájl kiterjesztése majd találja ki a fájl típusát az adott kiterjesztésből. Például amikor egy gif, jpg, bmp vagy png kiterjesztésű fájlt lát, egy Képfájl, és ha egy zip kiterjesztésű fájlt lát, akkor feltételezi, hogy a fájl tömörítése a zip tömörítési segédprogram.

Egy fájl használhat egy kiterjesztést, de valami egészen más. A Linux nem használ fájlkiterjesztéseket; inkább a fájl típusa a fájlnév része. A valódi fájltípus meghatározásához használja a fájlt parancs.

Linux fájl parancs

Hogyan működik a „file” parancs

A fájl parancs három tesztsorozatot futtat egy fájlon:

  • Fájlrendszer tesztek
  • Mágikus tesztek
  • Nyelvvizsgák

Az érvényes választ visszaadó első tesztkészlet a nyomtatandó fájltípust kéri.

A fájlrendszertesztek megvizsgálják a stat rendszerhívásból származó visszatérést. A program ellenőrzi, hogy a fájl üres-e, és hogy speciális fájl-e. Ha a fájltípus megtalálható a rendszer fejlécfájljában, akkor a rendszer érvényes fájltípusként adja vissza.

A mágikus tesztek ellenőrzik a fájl tartalmát, és különösen néhány bájtot az elején, amelyek segítenek meghatározni a fájl típusát. Különféle fájlokat használnak a fájlok és a fájltípusok egyeztetésére, és ezek a következő helyen tárolódnak:

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

Felülírhatja ezeket a fájlokat úgy, hogy elhelyez egy fájlt a saját mappájába $HOME/.magic.mgc vagy $HOME/.magic.

Az utolsó vizsgák nyelvvizsgák. A fájl ellenőrzi, hogy szöveges-e. A fájl első néhány bájtjának tesztelésével a teszt megállapítja, hogy a fájl ASCII, UTF-8, UTF-16 vagy más formátumú-e, amely a fájlt szövegfájlként azonosítja. A karakterkészlet kikövetkeztetésekor a fájlt különböző nyelveken tesztelik.

A 'file' parancs használata

Az fájlt parancs a következő formában ölthető:

fájl fájlnév. 

Például egy fájlcím típusának ellenőrzéséhez touch.svg, hajtsa végre a következő parancsot:

touch.svg fájl. 

A kimenet valami ilyesmi:

  • touch.svg: SVG Scalable Vector Graphics kép

A különböző fájltípusok eltérő eredményeket adnak, például:

  • ODS fájltípus: OpenDocument Spreadsheet
  • PDF fájltípus: PDF dokumentum, 1.4-es verzió
  • CSV fájltípus: ASCII szöveg, nagyon hosszú sorokkal, CRLF sorjelzőkkel

Több fájl kezelése

Alapértelmezés szerint a fájl parancs egyetlen fájllal működik. Megadhat azonban egy fájlnevet, amely tartalmazza a feldolgozandó fájlok listáját fájlt parancs.

Például nyisson meg egy fájlt tesztfájlok használni a nano szerkesztő és add hozzá a következő sorokat:

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

Mentse el a fájlt, és futtassa a következő fájlparancsot:

fájl -f tesztfájlok. 

A kimenet valami ilyesmi lesz:

  • /etc/passwd: ASCII szöveg
  • /etc/pam.conf: ASCII szöveg
  • /etc/opt: könyvtár

Egy másik módszer a fájlt parancsot egyszer, de több célt megadva. Például:

fájl /etc/passwd /etc/pam.conf /etc/opt

A kimenet valami ilyesmi lesz:

  • /etc/passwd: ASCII szöveg
  • /etc/pam.conf: ASCII szöveg
  • /etc/opt: könyvtár

A normál helyettesítő karakterek is működnek. Például az aktuális munkakönyvtár összes fájljának teszteléséhez használja a következőket:

fájl *

A D betűvel kezdődő (kis- és nagybetűk megkülönböztetése) könyvtárak teszteléséhez próbálkozzon a következővel:

fájl D*

Az eredmények például az asztali számítógép, a dokumentumok és a letöltések lehetnek.

Tömörített fájlok

Amikor futtatja a fájlt parancs egy tömörített fájlra, valami ilyesmit lát:

  • file.zip: ZIP-archívum adatok, legalább V2.0 kibontáshoz

Bár ez az eredmény azt jelzi, hogy a fájl egy archív fájl, nem ismeri a fájl tartalmát. A tömörített fájlban lévő fájlok fájltípusainak megtekintéséhez tekintse meg a zip fájlt. A következő parancs futtatja a fájl parancsot a ZIP-fájlban lévő fájlok ellen:

fájl -z fájlnév. 

A kimenet most az archívumban lévő fájlok fájltípusait mutatja.