Hogyan lehet meghatározni a fájl típusát Linux alatt?

A legtöbb ember megvizsgálja a fájl kiterjesztését, majd kitalálja a fájl típusát a kiterjesztésből. Például amikor egy gif, jpg, bmp vagy png kiterjesztéssel rendelkező fájlt lát, képfájlra gondol, és amikor egy zip kiterjesztéssel rendelkező fájlt lát, azt feltételezi, hogy a fájlt tömörített segédprogrammal tömörítették .

Valójában egy fájlnak lehet egy kiterjesztése, de valami teljesen más, és ha egy fájlnak nincs kiterjesztése, hogyan határozhatja meg a fájltípust?

A Linuxban a fájl parancs segítségével megtalálhatja az igazi fájltípust.

Hogyan működik a fájl parancs?

A dokumentáció szerint a fájl parancs három fájlt próbál meg egy fájl ellen:

Az érvényes válasz visszaküldésére szolgáló tesztek első csoportja kinyomtatja a fájltípust.

A fájlrendszer tesztjei megvizsgálják a stat rendszerhívásból való visszatérést. A program ellenőrzi, hogy a fájl üres-e, és hogy egy speciális fájl. Ha a fájl típusát megtalálja a rendszer fejlécfájljában, akkor az érvényes fájltípusként fog megjelenni.

A mágikus tesztek ellenőrzik a fájl tartalmát, és kifejezetten néhány byte-ot az elején, amelyek segítenek meghatározni a fájltípust. Különféle fájlok vannak, amelyek segítenek egy fájl fájl típusának illesztésében, és ezeket az / etc / magic, / usr / share / misc / magic.mgc, / usr / share / misc / magic könyvtárban tárolják. Ezeket a fájlokat felülbírálhatja úgy, hogy elhelyez egy fájlt a HOME HOME / .magic.mgc vagy a $ HOME / .magic nevű home könyvtárba.

A végleges tesztek nyelvi tesztek. A fájl ellenőrzi, hogy ez egy szöveges fájl. A fájl első néhány bájtjának tesztelésével arra lehet következtetni, hogy ASCII, UTF-8, UTF-16 vagy más formátumú-e, amely a fájlt szövegfájlként határozza meg. Miután a karakterkészletet levonták, a fájlt különböző nyelvek ellen tesztelik. Például a fájl ac program.

Ha egyik teszt sem működik, a kimenet egyszerűen adatok.

A fájl parancs használata

A fájl parancs a következőképpen használható:

fájl fájlnév

Például képzeljük el, hogy van egy file1 fájl, akkor futtatni a következő parancsot:

fájl fájl1

A kimenet így lesz:

file1: PNG képadat, 640 x 341, 8 bites / színes RGB, nem átlapolt

Az ábrázolt kimenet meghatározza, hogy a fájl1 képfájl, vagy pontosabban egy hordozható hálózati grafikus (PNG) fájl.

A különböző fájltípusok különböző eredményeket produkálnak az alábbiak szerint:

Testreszabása a kimenetről a fájl parancsból

Alapértelmezés szerint a fájl parancs adja meg a fájl nevét, majd a fájl feletti összes részletet. Ha a fájlnevet csak annyiszor ismételni kívánja, használja a következő kapcsolót:

fájl -b fájl1

A kimenet így lesz:

PNG képadatok, 640 x 341, 8 bites / színes RGB, nem átlapolt

A fájlnév és a típus közötti különbséget is megváltoztathatja.

Alapértelmezés szerint a határoló egy kettőspont (:), de tetszés szerint megváltoztathatja azt, amit szeretne, pl. A csőszimbólum az alábbiak szerint:

file -F '|' fájl1

A kimenet most valami ilyesmi lesz:

fájl1 | PNG képadatok, 640 x 341, 8 bites / színes RGB, nem átlapolt

Több fájl kezelése

Alapértelmezés szerint a fájl parancsot egyetlen fájl ellen használja. Megadhat egy fájlnevet, amely a fájl parancs által feldolgozandó fájlok listáját tartalmazza:

Példaként nyissunk meg egy fájlt a tesztfájloknak a nano-szerkesztő használatával és adjuk hozzá ezeket a sorokat hozzá:

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

file -f tesztfájlok

A kimenet így lesz:

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

Tömörített fájlok

Alapértelmezés szerint, amikor a fájl parancsot futtatja egy tömörített fájllal szemben, megjelenik valami ilyesmi:

file.zip: ZIP archiválási adatok, legalább V2.0 kibontáshoz

Bár ez azt mondja, hogy a fájl egy olyan archív fájl, amelyet nem igazán ismersz a fájl tartalmáról. A tömörített fájlon belül megtekintheti a fájlok fájltípusait a zip fájlban.

A következő parancs futtatja a fájl parancsot a ZIP fájlon belüli fájlok ellen:

file -z fájlnév

A kimenet mostantól megjeleníti a fájlok fájltípusait az archívumban.

összefoglalás

Általában a legtöbb ember egyszerűen csak használja a fájl parancsot, hogy megtalálja az alapvető fájltípust, de ha többet szeretne megtudni a fájl parancs összes lehetőségéről, írja be a terminál ablakba a következőket:

ember fájl