File: Unterschied zwischen den Versionen

Aus Foxwiki
Änderung 80845 von Dirkwagner (Diskussion) rückgängig gemacht.
Markierung: Rückgängigmachung
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:


== Beschreibung ==
== Beschreibung ==
===== Dateityp anzeigen (file) =====
'''file''' bestimmt den Dateityp
<tt>'''file'''</tt> bestimmt den Dateityp


'''file''' [-c ] [-f ''Namendatei''] [-m ''Magiedatei''] ''Datei'' ...
'''file''' [-c ] [-f ''Namendatei''] [-m ''Magiedatei''] ''Datei'' ...


<tt>'''file'''</tt> 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.
* Der erste erfolgreiche Test führt zur Ausgabe des erkannten Dateityps.
* Der erste erfolgreiche Test führt zur Ausgabe des erkannten Dateityps.
Zeile 13: Zeile 12:
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.
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 <tt>core</tt>-Dateien oder <tt>tar</tt> Archive werden ohne diese Schlüsselwörter benannt.
Nur allgemein bekannte Dateiformate wie core-Dateien oder tar Archive werden ohne diese Schlüsselwörter benannt.
* Der Dateisystemtest wird mit Hilfe des <tt>stat</tt>(2) Systemaufrufs durchgeführt.
* 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.
* Hier werden leere Dateien ebenso erkannt wie alle Gerätedateien, Sockets, symbolische Links und andere Spezialdateien.


Zeile 21: Zeile 20:
Mit Hilfe solcher Kennzahlen entscheidet beispielsweise das Betriebssystem, ob eine Datei korrekt ausführbar ist oder nicht.
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.
* Diese Kennzahlen sind in der Datei /etc/magic abgespeichert.
* Wenn eine Datei als Text erkannt ist, versucht <tt>file</tt> 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.


Auf diese Weise kann beispielsweise C-Quelltext oder die Eingabe für den <tt>groff</tt> Textprozessor erkannt werden.
Auf diese Weise kann beispielsweise C-Quelltext oder die Eingabe für den groff Textprozessor erkannt werden.


====== Optionen ======
====== Optionen ======
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
| | <tt>'''-m ''Magiedatei'' '''</tt>
| | '''-m ''Magiedatei'' '''
| | benutzt die benannte ''Magiedatei'' anstelle von /etc/magic für den Kennzahlentest
| | benutzt die benannte ''Magiedatei'' anstelle von /etc/magic für den Kennzahlentest
|-
|-
| | <tt>'''-c '''</tt>
| | '''-c '''
| | gibt den interpretierten Inhalt der Kennzahlendatei für Testzwecke aus
| | gibt den interpretierten Inhalt der Kennzahlendatei für Testzwecke aus
|-
|-
| | <tt>'''-f ''Namendatei'' '''</tt>
| | '''-f ''Namendatei'' '''
| | veranlaßt <tt>file</tt>, 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
 
|-
|-
|}
|}
Zeile 67: Zeile 65:
  $ '''file data.ppm'''
  $ '''file data.ppm'''
  data.ppm: Netpbm PPM "rawbits" image data
  data.ppm: Netpbm PPM "rawbits" image data
=== Fehlerbehebung ===
=== Fehlerbehebung ===
== Konfiguration ==
== Konfiguration ==

Version vom 8. Oktober 2023, 09:36 Uhr

file - erkennt den mime typ einer Datei

Beschreibung

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.

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

Installation

Syntax

file [Option] Filename

Optionen

Parameter

Umgebungsvariablen

Exit-Status

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

Fehlerbehebung

Konfiguration

Dateien

Anhang

Siehe auch

Sicherheit

Dokumentation

RFC
Man-Pages
Info-Pages

Links

Einzelnachweise
Projekt
Weblinks