File: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 1: | Zeile 1: | ||
{{DISPLAYTITLE:file}} | {{DISPLAYTITLE:file}} | ||
'''file''' - erkennt den mime typ einer Datei | '''file''' - erkennt den mime typ einer Datei | ||
== Beschreibung == | == Beschreibung == | ||
'''file''' versucht die Art oder den Typ der angegebenen ''Datei'' zu bestimmen. | '''file''' versucht die Art oder den Typ der angegebenen ''Datei'' zu bestimmen. | ||
* Dazu werden drei Tests durchgeführt: ein Dateisystemtest, ein Kennzahlentest und ein Sprachtest. | * Dazu werden drei Tests durchgeführt: ein Dateisystemtest, ein Kennzahlentest und ein Sprachtest. | ||
Zeile 18: | Zeile 15: | ||
Der Kennzahlentest kann einige Dateien anhand festgelegter Kennzahlen - sogenannter `magic numbers' - erkennen, die sich in der Nähe des Dateianfangs an einer festgelegten Stelle befinden. | Der Kennzahlentest kann einige Dateien anhand festgelegter Kennzahlen - sogenannter `magic numbers' - erkennen, die sich in der Nähe des Dateianfangs an einer festgelegten Stelle befinden. | ||
Mithilfe solcher Kennzahlen entscheidet etwa das Betriebssystem, ob eine Datei korrekt ausführbar ist oder nicht. | |||
* Diese Kennzahlen sind in der Datei /etc/magic abgespeichert. | * Diese Kennzahlen sind in der Datei /etc/magic abgespeichert. | ||
* Wenn eine Datei als Text erkannt ist, versucht file noch, die (Programmier-)Sprache zu erkennen, indem es nach bestimmten Schlüsselwörtern sucht. | * Wenn eine Datei als Text erkannt ist, versucht file noch, die (Programmier-)Sprache zu erkennen, indem es nach bestimmten Schlüsselwörtern sucht. | ||
Zeile 77: | Zeile 74: | ||
| | veranlaßt file, die Namen der zu untersuchenden Programme aus der ''Namendatei'' zu lesen; in der Namendatei werden die Dateinamen durch Zeilenende getrennt aufgeführt | | | veranlaßt file, die Namen der zu untersuchenden Programme aus der ''Namendatei'' zu lesen; in der Namendatei werden die Dateinamen durch Zeilenende getrennt aufgeführt | ||
|} | |} | ||
== Anwendung == | == Anwendung == | ||
Zeile 103: | Zeile 97: | ||
<noinclude> | <noinclude> | ||
[[Kategorie:Linux/Befehl]] | [[Kategorie:Linux/Befehl]] | ||
[[Kategorie:Linux/Datei/Typ]] | [[Kategorie:Linux/Datei/Typ]] | ||
{{DEFAULTSORT:file}} | {{DEFAULTSORT:file}} | ||
</noinclude> | </noinclude> |
Version vom 9. März 2024, 12:19 Uhr
file - erkennt den mime typ einer Datei
Beschreibung
file versucht die Art oder den Typ der angegebenen Datei zu bestimmen.
- Dazu werden drei Tests durchgeführt: ein Dateisystemtest, ein Kennzahlentest und ein Sprachtest.
- Der erste erfolgreiche Test führt zur Ausgabe des erkannten Dateityps.
Der erkannte Typ enthält normalerweise eines der Schlüsselwörter `text' für Dateien, die ohne Schwierigkeiten angezeigt werden können, `executable' für Dateien, die ausführbare Programme enthalten und auf dem einen oder anderen Unix-Rechner auch ausgeführt werden können, und `data' für alle anderen Dateien, die normalerweise nicht angezeigt werden können.
Nur allgemein bekannte Dateiformate wie core-Dateien oder tar Archive werden ohne diese Schlüsselwörter benannt.
- Der Dateisystemtest wird mit Hilfe des stat(2) Systemaufrufs durchgeführt.
- Hier werden leere Dateien ebenso erkannt wie alle Gerätedateien, Sockets, symbolische Links und andere Spezialdateien.
Der Kennzahlentest kann einige Dateien anhand festgelegter Kennzahlen - sogenannter `magic numbers' - erkennen, die sich in der Nähe des Dateianfangs an einer festgelegten Stelle befinden.
Mithilfe solcher Kennzahlen entscheidet etwa das Betriebssystem, ob eine Datei korrekt ausführbar ist oder nicht.
- Diese Kennzahlen sind in der Datei /etc/magic abgespeichert.
- Wenn eine Datei als Text erkannt ist, versucht file noch, die (Programmier-)Sprache zu erkennen, indem es nach bestimmten Schlüsselwörtern sucht.
Auf diese Weise kann beispielsweise C-Quelltext oder die Eingabe für den groff Textprozessor erkannt werden.
Dateityp anzeigen (file)
file bestimmt den Dateityp
file [-c ] [-f Namendatei] [-m Magiedatei] Datei ...
file versucht die Art oder den Typ der angegebenen Datei zu bestimmen.
- Dazu werden drei Tests durchgeführt: ein Dateisystemtest, ein Kennzahlentest und ein Sprachtest.
- Der erste erfolgreiche Test führt zur Ausgabe des erkannten Dateityps.
Der erkannte Typ enthält normalerweise eines der Schlüsselwörter `text' für Dateien, die ohne Schwierigkeiten angezeigt werden können, `executable' für Dateien, die ausführbare Programme enthalten und auf dem einen oder anderen Unix-Rechner auch ausgeführt werden können, und `data' für alle anderen Dateien, die normalerweise nicht angezeigt werden können.
Nur allgemein bekannte Dateiformate wie core-Dateien oder tar Archive werden ohne diese Schlüsselwörter benannt.
- Der Dateisystemtest wird mit Hilfe des stat(2) Systemaufrufs durchgeführt.
- Hier werden leere Dateien ebenso erkannt wie alle Gerätedateien, Sockets, symbolische Links und andere Spezialdateien.
Der Kennzahlentest kann einige Dateien anhand festgelegter Kennzahlen - sogenannter `magic numbers' - erkennen, die sich in der Nähe des Dateianfangs an einer festgelegten Stelle befinden.
Mit Hilfe solcher Kennzahlen entscheidet beispielsweise das Betriebssystem, ob eine Datei korrekt ausführbar ist oder nicht.
- Diese Kennzahlen sind in der Datei /etc/magic abgespeichert.
- Wenn eine Datei als Text erkannt ist, versucht file noch, die (Programmier-)Sprache zu erkennen, indem es nach bestimmten Schlüsselwörtern sucht.
Auf diese Weise kann beispielsweise C-Quelltext oder die Eingabe für den groff Textprozessor erkannt werden.
Syntax
file [Option] Filename file [-c ] [-f Namendatei] [-m Magiedatei] Datei ...
Optionen
-m Magiedatei | benutzt die benannte Magiedatei anstelle von /etc/magic für den Kennzahlentest |
-c | gibt den interpretierten Inhalt der Kennzahlendatei für Testzwecke aus |
-f Namendatei | veranlaßt file, die Namen der zu untersuchenden Programme aus der Namendatei zu lesen; in der Namendatei werden die Dateinamen durch Zeilenende getrennt aufgeführt |
- Optionen
-m Magiedatei | benutzt die benannte Magiedatei anstelle von /etc/magic für den Kennzahlentest |
-c | gibt den interpretierten Inhalt der Kennzahlendatei für Testzwecke aus |
-f Namendatei | veranlaßt file, die Namen der zu untersuchenden Programme aus der Namendatei zu lesen; in der Namendatei werden die Dateinamen durch Zeilenende getrennt aufgeführt |
Anwendung
$ file file.c file.c: C program text
$ file program program: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
$ file /dev/wd0a /dev/wd0a: block special (0/0)
$ file -s /dev/hda1 /dev/hda1: Linux/i386 ext2 filesystem
$ file -s /dev/hda5 /dev/hda5: Linux/i386 swap file
$ file data.ppm data.ppm: Netpbm PPM "rawbits" image data