1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383
|
.TH FILE 1 "1997. mrcius 11." "Debian/GNU Linux" "Msolsi jogokkal vdett"
.\" $Id: file.man,v 1.27 1996/06/22 22:05:07 christos Exp $
.SH NV
file \- fjl tpusnak meghatrozsa
.SH TTEKINTS
.B file
[
.B \-vczL
]
[
.B \-f
fjlnvlista ]
[
.B \-m
bvsfjl ]
fjlnv ...
.SH LERS
Ez a kziknyv oldal a
.B file
parancs 3.20.1-es verzijt dokumentlja.
A
.B file
parancs teszteli minden argumentumt s megprblja kategorizlni ezeket.
Hrom teszt sorozatot hajt vgre, a kvetkez sorrendben:
fjlrendzer tesztek, bvsszm (magic number) tesztek, s nyelv tesztek.
Az
.I els
sikeres teszt eredmnye hatrozza meg a program kimenett.
.PP
A kirt eredmny ltalban a kvetkez szavak egyikt fogja tartalmazni:
.B text
(a fjl csak
.SM ASCII
karaktereket tartalmaz, s valsznleg olvashat
.SM ASCII
terminlon),
.B executable
(a fjl program fordts eredmnyt tartalmazza, mely rtelmes valamilyen \s-1UNIX\s0 kernel szmra) vagy
.B data,
ami brmi mst jelenthet (a data tpus ltalban `binris' vagy nem-nyomtathat).
Kivtelt kpeznek a jl ismert binris fjl formtumok (pl. core fjlok, tar
arhvumok).
Ha vltoztatsz a
.I /etc/magic
fjlon vagy magn a programon, tartsd meg ezeket a
.B "kulcsszavakat"\.
A felhasznlk szmtanak arra, hogy ha egy fjl olvashat, akkor a tpusban
megjelenik a ``text'' karakterlnc.
Ne tedd azt, amit a Berkley Egyetemen tettek \- megvltoztttak a ``shell
commands text''\-et ``shell script''\-re.
.PP
A fjlrendszer tesztek eredmnye a
.BR stat (2)
renszerhvson alapul.
A program megnzi, hogy a krdses fjl res-e vagy esetleg valamilyen
specilis fjl-e.
Minden az opercis rendszer ltal ismert fjltpust felismer (socket\-eket,
szimbolikus ktseket vagy "named pipe"\-okat (FIFOkat), mr ha a rendszernk
implementlja ezeket),
ha az definilva van a
.IR sys/stat.h
rendszer fejlc fjlban.
.PP
A bvsszm tesztekkel a program adott lland formtum fjlokat prbl
azonostani.
Erre a legkzenfekvbb plda egy vgrehajthat binris (lefordtott
program)
.I a.out
llomny, aminek a formtumt az
.I a.out.h
tartalmazza,
s esetleg az
.I exec.h
az alaprtelmezett "include" knyvtrban.
Ezek a fjlok tartalmaznak egy bvs szmot, egy adott helyen, valahol a fjl
eleje tjn, ami megmondja a \s-1UNIX\s0 opercis rendszernek,
hogy egy binris futtathat programrl van sz, valamint hogy pontosan melyik
fajtrl ezek kzl.
A `bvs szm' elvt kiterjesztettk ms (binris) adatokat tartalmaz fjlokra is.
ltalban brmilyen fjlt azonosthatunk ezzel a mdszerrel, ha tartalmaz egy lland
azonostt egy meghatrozott (a fjl elejhez kzel lv) helyen.
Az ehhez szksges adatokat a program a
.I /etc/magic
fjlbl olvassa.
.PP
Ha az egyik tesztelt fjl
.SM ASCII
szvegnek tnik,
a
.B file
megprblja a nyelvt megllaptani.
A nyelv tesztek klnleges, a nyelvekre jellemz karakterlncokra keresnek
(lsd
.IR names.h )
a fjl els nhny blokkjban.
Pldul a
.B .br
kulcssz arra enged kvetkeztetni, hogy valsznleg egy
.BR troff (1)
bemeneti fjlrl van sz,
mg a
.B struct
kulcssz C program forrsra utal.
Ezek a tesztek kevsb megbzhatak mint az elz kt csoportban
ismertetettek, ezrt ezeket prblja ki a
.B file
utoljra.
A nyelvi tesztek egybb ellenrzseket is vgeznek (mint pl.
.BR tar (1)
archvumok azonostsa)
s megllaptjk, hogy egy ismeretlen tpus fjl
`ascii text' vagy `data' lerst kapjon-e.
.SH OPCIK
.TP
.I "\-v, \-\-version"
Kirja a program verzijt s kilp.
.TP
.I "\-m, \-\-magic\-file lista"
Msik bvs szmokat tartalmaz fjl/fjlok megadsa.
Tbb fjl esetn a fjl neveket ketts ponttal kell elvlasztani.
.TP
.I "\-z, \-\-uncompress"
Megprbl tmrtett fjlokat is azonostani.
.TP
.I "\-c, \-\-checking\-printout"
Ellenrz nyomtats a bvs szmokat tartalmaz fjlrl. ltalban a
.B \-m
kapcsolval egytt hasznlatos, j bvs szmokat tartalmaz fjl
telepts eltti ellenrzsekor.
.TP
.I "\-f, \-\-files-from fjlnvlista"
A megvizsgland fjlok nevt a
.I fjlnvlista
nev fjlbl olvassa (soronknt egy fjlnv), majd az argumentum listbl.
Vagy a
.I fjlnvlista
vagy legalbb egy fjlnv argumentumnak jelen kell lennie. A szabvnyos
bemenet olvasshoz hasznld a ``-'' jelet a fjlnv argumentum helyn.
.TP 8
.I "\-L, \-\-dereference"
Ezzel a kapcsolval elrhetjk, hogy a
.B file
kvesse a szimblikus ktseket, ahogyan azt az
.BR ls (1)
azonos nev kapcsolja is teszi.
(azokon a rendszereken, amelyek tmogatjk a szimblikus ktseket).
.SH FJLOK
.I /etc/magic
\- bvs szmok alaprtelmezett listja.
.SH KRNYEZET
A
.B MAGIC
krnyezeti vltozval llthatjuk be az alaprtelmezett bvs szmokat
tartalmaz fjlt.
.SH LSD MG
.BR magic (5)
\- bvs fjl formtumnak lersa.
.br
.BR strings (1), " od" (1)
\- nem szveg fjlok elemzsere hasznlt eszkzk.
.SH IGAZODS A SZABVNYHOZ
Ez a program az ltalnos nzet szerint fellmlja a FILE(CMD)-ben szerepl
"System V Interface Definition"-t, mr amennyire ezt abbl meg lehet
hatrozni.
A viselkedse tbbnyire kompatbilis az azonos nev System V programval.
Ez a verzi "jobb bvsz", teht ms (rtsd pontosabb) eredmnnyel szolgl sok
esetben.
.PP
Egy fontos eltrs van ezen verzi s a System V verzija kztt. Ez a verzi
brmilyen szkzt (white space) hatrol karakterknt rtelmez, teht a
karakterlncokban elfordul szkzket ki kell vdeni.
Pldul a
.br
>10 string language impress\ (imPRESS data)
.br
sort egy mr ltez bvs fjlban a kvetkezre kellene lecserlni:
.br
>10 string language\e impress (imPRESS data)
.br
Tovbb, ebben a vltozatban, ha egy minta "backslash" karaktert tartalmaz,
azt ki kell vdeni. Pldul
.br
0 string \ebegindata Andrew Toolkit document
.br
sort egy mr ltez bvs fjlban a kvetkezre kellene cserlni:
.br
0 string \e\ebegindata Andrew Toolkit document
.br
.PP
A Sun Microsystems ltal ksztett SunOS 3.2-es s az azt kvet kiadsai
tartalmaznak egy
.BR file (1)
parancsot, amely a System V parancs egy kibvtett vltozata.
Az n programom s a Sun vltozata kztt csak minimlis az eltrs.
Ebbe beletartozik az `&' opertor hasznlata, mint pldul a kvetkez
esetben:
.br
>16 long&0x7fffffff >0 not stripped
.SH BVS SZMOK GYJTEMNYE
A bvs szmokat klnbz forrsokbl gyjtttem ssze, fleg USENET-rl, s
klnbz szerzktl szrmaznak.
Christos Zoulas (cmt lasd lent) gyjti a tovbbi, vagy javtott bvs fjl
bejegyzseket.
Rendszeresen frisstjk s kzz tesszk a bvs fjl bejegyzsit.
.PP
A bejegyzsek sorrendje a bvs fjlban fontos, s vltozhat az opercis
renszer fggvnyben. gy egy rgebbi
.B file
programhoz tartoz bvs fjlt rdemes megtartani, sszehasonltsi alapnak.
(nevezd t pl.
.IR /etc/magic.orig \-ra).
.SH TRTNET
Minden \s-1UNIX\s0 tartalmazza a
.B file
parancsot, legalbbis a Research Version 6 ta biztosan (kziknyv oldal
kelte: 1975. janur).
A System V vltozata egy lnyeges vltozst vonzott magval: a bvs szmok
kls fjlban val trolst.
Ez egy kicsit lasstott a programon, de sokkal rugalmasabb tette.
.PP
Ezt a programot a System V vltozat alapjn Ian Darwin ksztette, a nlkl,
hogy brkinek a forrskdjt ltta volna.
.PP
John Gilmore tzetesen tnzte a kdot, s javtott rajta az els vltozathoz
kpest.
Geoff Collyer tallt benne tbb pontatlansgot, s nhny bejegyzssel
gyaraptotta a bvs fjlt.
A program azta is folyamatos fejleszts alatt ll.
.SH SZERZK
rta Ian F. Darwin, UUCP cme {utzoo | ihnp4}!darwin!ian,
e-mail cme ian@sq.com,
postai cme: P.O. Box 603, Station F, Toronto, Ontario, CANADA M4Y 2L8.
.PP
Vltoztatott rajta Rob McMahon, cudcv@warwick.ac.uk, 1989-ben. Kiterjesztette
a `&' opertor hasznlatt az egyszer
`x&y != 0'-rol `x&y op z'-ra.
.PP
Tovbbi vltoztatsokat csinlt Guy Harris, guy@auspex.com, 1993-ban:
.RS
.PP
visszalltotta a ``rgi fajta'' `&' opertort mert 1) Rob McMahon
vltoztatsa eltrt a megszokott haszlattl, 2) a SunOS ``j fajta'' `&'
opertora, amelyet ez a
.B file
verzi is tmogat, szintn kezeli a `x&y op z' mveletet s 3) egybkent is,
Rob vltoztatsa nem volt dokumentlva;
.PP
beptett tbb `>' szintet;
.PP
beptette a ``beshort'', ``leshort'', stb. kulcsszavakat,
hogy a program egy meghatrozott byte sorrendben olvassa a szmokat a fjlbl s ez a
sorrend ne a
.BR file\-t
futtat processz eredend bjt sorrendjtl fggjn.
.RE
.PP
Tovbbi vltoztatsok Ian Darwin valamint klnbz ms szerzk ltal, belertve Christos Zoulas-t (christos@ee.cornell.edu),
1990-1992-ben.
.SH MSOLSI JOGOK
Copyright (c) Ian F. Darwin, Toronto, Canada,
1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993.
.PP
Ezrt a programrt nem krhetnek licensz djat sem most, sem a jvben a
kvetkez cgek:
az American Telephone and Telegraph Company, a Sun
Microsystems Inc., a Digital Equipment Inc., a Lotus Development Inc., a
Kaliforniai Egyetem Vezetsge, az X Consortium vagy az MIT, s a Free
Software Foundation.
.PP
Erre a szoftverre nem vonatkoznak az Egyeslt llamok Kereskedelmi
Minisztriumnak export tilalmai, gy szabadon exportlhat brmelyik
orszgba, vagy brmelyik bolygra.
.PP
Brki hasznlhatja brmilyen clra, brmilyen szmtgpen ezt a szoftvert,
megvltoztathatja s tovbbadhatja szabadon a kvetkez korltozsokkal:
.PP
1. A szerz nem felels a szoftver hasznlatnak kvetkezmnyeirt, brmilyen
slyosak legyenek is, akkor sem ha a programban lv hibbl erednek.
.PP
2. E szoftver eredett nem szabad hamisan feltntetni, sem kifejezett
lltssal, sem az eredeti szerzk szemlynek elhallgatsval.
Mivel nagyon kevs felhasznl olvas forrs kdot, a dokumentcinak tartalmaznia kell a szerzk adatait.
.PP
3. Megvltoztatott verzikra vilgosan fel kell hvni a figyelmet, s nem
szabad ket az eredeti szoftverrel azonosknt feltntetni.
Mivel nagyon kevs felhasznl olvas forrs kdot, a dokumentcinak tartalmaznia kell a szerzk adatait.
.PP
4. Ezt a kzlemnyt nem szabad eltvoltani, vagy megvltoztatni.
.PP
Nhany ezzel a csomaggal osztott szksges fjlt
(\fIgetopt\fP, \fIstrtok\fP)
Henry Spencer rt, s a fenti szablyozsok vonatkoznak rjuk.
.PP
Nhany egybb fjl (\fIstrtol\fP, \fIstrchr\fP)
szintn ebbl a csomagbl "public domain" al tartozik.
.PP
A
.I tar.h
s
.I is_tar.c
fjlokat John Gilmore rta a sajt "public-domain" al tartoz
.B tar
programja alapjn, gy ezekre nem vonatkoznak a fenti korltozsok.
.SH HIBK
Kell legyen egy jobb mdja a bvs fjl automatikus ellltsnak. Hogy
hogyan? St, a bvs fjlt le lehetne fordtani valamilyen binris formtumba
(mondjuk pl.
.BR ndbm (3)
vagy , mg jobb, lland hosszsg
.SM ASCII
karakterlncok formjaba, hogy heterogn hlzati krnyezetben is lehessen
hasznlni)
a program gyorsabb indulsa vgett.
Ekkor a program olyan gyorsan futna mint a Version 7-es vltozat s mgis
megrzn a System V vltozat rugalmassgt.
.PP
A
.B file
tbb olyan algoritmust hasznl, amik elnyben rszestik a gyorsasgot a
pontossggal szemben, ezrt a program eredmnye nha pontatlan
.SM ASCII
fjlok esetben.
.PP
Az
.SM ASCII
fjlok tmogatottsga (fleg programozsi nyelvek esetn)
nagyon fapados, nem hatkony, s vltoztats esetn jrafordtst ignyel.
.PP
Implementlni kellene az ``else'' gakat.
.PP
A bvs fjlnak s a kulcsszavaknak tmogatniuk kellene a szablyos
kifejezseket (regular expressions). Az
.SM "ASCII TAB"
hasznlata mezk elvlasztsnl csnya, s nehz miatta a fjlok szerkesztse.
.PP
Lehet, hogy tancsos lenne a nagy betk engedlyezse a kulcsszavakban, pl.
.BR troff (1)
parancsok a kziknyv oldal makrk helyett.
Szablyos kifejezsek hasznlata ezt egyszerv tenn.
.PP
A program nem ismeri fel a \s-2FORTRAN\s0 fjlokat.
Felismerhetn ket nhny kulcssz alapjn, amelyek a sor elejn fordulnak
el.
Szablyos kifejezsek hasznlata ezt is egyszerv tenn.
.PP
Az
.I ascmagic
fjlban tallhat kulcsszavak listja valsznleg inkbb a bvs fjlba
tartozik.
Ezt meg lehetne csinlni pl. egy `*' kulcsszval az offset rtk helyn.
.PP
Mg egy optimalizlsi lehetsg lenne a bvs fjl rendezse. gy
lefuttathatnnk minden tesztet az els bjtra, az els szra, az els longra
stb. amint azt egyszer beolvastuk.
Panaszkodhatna a program ha sszefrhetetlen bejegyzseket tall a bvs
fjlban.
A bvs fjl bejegyzseit a fjl offset szerint kellene rendezni?
.PP
A programnak valahogy meg kellene mondania, hogy ``mennyire j'' az eredmny.
Vgl figyelmen kvl hagyna bizonyos tallgatsokat (pl. ``From:'' a fjl
els 5 karaktere) mert nem olyan biztosak mint ms tallgatsok (pl.
``Newsgroup:'' a ``Return-Path:''\-al szemben.) Amennyiben a tbbi prba nem
jn be, az els (kevsb biztos) tallat alapjn meg lehet mondani milyen
fjlrl van sz.
.PP
Ez a program lassabb mint a msok ltal forgalmazott file programok.
.PP
Ez a kziknyv oldal, fleg ez a rsze, tl hossz.
.SH ELRHTSG
A eredeti program legfrissebb vltozata elrhet a szerznl:
ftp://tesla.ee.cornell.edu/pub/file/ , de ez lehet, hogy nem mkdik.
Megprblhatod az ftp://ftp.deshaw.com/pub/file/ \-t vagy legvgs esetben az
ftp://ftp.uu.net/pub/FreeBSD/FreeBSD\-current/src/usr.bin/file/\-t.
.PP
Ez a
.B Debian
vltozat megrti a hossz kapcsolkat, s nhany hibval kevesebb van benne.
Elrhet minden
.B Debian
disztibcit tartalmaz helyrl (ftp.debian.org/mirrors).
.SH MAGYAR FORDTS
Kovcs Emese <emese@eik.bme.hu>
|