Provided by:
manpages-nl_20051127-4_all
NAAM
file - bepaal bestand soort
SYNOPSIS
bestand [ -bcnsvzL ] [ -f naambestand ] [ -m magischbestand ] bestand
...
BESCHRIJVING
Deze handleiding beschrijft versie 3.27 van de file opdracht. File
test elk argument in een poging het te klassificeren. Er zijn drie
testen, afgewerkt in deze volgorde: bestandsysteem testen, magische
nummer testen en taal testen. De eerste test die slaagt zorgt dat de
bestandsoort wordt afgedrukt.
De soort die afgedrukt wordt zal gewoonlijk één van de woorden text
(het bestand bevat alleen ASCII karakters en is waarschijnlijk veilig
om te lezen op een ASCII terminal), executable (het bestand bevat het
resultaat van het compileren van een programma in een vorm die begri‐
jpelijk is voor een of andere UNIX kernel), of data betekenend al het
andere (data is gewoonlijk ‘binair’ of niet-afdrukbaar). Uitzonderin‐
gen zijn algemeen bekende bestandsvormen (core bestanden, tar
archieven) waarvan bekend is dat ze binaire data bevatten. Bij toevoe‐
gen van locale definities aan /etc/magic, behoudt deze sleutelwoorden.
Mensen vertrouwen op het feit dat bij alle leesbare bestanden in een
directorie het woord ‘‘text’’ afgedrukt wordt. Doe niet zoals Berkeley
deed - veranderen van ‘‘shell commands text’’ in ‘‘shell script’’.
De bestandsysteem tests zijn gebaseerd op het onderzoeken van de eind‐
waarde van een stat(2) systeem aanroep. Het programma test om te zien
of een bestand leeg is, of dat het een soort speciaal bestand is. Elke
bekende bestand soort die toepasselijk is op het systeem waar u op
draait (sockets, symbolische koppelingen, benoemde pijpen (FIFOs) op
systemen die dat implementeren) worden opgemerkt als ze zijn ged‐
ifinieerd in het systeem header bestand sys/stat.h.
De magische nummer tests worden gebruikt om te testen op bestanden met
gegevens in bepaalde vaste vormen. Het meest in het oog springende
voorbeeld hiervan is een binair uitvoerbaar bestand (gecompileerd pro‐
gramma) a.out bestand, wiens vorm gedefinieerd is in a.out.h en
mogelijk exec.h in de standaard ‘include’ directorie. Deze bestanden
hebben een ‘magisch nummer’ opgeslagen op een vaste plaats vlakbij het
begin van het bestand, dat het UNIX besturingssysteem verteld dat het
bestand een binair executeerbare is en welke van verschillende soorten
daarvan. Het ‘magisch nummer’ concept wordt ook als uitbreiding hierop
toegepast op data bestanden. Elk bestand met een onveranderlijke iden‐
tificeerder op een kleine vaste afstand van het begin van het bestand
kan gewoonlijk beschreven worden op deze manier. De informatie in deze
bestanden wordt standaard gelezen van het magische bestanden bestand
/etc/magic en /usr/share/misc/magic.
Als een argument een ASCII bestand blijkt te zijn dan probeert file om
de taal te raden. De taal tests zoeken naar bepaalde strings (cf
names.h) die ergens in de eerste paar blokken van het bestand kunnen
voorkomen. Bijvoorbeeld het sleutelwoord .br betekend hoogstwaarschi‐
jnlijk dat het bestand een troff(1) invoer bestand is, net zoals het
sleutelwoord struct een C programma aangeeft. Deze tests zijn minder
betrouwbaar dan de eerdere twee groepen, dus worden ze als laatste uit‐
gevoerd. De taal routines testen ook wat andere dingen (zoals tar(1)
archieven) en bepalen of een onbekend bestand ‘ascii text’ of ‘data’
genoemd moet worden).
OPTIES
-b, --brief
{--kort} Zet geen bestandsnamen vóór uitvoerregels.
-c, --checking-printout
{--test-afdrukken} Zorgt dat een afdruk gegeven wordt van de
verwerkte vorm van het magische bestand. Dit wordt gewoonlijk
gebruikt in samenwerking met -m om een nieuw magisch bestand te
debuggen voordat het geïnstalleerd wordt.
-f, --files-from NAMENBESTAND
{--bestanden-van} Lees de namen van de te onderzoeken bestanden
van NAMENBESTAND (één per regel) vóór de argumenten lijst.
NAMENBESTAND Of tenminste één bestandnaam argument moet aan‐
wezig zijn; om de standaard invoer te testen, gebruik ‘‘-’’ als
een bestandnaam argument.
-m, --magic-file LIJST
{--magisch-bestand} Geef een alternatieve lijst van bestandsna‐
men op die magische nummers bevat. Dit kan een enkel bestand
zijn, of een dubbelepunten gescheiden lijst van bestanden.
-n, --no-buffer
{--geen-buffer} Dwing doorspoelen van standaarduitvoer na het
onderzoeken van een bestand. Dit is alleen zinvol als een
lijst bestanden wordt onderzocht. Het is bedoeld om door pro‐
gramma’s gebruikt te worden wanneer ze de bestands-soort
uitvoer van een pijp willen.
-z, --uncompress
{--decomprimeer} Probeer in gecomprimeerde bestanden te kijken.
-L, --dereference
{--verwijzing} Deze optie zorgt dat symbolische koppelingen
worden gevolgd, net als dezelfde optie voor ls(1).
-s, --special-files
{--speciale-bestanden} Gewoonlijk probeert file alleen
bestanden te lezen om het soort te bepalen voor bestanden die
stat(2) als gewone bestanden raporteerd. Dit voorkomt proble‐
men omdat lezen van speciale bestanden vreemde concequenties
kan hebben. Opgeven van de -s optie zorgt dat file ook de
argumentbestanden leest die blok- of karakter-speciale
bestanden zijn. Dit is zinvol om het bestandsysteemsoort van de
gegevens in rauwe schijf partities te bepalen, die blok-spe‐
ciale bestanden zijn. Deze optie zorgt dat file de bestandsg‐
rootte zoals gegeven door stat(2) negeert omdat dat op sommige
systemen nul raporteert voor rauwe schijf partities.
--help {--hulp} Geef een hulp bericht en eindig.
--version
{--versie} Geef versie inlichtingen en eindig.
BESTANDEN
/usr/share/misc/magic
Standaard lijst magische nummers.
/etc/magic
Locale toevoegingen aan magische wijsheid.
OMGEVING
De omgevingsvariabele MAGIC kan gebruikt worden om het standaard magis‐
che nummers bestand te zetten.
magic(5) - beschrijving van magische bestandsvormen.
strings(1), od(1), hexdump(1) - gereedschappen voor het onderzoeken van
niet-tekstbestanden.
Men denkt dat dit programma de System V Interface Definitie van
FILE(CMD) overstijgt, voor zover dat te bepalen is uit de vage taal
daarin. Zijn gedrag is voor het grootste gedeelte overeenkomstig met
het System V programma met dezelfde naam. Deze versie kent echter meer
magie, dus zal het vaak andere (hoewel preciesere) uitvoer produceren
in veel gevallen.
Het enige echte verschil tussen deze versie en System V is dat deze
versie witruimte als een begrenzer behandeld, zodat spaties in patroon-
strings geëscape’t moeten worden. Bijvoorbeeld:
>10 string language impress (imPRESS data)
in een bestaand magisch bestand zal veranderd moeten worden in
>10 string language\ impress (imPRESS data)
In aanvulling hierop (in deze versie), als een patroonstring een back‐
slash bevat moet het geëscape’t worden. Bijvoorbeeld:
0 string \begindata Andrew Toolkit document
in een bestaand magisch bestand zal veranderd moeten worden in
0 string \\begindata Andrew Toolkit document
SunOS uitgave 3.2 en later van Sun Microsystems heeft een file(1)
opdracht afgeleidt van die van System V, maar met enige uitbreidingen.
Mijn versie verschilt weinig van die van Sun. Het heeft de ‘&’ opera‐
tor uitbreiding, gebruikt als in bijvoorbeeld:
>16 long&0x7fffffff >0 not stripped
De magische bestand-ingangen zijn verzameld van verschillende bronnen,
vooral USENET, en aangereikt door verschillende auteurs. Christos
Zoulas (adres onder) ontvangt aanvullingen of bijgewerkte magische
bestand-ingangen. Een consolidatie van magische bestand-ingangen zal
periodiek verspreidt worden.
De volgorde van ingangen in het magische bestand is belangrijk.
Afhankelijk van welk systeem u gebruikt kan de volgorde waarin ze bij
elkaar gezet zijn verkeerd zijn.
VOORBEELDEN
$ file bestand.c bestand /dev/hda
bestand.c: C program text
bestand: ELF 32-bit LSB executable, Intel 80386, version 1,
dynamically linked, not stripped
/dev/hda: block special
$ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10}
/dev/hda: x86 boot sector
/dev/hda1: Linux/i386 ext2 filesystem
/dev/hda2: x86 boot sector
/dev/hda3: x86 boot sector, extended partition table
/dev/hda4: Linux/i386 ext2 filesystem
/dev/hda5: Linux/i386 swap file
/dev/hda6: Linux/i386 swap file
/dev/hda7: Linux/i386 swap file
/dev/hda8: Linux/i386 swap file
/dev/hda9: empty
/dev/hda10: empty
GESCHIEDENIS
Er was een file opdracht in elke UNIX sinds tenminste "Research Version
6" (handleiding dateerd van Januarie 1975). De System V versie intro‐
duceerde één belangrijke grote verandering: de externe lijst met magis‐
che nummer soorten. Dit remde het programma een beetje af maar maakte
het veel flexibeler.
Dit op System V versie gebaseerde programma werd geschreven door Ian
Darwin zonder naar iemands anders broncode te kijken.
John Gilmore bewerkte de code uitgebreidt en maakte het beter dan de
eerste versie. Geoff Collyer vond verschillende onhandigheden en
leverde enkele magische bestand-ingangen. Het programma heeft zich
sindsdien continue ontwikkeld.
AUTEUR
Geschreven door Ian F. Darwin, UUCP adres {utzoo | ihnp4}!darwin!ian,
Internet adres ian@sq.com, post adres: P.O. Box 603, Station F,
Toronto, Ontario, CANADA M4Y 2L8.
Veranderd door Rob McMahon, cudcv@warwick.ac.uk, 1989, om de ‘&’ opera‐
tor uit te breiden van eenvoudig ‘x&y != 0’ tot ‘x&y op z’.
Aangepast door Guy Harris, guy@netapp.com, 1993, om
de ‘‘oude-stijl’’ ‘&’ operator terug te veranderen naar hoe het
was, omdat 1) Rob McMahon’s verandering eerdere stijl van
gebruik brak, 2) de SunOS ‘‘new-style’’ ‘&’ operator die deze
versie van file ondersteund, ook ‘x&y op z’ aankan, en 3) Rob’s
verandering was in elk geval niet gedocumenteerd;
zet erbij meerdere niveau’s van ‘>’;
zet erbij ‘‘beshort’’, ‘‘leshort’’, enz. sleutelwoorden om naar
getallen in het bestand te kijken in een bepaalde byte volgorde,
inplaats van in de natuurlijke byte volgorde van het proces dat
file draait.
Veranderingen door Ian Darwin en verschillende auteurs waaronder Chris‐
tos Zoulas (christos@astron.com), 1990-1999.
Copyright (c) Ian F. Darwin, Toronto, Canada, 1986, 1987, 1988, 1989,
1990, 1991, 1992, 1993.
This software is not subject to and may not be made subject to any
license of the American Telephone and Telegraph Company, Sun Microsys‐
tems Inc., Digital Equipment Inc., Lotus Development Inc., the Regents
of the University of California, The X Consortium or MIT, or The Free
Software Foundation.
This software is not subject to any export provision of the United
States Department of Commerce, and may be exported to any country or
planet.
Permission is granted to anyone to use this software for any purpose on
any computer system, and to alter it and redistribute it freely, sub‐
ject to the following restrictions:
1. The author is not responsible for the consequences of use of this
software, no matter how awful, even if they arise from flaws in it.
2. The origin of this software must not be misrepresented, either by
explicit claim or by omission. Since few users ever read sources,
credits must appear in the documentation.
3. Altered versions must be plainly marked as such, and must not be
misrepresented as being the original software. Since few users ever
read sources, credits must appear in the documentation.
4. This notice may not be removed or altered.
A few support files (getopt, strtok) distributed with this package are
by Henry Spencer and are subject to the same terms as above.
A few simple support files (strtol, strchr) distributed with this pack‐
age are in the public domain; they are so marked.
The files tar.h and is_tar.c were written by John Gilmore from his pub‐
lic-domain tar program, and are not covered by the above restrictions.
BUGS
There must be a better way to automate the construction of the Magic
file from all the glop in Magdir. What is it? Better yet, the magic
file should be compiled into binary (say, ndbm(3) or, better yet,
fixed-length ASCII strings for use in heterogenous network environ‐
ments) for faster startup. Then the program would run as fast as the
Version 7 program of the same name, with the flexibility of the System
V version.
File uses several algorithms that favor speed over accuracy, thus it
can be misled about the contents of ASCII files.
The support for ASCII files (primarily for programming languages) is
simplistic, inefficient and requires recompilation to update.
There should be an ‘‘else’’ clause to follow a series of continuation
lines.
The magic file and keywords should have regular expression support.
Their use of ASCII TAB as a field delimiter is ugly and makes it hard
to edit the files, but is entrenched.
It might be advisable to allow upper-case letters in keywords for e.g.,
troff(1) commands vs man page macros. Regular expression support would
make this easy.
The program doesn’t grok FORTRAN. It should be able to figure FORTRAN
by seeing some keywords which appear indented at the start of line.
Regular expression support would make this easy.
The list of keywords in ascmagic probably belongs in the Magic file.
This could be done by using some keyword like ‘*’ for the offset value.
Another optimisation would be to sort the magic file so that we can
just run down all the tests for the first byte, first word, first long,
etc, once we have fetched it. Complain about conflicts in the magic
file entries. Make a rule that the magic entries sort based on file
offset rather than position within the magic file?
The program should provide a way to give an estimate of ‘‘how good’’ a
guess is. We end up removing guesses (e.g. ‘‘From ’’ as first 5 chars
of file) because they are not as good as other guesses (e.g. ‘‘News‐
groups:’’ versus "Return-Path:"). Still, if the others don’t pan out,
it should be possible to use the first guess.
This program is slower than some vendors’ file commands.
This manual page, and particularly this section, is too long.
BESCHIKBAARHEID
U kunt de laatste versie van de originele auteur verkrijgen via anony‐
mous FTP op ftp.astron.com in de directorie /pub/file/file-X.YY.tar.gz
Deze Debian versie voegt lange opties toe en corrigeert enkele bugs.
Het kan verkregen worden van elke site met een Debian distro
(ftp.debian.org en mirrors).
VERTALING
Dit is de handleiding van file 3.28. Alles wat tussen ‘{’..‘}’ staat
is aanvullende vertaling, en hoort niet bij de originele handleiding.
Email naar <manpages-nl@nl.linux.org>.
$Id: file.1,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $