File: Unterschied zwischen den Versionen

Aus Foxwiki
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''' bestimmt den Dateityp
'''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.


Mit Hilfe solcher Kennzahlen entscheidet beispielsweise das Betriebssystem, ob eine Datei korrekt ausführbar ist oder nicht.
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
|}
|}
=== Parameter ===
=== Exit-Status ===


== 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