file(1) file(1)
NAME
file - Art einer Datei bestimmen
SYNTAX
file [-h] [-m magicfile] [-f fdatei] [datei ...] Format 1
file -c [-m magicfile] Format 2
BESCHREIBUNG
file ermittelt in den als Argument angegebenen Dateien, die Art des
Inhalts bzw. den Typ des Arguments. file unterscheidet z. B. Verzeich-
nisse, Gerätedateien, FIFO-Dateien, Bibliotheken, C-Quellprogramme,
ausführbare Programme, Shell-Prozeduren und normale Textdateien.
Vorsicht:
file prüft in der "magic"-Datei die "magic"-Nummer, um so die
betreffende Datei zu identifizieren. Wird die Datei hierdurch
nicht identifiziert, versucht file über Plausibilitätstest den
Dateityp festzustellen. Dies führt jedoch nicht immer zu korrek-
ten Ergebnissen.
OPTIONEN
Format 1: Art einer Datei bestimmen
file [-h] [-m magicfile] [-f fdatei] [datei ...]
-h (h - hidden) Falls die zu überprüfende Datei ein symbolischer
Verweis ist, so wird diesem nicht nachgegangen. file gibt in die-
sem Fall folgende Meldung aus:
datei1: symbolic link to datei2
-m magicfile
(m - magic) file benutzt statt der Systemdatei /etc/magic die
Datei magicfile, um die Dateiformatkennungen (magic numbers) der
zu überprüfenden Dateien zu bestimmen.
-f fdatei
file interpretiert das Argument fdatei als Namen einer Datei, die
die Namen aller zu überprüfenden Dateien enthält. Wenn Sie diese
Option nicht angeben, dann müssen Sie wenigstens eine zu überprü-
fende Datei datei angeben.
datei
Name der Datei, die file überprüfen soll. Falls die Datei ein
symbolischer Verweis ist, so folgt file diesem Verweis und wertet
die Ursprungsdatei aus. Pro Aufruf können Sie mehrere Dateinamen
angeben. Wenn Sie die Option -f nicht angeben, dann müssen Sie
wenigstens eine zu überprüfende Datei datei angeben.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
file(1) file(1)
Ausgabe
file schreibt den Typ des Dateiinhalts bzw. der Datei auf die Stan-
dardausgabe. In der folgenden Tabelle sind die wichtigsten Klassifika-
tionen des file-Kommandos aufgelistet.
______________________________________________________________________
| Ausgabe | Bedeutung |
|________________________|____________________________________________|
| ASCII cpio archive | Bibliothek, erzeugt mit cpio, Option -c |
|________________________|____________________________________________|
| ascii text | Textdatei |
|________________________|____________________________________________|
| assembler program text | Assembler-Quellprogramm |
|________________________|____________________________________________|
| block special | blockorientierte Gerätedatei |
|________________________|____________________________________________|
| c program text | C-Quellprogramm |
|________________________|____________________________________________|
| character special | zeichenorientierte Gerätedatei |
|________________________|____________________________________________|
| commands text | Shell-Prozedur |
|________________________|____________________________________________|
| compressed data | komprimierte Datei [siehe compress(1)] |
|________________________|____________________________________________|
| cpio archive | Bibliothek, erzeugt mit cpio |
|________________________|____________________________________________|
| current ar archive | Bibliothek [siehe ar(1)] |
|________________________|____________________________________________|
| data | Datei mit Daten |
|________________________|____________________________________________|
| directory | Verzeichnis |
|________________________|____________________________________________|
| ELF 32-bit | ELF-Objektdatei, mögliche Typen: |
| core file | Speicherauszugsdatei |
| dynamic lib | dynamische Bibliothek |
| executable | Datei ausführbar |
| relocatable | Datei relokierbar |
| unknown | Type unbekannt |
|________________________|____________________________________________|
| empty | leere Datei |
|________________________|____________________________________________|
| English text | Datei mit englischem Text |
|________________________|____________________________________________|
| fifo | FIFO-Datei |
|________________________|____________________________________________|
| fortran program text | FORTRAN-Quellprogramm |
|________________________|____________________________________________|
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
file(1) file(1)
______________________________________________________________________
| Ausgabe | Bedeutung |
|________________________|____________________________________________|
| [nt]roff, tbl, or eqn | Datei in nroff-, troff-, tbl- oder eqn- |
| input text | Format |
|________________________|____________________________________________|
| packed data | komprimierte Datei [siehe pack(1)] |
|________________________|____________________________________________|
| sccs | SCCS-Datei |
|________________________|____________________________________________|
| tar archive | Bibliothek, erzeugt mit tar |
|________________________|____________________________________________|
| troff output | troff-Ausgabedatei |
|________________________|____________________________________________|
Ausführbare Programme werden von file zusätzlich klassifiziert. Wurde
z. B. die Symboltabelle nicht entfernt, so gibt file aus: not stripped
[siehe strip(1)].
Arbeitsweise
file führt für jede Eingabedatei eine Reihe von Tests durch und ver-
sucht so, den Dateiinhalt zu klassifizieren. Handelt es sich wahr-
scheinlich um eine Textdatei, dann prüft file deren Anfang (die ersten
512 Byte) und stellt Vermutungen an über die Sprache des Textes. Die
Richtigkeit der Ausgabe ist jedoch nicht gewährleistet.
Enthält die Eingabedatei ein ausführbares Programm, dann erkennt file
dies und gibt weitere Informationen über den Dateiinhalt aus. Dazu
durchsucht file die Datei nach sogenannten "magic numbers", d. h. nach
numerischen Konstanten oder Zeichenkettenkonstanten, die Aufschluß
über die Art des Dateiinhaltes geben. Eine Erläuterung zu diesen
"magic numbers" steht in der Datei /etc/magic.
Format 2: Überprüfung des magicfile
file -c [-m magicfile]
-c (c - check) Standardmäßig überprüft file die Systemdatei
/etc/magic auf Formatfehler. Ist die Option -m angegeben, dann
wird statt dessen die Datei magicfile überprüft.
-m magicfile
(m - magicfile) file überprüft die Datei magicfile auf Formatfeh-
ler.
INTERNATIONALE UMGEBUNG
Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
texte. Wenn LCMESSAGES nicht oder als leere Zeichenkette definiert
ist, wird der Wert von LANG als Standardwert herangezogen. Ist auch
LANG nicht oder als leere Zeichenkette definiert, verhält sich das
System so, als wäre es nicht internationalisiert.
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98
file(1) file(1)
Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
Bereich der Internationalisierung.
BEISPIELE
Die Datei liste enthält die folgenden Dateinamen:
dvz
brief
lib.a
prog.c
prog.s
prog.o
prog
Mit folgendem Aufruf erhalten Sie Informationen über die Art des
Dateiinhalts:
$ file -f liste
dvz: directory
brief: ascii text
lib.a: current ar archive
prog.c: c program text
prog.s: assembler program text
prog.o: ELF 32-bit LSB relocatable 80386 Version 1
prog: ELF 32-bit LSB executable 80386 Version 1
dvz ist also ein Verzeichnis, brief enthält normalen ASCII-Text. lib.a
ist eine Bibliothek, prog.c enthält ein C-Quellprogramm, prog.s ein
Assembler-Quellprogramm (ohne Gewähr!). prog.o ist ein Objektmodul,
prog ein ausführbares Programm im ELF-Format (Executable and Linking
Format).
Die gleiche Ausgabe erhalten Sie mit dem Aufruf
$ file dvz brief lib.a prog.c prog.s prog.o prog
DATEIEN
/etc/magic
enthält Erläuterungen zu den "magic numbers"
SIEHE AUCH
cc(1), ls(1), strip(1), filehdr(4).
Seite 4 Reliant UNIX 5.44 Gedruckt 11/98