„File (Unix)” változatai közötti eltérés

[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
Addbot (vitalap | szerkesztései)
a Bot: 13 interwiki link migrálva a Wikidata d:q181820 adatába
Nincs szerkesztési összefoglaló
1. sor:
{{kisbetűscím}}
A '''<tt>file</tt>''' egy standard [[Unix]] parancs, mely a fájl típusának meghatározására használható.
 
== Története ==
7. sor:
Ezt a programot a System V változat alapján Ian Darwin készítette, a nélkül, hogy bárkinek a forráskódját látta volna.
 
John Gilmore tüzetesen átnézte a kódot, és javított rajta az első változathoz képest. Geoff Collyer talált benne több pontatlanságot, és néhány bejegyzéssel gyarapította a bűvös fájlt. A program azóta is folyamatos fejlesztés alatt áll.
 
== Használata ==
A parancs általános alakja:
'''file''' [ -vczL ] [ -f fájlnévlista ] [ -m bûvösfájlbűvösfájl ] fájlnév ...
 
A '''file''' parancs teszteli minden argumentumát és megpróbálja kategorizálni ezeket. Három teszt sorozatot hajt végre, a következõkövetkező sorrendben: fájlrendszer tesztek, bűvösszám (magic number) tesztek, és nyelv tesztek. Az első sikeres teszt eredménye határozza meg a program kimenetét.
 
A kiírt eredmény általában a következő szavak egyikét fogja tartalmazni: '''text''' (a fájl csak karaktereket tartalmaz, és valószínűleg olvasható terminálon), '''executable''' (a fájl program fordítás eredményét tartalmazza, mely értelmes valamilyen [[UNIX]] kernel számára) vagy '''data''', ami bármi mást jelenthet (a data típus általában `bináris' vagy nem-nyomtatható). Kivételt képeznek a jól ismert bináris fájl formátumok (pl. core fájlok, tar archívumok). Ha változtatsz a '''/etc/magic''' fájlon vagy magán a programon, tartsd meg ezeket a "kulcsszavakat".
 
A fájlrendszer tesztek eredménye a '''stat''' renszerhívásonrendszerhíváson alapul. A program megnézi, hogy a kérdéses fájl üres-e vagy esetleg valamilyen speciális fájl-e. Minden az [[operációs rendszer]] által ismert fájltípust felismer (socket-eket, szimbolikus kötéseket vagy "named pipe"-okat (FIFOkat), már ha a rendszerünk implementálja ezeket), ha az definiálva van a sys/stat.h rendszer fejléc fájlban.
 
A bűvösszám tesztekkel a program adott állandó formátumú fájlokat próbál azonosítani. Erre a legkézenfekvőbb példa egy végrehajtható bináris (lefordított program) a.out állomány, aminek a formátumát az a.out.h tartalmazza, és esetleg az exec.h az alapértelmezett "include" könyvtárban. Ezek a fájlok tartalmaznak egy bűvös számot, egy adott helyen, valahol a fájl eleje táján, ami megmondja a UNIX operációs rendszernek, hogy egy bináris futtatható programról van szó, valamint hogy pontosan melyik fajtáról ezek közül. A ’bűvös szám’ elvét kiterjesztették más (bináris) adatokat tartalmazó fájlokra is. Általában bármilyen fájlt azonosíthatunk ezzel a módszerrel, ha tartalmaz egy állandó azonosítót egy meghatározott (a fájl elejéhez közel lévő) helyen. Az ehhez szükséges adatokat a program a /etc/magic fájlból olvassa.
 
Ha az egyik tesztelt fájl szövegnek tűnik, a file megpróbálja a nyelvét megállapítani. A nyelv tesztek különleges, a nyelvekre jellemző karakterláncokra keresnek (lásd names.h ) a fájl első néhány blokkjában. Például a
kulcsszó arra enged következtetni, hogy valószínűleg egy troff (1) bemeneti fájlról van szó, míg a struct kulcsszó C program forrásra utal. Ezek a tesztek kevésbé megbízhatóak mint az elõzõelőző két csoportban ismertetettek, ezért ezeket próbálja ki a file utoljára. A nyelvi tesztek egyéb ellenőrzéseket is végeznek (mint pl. tar (1) archívumok azonosítása) és megállapítják, hogy egy ismeretlen típusú fájl ’ascii text’ vagy ’data’ leírást kapjon-e.
 
== Opciók ==
*'''-v, --version'''
Kiírja a program verzióját és kilép.
 
*'''-m, --magic-file lista '''
Másik bűvös számokat tartalmazó fájl/fájlok megadása. Több fájl esetén a fájlneveket kettősponttal kell elválasztani.
 
*'''-z, --uncompress '''
Megpróbál tömörített fájlokat is azonosítani.
 
*'''-c, --checking-printout '''
EllenõrzõEllenőrző nyomtatás a bűvös számokat tartalmazó fájlról. Általában a -m kapcsolóval együtt használatos, új bûvösbűvös számokat tartalmazó fájl telepítés elõttielőtti ellenõrzésekorellenőrzésekor.
 
*'''-f, --files-from fájlnévlista '''
A megvizsgálandó fájlok nevét a fájlnévlista nevű fájlból olvassa (soronként egy fájlnév), majd az argumentum listából. Vagy a fájlnévlista vagy legalább egy fájlnév argumentumnak jelen kell lennie. A szabványos bemenet olvasásához használd a ``-'' jelet a fájlnév argumentum helyén.
 
*'''-L, --dereference '''
49. sor:
# file program
program: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked
(uses shared libs), stripped