File: file.1

package info (click to toggle)
manpages-hu 20010119-6
  • links: PTS
  • area: main
  • in suites: buster, stretch
  • size: 2,272 kB
  • ctags: 2
  • sloc: makefile: 56; lisp: 56
file content (383 lines) | stat: -rw-r--r-- 13,464 bytes parent folder | download | duplicates (5)
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>