Provided by: manpages-de_4.27.0-1_all bug

BEZEICHNUNG

       file — Bestimmt den Dateityp

ÜBERSICHT

       file  [-bcdEhiklLNnprsSvzZ0]  [--apple]  [--exclude-quiet]  [--extension] [--mime-encoding] [--mime-type]
       [-e Testname] [-F Trenner] [-f Namensdatei] [-m  Magic-Dateien]  [-P  Name=Wert]  file ...  file  -C  [-m
       Magic-Dateien] file [--help]

BESCHREIBUNG

       Diese Handbuchseite dokumentiert Version 5.46 des Befehls .

       file  überprüft  jedes  Argument,  um  es  einzusortieren.  Es  gibt  drei Arten von Tests, die in dieser
       Reihenfolge ausgeführt werden: Dateisystemtests, magische Tests und Sprachtests. Der  erste  erfolgreiche
       Test führt zur Ausgabe des Dateityps.

       Der  ausgegebene  Typ wird normalerweise eines der Worte text (die Datei enthält nur darstellbare Zeichen
       und ein paar typische Steuerzeichen und kann wahrscheinlich problemlos auf einem ASCII -Terminal  gelesen
       werden),  executable (die Datei enthält das Ergebnis einer Kompilierung eines Programms in eine Form, die
       von einem UNIX -Kernel oder einem anderen verstanden werden kann) oder data, das  alles  andere  bedeutet
       (Daten  sind  normalerweise  »binär«  oder  nicht  darstellbar),  enthalten.  Ausnahmen sind gut bekannte
       Dateiformate (Core-Dateien, TAR-Archive), die bekanntermaßen binäre Daten enthalten.  Wenn  Sie  magische
       Dateien  oder  das  Programm  selbst  verändern,  stellen  Sie  sicher,  dass  Sie »diese Schlüsselwörter
       erhalten«. Benutzer verlassen sich darauf, dass für alle im Verzeichnis lesbaren Dateien das Wort  »text«
       ausgegeben wird. Machen Sie es nicht wie Berkeley, die »shell commands text« in »shell script« änderten.

       Die  Dateisystemtests  basieren auf der Untersuchung der Rückgabe des Systemaufrufs stat(2). Das Programm
       prüft, ob die Datei leer ist oder ob sie eine Art von besonderer Datei ist. Sämtliche bekannten  und  für
       Ihr betriebenes System geeignete Dateien (Sockets, symbolische Links oder benannte Pipes (FIFOs), auf den
       Systemen,  auf  denen  diese implementiert sind) werden intuitiv erfasst, falls Sie in der System-Header-
       Datei <sys/stat.h> definiert sind.

       Die magischen Tests werden verwandt, um auf Dateien zu prüfen, deren Daten in  einem  bestimmten,  festen
       Format vorliegen. Das kanonische Beispiel hierfür ist das ausführbare Programm (kompiliertes Programm) in
       einer  a.out  -Datei,  dessen  Format  in  <elf.h>,  <a.out.h>  und  möglicherweise <exec.h> im Standard-
       Einbindeverzeichnis definiert ist. Diese Dateien haben eine »magische Zahl«, die an einem bestimmten  Ort
       nahe  des Anfangs der Datei gespeichert ist und die dem UNIX -Betriebssystem mitteilt, dass die Datei ein
       ausführbares Programm ist und welches der mehreren Typen davon es ist. Das Konzept der »magischen Zahlen«
       wurde auf Erweiterungen zu Datendateien angewandt. Jede Datei  mit  einem  invarianten  Kennzeichner  bei
       einem  kleinen,  festen  Versatz  in  die  Datei kann normalerweise auf diese Art beschrieben werden. Die
       Information, die diese Dateien identifiziert, wird aus /etc/magic und der  kompilierten  magischen  Datei
       /usr/share/misc/magic.mgc   oder   aus  den  Dateien  im  Verzeichnis  /usr/share/misc/magic,  falls  die
       kompilierte  Datei  nicht  existiert,  gelesen.  Zusätzlich  werden  die  Dateien  $HOME/.magic.mgc  oder
       $HOME/.magic gelesen, falls sie existieren, und haben Vorrang vor der magischen Datei des Systems.

       Falls  eine Datei auf keine der Einträge in der magischen Datei passt, dann wird die Datei untersucht, ob
       sie eine Textdatei zu sein scheint. ASCII, ISO-8859-x, nicht-ISO 8-Bit erweiterte ASCII-Zeichensätze (wie
       diese auf Macintosh und  IBM-PC-Systemen  verwandt  werden),  UTF-8-kodiertes  Unicode,  UTF-16-kodiertes
       Unicode  und  EBCDIC-Zeichensätze  können  durch  verschiedene  Bereiche  und  Sequenzen  von  Bytes, die
       darstellbaren Text in jedem Satz formen, unterschieden  werden.  Falls  eine  Datei  einen  dieser  Tests
       besteht, wird ihr Zeichensatz berichtet. ASCII, ISO-8859-x, UTF-8 und erweiterte ASCII-Dateien werden als
       »text«  identifiziert,  da sie größtenteils auf fast jedem Terminal lesbar sein werden; UTF-16 und EBCDIC
       sind nur »character data«, da der Text einer Übersetzung bedarf, bevor er  lesbar  ist.  Zusätzlich  wird
       file  versuchen,  weitere  Eigenschaften  von  textartigen  Dateien  zu bestimmen. Falls die Zeilen durch
       Wagenrücklauf  (CR),  Zeilenumbruch  und  Wagenrücklauf  (CRLF)  oder  NEL  anstatt  des   UNIX-Standards
       Zeilenumbruch  (LF)  beendet  werden, wird dies gemeldet. Dateien, die eingebettete Maskiersequenzen oder
       Durchstreichungen enthalten, werden auch identifiziert.

       Sobald file den in der textartigen Datei verwandten Zeichensatz ermittelt hat,  wird  es  versuchen,  die
       Sprache,  in  der  die  Datei  geschrieben  ist,  zu  ermitteln.  Der  Sprachtest  sucht  nach bestimmten
       Zeichenketten (z.B. <names.h>) die  irgendwo  in  den  ersten  Blöcken  einer  Datei  auftauchen  können.
       Beispielsweise  deutet  das  Schlüsselwort  .br  an,  dass  die  Datei höchstwahrscheinlich eine troff(1)
       -Eingabedatei ist, sowie das Schlüsselwort struct auf ein C-Programm hinweist. Diese Tests  sind  weniger
       zuverlässig   als   die  vorherigen  zwei  Gruppen,  daher  werden  sie  als  letztes  durchgeführt.  Die
       Sprachtestroutinen prüfen auf einiges Vermischtes (wie tar(1) -Archive, JSON-Dateien).

       Jede Datei, bei der keine der oben aufgeführten Zeichensätze identifiziert werden kann, wird einfach  als
       »data« gemeldet.

OPTIONEN

       --apple
               Führt  dazu,  dass  der  Befehl  file  den Dateityp und das Erstellerkürzel ausgibt, wie dies von
               früheren MacOS-Versionen verwandt wurde. Das Kürzel besteht aus acht Buchstaben, wobei der  erste
               den   Dateityp,  die  nachfolgenden  den  Ersteller  beschreiben.  Diese  Option  wirkt  nur  für
               Dateiformate korrekt, für die eine Apple-artige Ausgabe definiert ist.

       -b, --brief
               Hängt keine Dateinamen vor Ausgabezeilen (knapper Modus).

       -C, --compile
               Schreibt eine magic.mgc Ausgabedatei, die eine vorverarbeitete Version der Magic-Datei  oder  des
               Magic-Verzeichnisses enthält.

       -c, --checking-printout
               Führt   zu   einer   Überprüfungsausgabe  der  ausgewerteten  Form  der  Magic-Datei.  Dies  wird
               normalerweise im Zusammenspiel mit der Option -m verwandt, um Fehler in einer  neuen  Magic-Datei
               zu finden, bevor diese installiert wird.

       -d      Gibt interne Fehlersuchinformationen auf Stderr aus.

       -E      Gibt  bei  Dateisystemfehlern  (z.B. Datei nicht gefunden) eine Fehlermeldung aus und beendet das
               Programm, statt den Fehler als reguläre  Ausgabe  zu  handhaben  (wie  dies  POSIX  vorgibt)  und
               fortzufahren.

       -e, --exclude Testname
               Schließt  den  Test namens Testname aus der Liste der zur Bestimmung des Dateityps durchgeführten
               Tests aus. Gültige Testnamen sind:

               apptype   EMX -Anwendungstyp (nur unter EMX).

               ascii     Verschiedene Arten von Textdateien (dieser  Test  wird  versuchen,  die  Textkodierung,
                         unabhängig von der Einstellung der Option »encoding«, zu erraten).

               encoding  Verschiedene Textkodierungen für weiche magische Tests.

               tokens    Zwecks Rückwärtskompatibilität ignoriert.

               cdf       Gibt Details zu »Compound Document Files« aus.

               compress  Prüft auf komprimierte Dateien und schaut hinein.

               csv       Prüft auf »Comma Separated Value«-Dateien (durch Kommata getrennte Werte).

               elf       Gibt  ELF-Dateien-Details  aus, vorausgesetzt, weiche magische Tests sind aktiviert und
                         die Elf-Magie wird gefunden.

               json      Untersucht JSON- (RFC-7159)-Dateien durch deren Auswertung auf Regeltreue.

               soft      Verwendet magische Dateien.

               simh      Untersucht SIMH-Band-Dateien.

               tar       Untersucht TAR-Dateien durch  Überprüfung  der  Prüfsumme  der  512-Byte-TAR-Kopfzeile.
                         Durch  Ausschließen  dieses  Tests  kann  eine detailliertere Inhaltsbeschreibung durch
                         Verwendung der weichen magischen Methode erhalten werden.

               text      Ein Synonym für »ascii«.

       --exclude-quiet
               Wie --exclude, ignoriert aber Tests, die file  nicht  kennt.  Dies  ist  zur  Kompatibilität  mit
               älteren Versionen von file gedacht.

       --extension
               Gibt  eine  Schrägstrich-getrennte  Liste  von gültigen Erweiterungen für den gefundenen Dateityp
               aus.

       -F, --separator Trenner
               Verwendet die angegebene Zeichenkette als Trenner  zwischen  Dateiname  und  den  zurückgegebenen
               Dateiergebnissen. Standardmäßig »:«.

       -f, --files-from Namensdatei
               Liest die Liste der zu prüfenden Dateien aus Namensdatei (eine pro Zeile) vor der Argumentenliste
               ein.  Entweder  Namensdatei  oder  mindestens  ein Dateinamenargument muss vorhanden sein; um die
               Standardeingabe zu prüfen, verwenden Sie »-« als Dateinamenargument.  Bitte  beachten  Sie,  dass
               Zeilenumbrüche  in  Namensdatei  entfernt  werden und die eingeschlossenen Dateinamen verarbeitet
               werden, wenn diese Option  angetroffen  wird  und  bevor  irgendeine  Verarbeitung  der  weiteren
               Optionen   erfolgt.   Dies   ermöglicht   es,   mehrere  Listen  von  Dateien  mit  verschiedenen
               Befehlszeilenargumenten beim gleichen Aufruf von file zu verarbeiten. Wenn Sie daher den  Trenner
               setzen  wollen, müssen Sie dies tun, bevor Sie die Dateiliste angeben, also “-F @ -f Namensdatei”
               statt “-f Namensdatei -F @”.

       -h, --no-dereference
               Diese  Option  führt  dazu,  dass  Symlinks  nicht  gefolgt  wird  (auf  Systemen,  die  Symlinks
               unterstützen).  Dies ist die Vorgabe, falls die Umgebungsvariable POSIXLY_CORRECT nicht definiert
               ist.

       -i, --mime
               Führt dazu, dass der Befehl file den  MIME-Typ  statt  der  traditionellen  und  menschenlesbaren
               Zeichenketten ausgibt. Daher könnte die Ausgabe »text/plain; charset=us-ascii« statt »ASCII text«
               lauten.

       --mime-type, --mime-encoding
               Wie -i, gibt aber nur das/die angegebene(n) Element(e) aus.

       -k, --keep-going
               Stoppt   nicht  beim  ersten  Treffer,  sondern  fährt  fort.  Nachfolgenden  Treffern  wird  die
               Zeichenkette »"\012- "« vorangestellt. (Falls Sie einen Zeilenumbruch möchten, siehe  die  Option
               -r.) Das magische Muster mit der höchsten Stärke (siehe die Option -l) kommt zuerst.

       -l, --list
               Zeigt  eine  Liste von Mustern und ihren Stärken, absteigend sortiert gemäß magic(5) -Stärke, die
               zum Abgleich verwandt wird, an (siehe auch die Option -k).

       -L, --dereference
               Diese Option führt dazu, dass Symlinks gefolgt wird, wie bei der gleichbenannten Option in  ls(1)
               (auf   Systemen,   die   symbolische  Links  unterstützen).  Dies  ist  die  Vorgabe,  falls  die
               Umgebungsvariable POSIXLY_CORRECT definiert ist.

       -m, --magic-file magische_Dateien
               Gibt eine alternative Liste an Dateien und Verzeichnissen an, die Magie enthalten. Dies kann  ein
               einzelner  Eintrag  sein  oder  eine  durch  Doppelpunkte getrennte Liste. Falls eine kompilierte
               magische_Datei zusammen mit  einer  Datei  oder  einem  Verzeichnis  gefunden  wird,  wird  diese
               stattdessen verwandt.

       -N, --no-pad
               Füllt Dateinamen nicht auf, so dass sie an der Ausgabe ausgerichtet sind.

       -n, --no-buffer
               Erzwingt,  dass  die  Standardausgabe  nach jeder Dateiüberprüfung geschrieben wird. Dies ist nur
               nützlich, wenn eine Liste von Dateien geprüft wird. Es ist für den Einsatz in Programmen gedacht,
               die die Dateitypausgabe aus einer Pipe möchten.

       -p, --preserve-date
               Versucht  auf  Systemen,  die  utime(3)  oder  utimes(2)  unterstützen,  die  Zugriffszeiten  der
               analysierten Dateien zu erhalten, um vorzugeben, dass file sie niemals eingelesen hat.

       -P, --parameter Name=Wert
               Setzt verschiedene Parameterbegrenzungen.

               Name         Vorgabe    Erklärung
               bytes        1M         maximale Anzahl an Byte, die aus einer Datei gelesen werden sollen
               elf_notes    256        maximal zu verarbeitende ELF-Anmerkungen
               elf_phnum    2K         maximal zu verarbeitende ELF-Programmabschnitte
               elf_shnum    32K        maximal zu verarbeitende ELF-Abschnitte
               elf_shsize   128MB      maximal zu verarbeitende ELF-Abschnittsgröße
               encoding     65K        maximale Anzahl an Byte, um die Kodierung zu bestimmen
               indir        50         Rekursionsbegrenzung für indirekte Magie
               name         100        verwendet die Zählbegrenzung für Name/Verwendung-Magie
               regex        8K         Längenbegrenzung für Suchen mit regulären Ausdrücken

       -r, --raw
               Übersetzt   nicht  darstellbare  Zeichen  nicht  in  \ooo.  Normalerweise  übersetzt  file  nicht
               darstellbare Zeichen in ihre oktale Darstellung.

       -s, --special-files
               Normalerweise versucht file, nur Dateien aus den Argumenten zu lesen und deren Typ zu  bestimmen,
               für  die  stat(2)  meldet,  dass  sie gewöhnliche Dateien seien. Dies verhindert Probleme, da das
               Lesen von besonderen Dateien zu merkwürdigen Konsequenzen führen kann. Durch Angabe der Option -s
               wird  file  auch  Dateien  aus  den  Argumenten  lesen,  die  besondere  Dateien   (block-   oder
               zeichenorientierte)   sind.  Dies  ist  nützlich,  um  den  Dateisystemtyp  von  Daten  in  rohen
               Plattenpartitionen, die besondere blockorientierte Dateien sind, zu bestimmen. Diese Option führt
               auch dazu, dass file die durch  stat(2)  berichtete  Dateigröße  ignoriert,  da  es  auf  einigen
               Systemen die Größe Null für rohe Plattenpartitionen meldet.

       -S, --no-sandbox
               Auf   Systemen,  auf  denen  Libseccomp  (https://github.com/seccomp/libseccomp)  verfügbar  ist,
               deaktiviert die Option -S das standardmäßig aktivierte Sandboxing. Diese  Option  wird  benötigt,
               damit  file  externe  Entpackprogramme  ausführen kann, d.h. wenn die Option -z angegeben und die
               eingebauten Entpackprogramme nicht verfügbar sind.  Auf  Systemen,  auf  denen  Sandboxing  nicht
               verfügbar ist, hat dieser Schalter keine Auswirkung.

               Beachten  Sie:  Diese  Debian-Version von file wurde ohne Unterstützung für Seccomp gebaut. Daher
               hat diese Option keine Auswirkung.

       -v, --version
               Gibt die Version des Programms aus und beendet sich.

       -z, --uncompress
               Versucht, in komprimierte Dateien zu schauen.

       -Z, --uncompress-noreport
               Versucht, in komprimierte Dateien zu schauen, berichtet aber nur Informationen  über  den  Inhalt
               und nicht die Komprimierung.

       -0, --print0
               Gibt  ein Nullbyte-Zeichen »\0« nach dem Ende des Dateinamens aus. Gut zur Weiterverarbeitung mit
               cut(1). Dies betrifft nicht den Trenner, der weiterhin ausgegeben wird.

               Falls diese Option mehr als einmal angegeben wird, dann gibt  file  für  jeden  Eintrag  nur  den
               Dateinamen,  gefolgt  von  einem  Nullbyte,  gefolgt  von  einer Beschreibung (oder ERROR:-Text),
               gefolgt von einem zweiten Nullbyte aus.

       --help  Hilfe ausgeben und beenden.

UMGEBUNGSVARIABLEN

       Die Umgebungsvariable MAGIC kann zum Setzen des Standard-Namens  der  magischen  Datei  verwandt  werden.
       Falls  diese  Variable  gesetzt  ist,  dann  wird file nicht versuchen, $HOME/.magic zu öffnen. file fügt
       “.mgc” zu dem Wert dieser Variablen hinzu, wo es  sinnvoll  ist.  Die  Umgebungsvariable  POSIXLY_CORRECT
       steuert (auf Systemen, die symbolische Links unterstützen), ob file versuchen wird, symbolischen Links zu
       folgen  oder nicht. Falls gesetzt, folgt file symbolischen Links, andernfalls nicht. Dies wird auch durch
       die Optionen -L und -h gesteuert.

DATEIEN

       /usr/share/misc/magic.mgc  Kompilierte Vorgabeliste der Magie.
       /usr/share/misc/magic      Verzeichnis, das die Vorgabe-Magie-Dateien enthält.

EXIT-STATUS

       file wird sich mit 0 beenden, falls die Aktion erfolgreich war oder  >0,  falls  ein  Fehler  angetroffen
       wurde. Die folgenden Fehler führen zu Diagnosemeldungen, betreffen aber nicht den Exit-Code des Programms
       (wie von POSIX verlangt), außer -E wurde angegeben:
                Eine Datei konnnte nicht gefunden werden.
                Eine Datei konnte aufgrund unzureichender Rechte nicht gelesen werden.
                Der Dateityp konnte nicht bestimmt werden.

BEISPIELE

             $ file Datei.c file /dev/{wd0a,hda}
             file.c:   C program text
             file:     ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
                       dynamically linked (uses shared libs), stripped
             /dev/wd0a: block special (0/0)
             /dev/hda: block special (3/0)

             $ file -s /dev/wd0{b,d}
             /dev/wd0b: data
             /dev/wd0d: x86 boot sector

             $ 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

             $ file -i Datei.c file /dev/{wd0a,hda}
             file.c:      text/x-c
             file:        application/x-executable
             /dev/hda:    application/x-not-regular-file
             /dev/wd0a:   application/x-not-regular-file

SIEHE AUCH

       hexdump(1), od(1), strings(1), magic(5)

STANDARDKONFORMITÄT

       Es  wird  davon  ausgegangen,  dass  dieses  Programm die System-V-Schnittstellendefinition von FILE(CMD)
       übererfüllt, soweit das aus der ungenauen Sprache dieser Definition überhaupt  erschlossen  werden  kann.
       Das  Verhalten  ist  größtenteils  kompatibel  zu  dem  des Programms gleichen Namens aus System V. Diese
       Version kennt allerdings mehr Magie, daher wird es in vielen Fällen andere (allerdings genauere)  Ausgabe
       erstellen.

       Der  einzige  deutliche  Unterschied  zwischen  dieser Version und System V ist, dass diese Version jeden
       Leerraum als Trenner betrachtet, so dass Leerzeichen in Musterzeichenketten maskiert  werden  müssen.  So
       würde zum Beispiel

             >10     string  language impress        (imPRESS data)

       in einer bestehenden Magie-Datei wie folgt geändert werden müssen:

             >10     string  language\ impress       (imPRESS data)

       Falls  eine  Musterzeichenkette  einen  Rückwärtsschrägstrich  enthält,  muss  dieser zusätzlich maskiert
       werden. So würde zum Beispiel

             0       string          \begindata      Andrew Toolkit document

       in einer bestehenden Magie-Datei wie folgt geändert werden müssen:

             0       string          \\begindata     Andrew Toolkit document

       SunOS von Sun Microsystems ab Version 3.2 enthält einen Befehl file, der von dem aus System V  abgeleitet
       ist,  aber  Erweiterungen  enthält.  Diese  Version  unterscheidet  sich geringfügig von dem von Sun. Sie
       enthält die Erweiterung des Operators »&«, der beispielsweise wie folgt verwandt wird:

             >16     long&0x7fffffff >0              not stripped

SICHERHEIT

       Auf Systemen, auf denen Libseccomp (https://github.com/seccomp/libseccomp) verfügbar ist, wird  file  die
       Systemaufrufe  auf  nur  die  für  die  Aktion des Programms notwendigen einschränken. Diese Durchsetzung
       stellt keinen Sicherheitsvorteil dar, wenn file gebeten wird, Eingabedateien durch  Aufruf  von  externen
       Programmen  mit der Option -z zu dekomprimieren. Um die Ausführung externer Dekomprimierer zu aktivieren,
       müssen Sie Sandboxing mittels der Option -S deaktivieren.

MAGISCHES VERZEICHNIS

       Die magischen Einträge für File wurden aus verschiedenen Quellen  gesammelt,  hauptsächlich  USENET,  und
       verschiedene  Autoren  haben  beigetragen. Christos Zoulas (Adresse siehe unten) sammelt zusätzliche oder
       korrigiert Einträge für File. Periodisch werden zusammengeführte magische Einträge für File verteilt.

       Die Reihenfolge der Einträge in der magischen Datei ist relevant. Abhängig von dem von  Ihnen  verwandten
       System kann die Reihenfolge, in der sie zusammengestellt wurde, inkorrekt sein.

GESCHICHTE

       Es  gab  einen  Befehl  file  in  jedem UNIX seit mindestens Research Version 4 (Datum der Handbuchseite:
       November 1973). Die System-V-Version führte eine deutliche Änderung ein: die externe Liste von  magischen
       Typen. Dies verlangsamte das Programm etwas, machte es aber viel flexibler.

       Dieses   Programm,   basierend  auf  der  System-V-Version,  wurde  von  Ian  Darwin  ⟨ian@darwinsys.com⟩
       geschrieben, ohne den Quelltext von irgendjemanden anzuschauen.

       John Gilmore überarbeitete den Code umfangreich, er wurde dadurch besser als in der ersten Version. Geoff
       Collyer fand eine Reihe von Unzulänglichkeiten und stellte ein paar magische Einträge  für  File  bereit.
       Beiträge des »&«-Betreibers Rob McMahon, ⟨cudcv@warwick.ac.uk⟩, 1989.

       Guy Harris, ⟨guy@netapp.com⟩, nahm seit 1993 bis heute viele Änderungen vor.

       Hauptsächliche   Entwicklung   und   Betreuung   seit  1990  bis  heute  erfolgt  durch  Christos  Zoulas
       ⟨christos@astron.com⟩.

       Verändert durch Chris Lowth ⟨chris@lowth.com⟩, 2000: die Option -i gibt  MIME-artige  Zeichenketten  aus,
       verwendet eine alternative magische Datei und interne Logik.

       Verändert  durch  Eric  Fischer ⟨enf@pobox.com⟩, Juli 2000, um Zeichencodes zu erkennen und zu versuchen,
       die Sprache von nicht-ASCII-Dateien zu bestimmen.

       Verändert durch Reuben Thomas ⟨rrt@sc3d.org⟩, 2007-2011, um MIME-Unterstützung zu verbessern,  MIME-  und
       nicht-MIME-Magie zusammenzuführen, für Magie sowohl Verzeichnisse als auch Dateien zu unterstützen, viele
       Fehlerkorrekturen  anzuwenden,  zu aktualisieren und eine Menge an Magie zu korrigieren, das Bausystem zu
       verbessern, die Dokumentation zu verbessern und die Python-Anbindung in reinem Python neu zu schreiben.

       Die Liste an Beitragenden für das Verzeichnis »magic« (die magischen Dateien) ist zu lang,  um  sie  hier
       aufzunehmen.  Sie  wissen,  wer  sie  sind,  vielen  Dank!  Viele  Beitragende  sind  in den Quelldateien
       aufgeführt.

RECHTLICHER HINWEIS

       Copyright (c) Ian F. Darwin,  Toronto,  Canada,  1986-1999.  Abgedeckt  vom  normalen  Berkeley  Software
       Distribution-Copyright; siehe die Datei COPYING in der Quell-Distribution.

       Die  Dateien  tar.h  und  is_tar.c  stammen  aus  dem  gemeinfreien tar(1) -Programm von John Gilmore und
       unterliegen nicht der obigen Lizenz.

FEHLER

       Bitte  senden  Sie  Fehlerberichte  und  -korrekturen  (auf  Englisch)  an  die   Fehlerdatenbank   unter
       https://bugs.astron.com/  oder  die  Mailingliste  unter  ⟨file@astron.com⟩  (besuchen Sie zum Abonnieren
       https://mailman.astron.com/mailman/listinfo/file).

OFFENE PUNKTE

       Korrektur der Ausgabe, so dass nicht an allen Stellen Überprüfungen  auf  die  Schalter  MIME  und  APPLE
       erfolgen  müssen und die eigentliche Ausgabe nur an einer Stelle erfolgt. Dafür wird ein Design benötigt.
       Vorschlag: mögliche Ausgaben in eine Liste  schieben,  dann  den  zuletzt  geschobenen  (hoffentlich  den
       konkretesten)  Wert  am  Ende herausnehmen oder die Vorgabe nehmen, falls die Liste leer ist. Dies sollte
       die Ausgabe nicht verlangsamen.

       Die Handhabung von MAGIC_CONTINUE und die Ausgabe von \012- zwischen Einträgen ist plump und kompliziert;
       umschreiben und zentralisieren.

       Ein Teil der Kodierungslogik ist in encoding.c hartkodiert und könnte in die magischen Dateien verschoben
       werden, wenn wir eine !:charset-Notierung hätten.

       Weiter alle magischen Fehler beheben. Die Fehlerdatenbank von Debian ist eine gute Quelle.

       Speichern von beliebig langen Zeichenketten, beispielsweise für %s-Muster, so dass sie ausgegeben  werden
       können.  Debian-Fehler  #271672  korrigieren.  Dies  kann  durch  Zuweisung  von  Zeichenketten  in  eine
       Zeichenkettensammlung  am  Ende  der  magischen  Datei  erfolgen  und  anschließender  Umwandlung   aller
       Zeichenkettenzeiger in relative Versätze aus der Zeichenkettensammlung.

       Eine Sytax für relative Versätze nach der aktuellen Stufe hinzfügen (Debian-Fehler #466037).

       »file -ki« zum Laufen bringen, d.h. mehrere MIME-Typen zu übergeben.

       Eine  ZIP-Bibliothek  zu  übergeben,  so  dass  in  Office2007-Dokumente geschaut werden kann, um weitere
       Details über ihren Inhalt auszugeben.

       Eine Option hinzuzufügen, um URLs für die Quellen der Dateibeschreibungen auszugeben.

       Skript-Suchen kombinieren und eine Möglichkeit hinzufügen, ausführbare Namen  auf  MIME-Typen  abzubilden
       (z.B.  einen  magischen  Wert  für  !:mime zu haben, der dazu führt, dass die enstehende Zeichenkette aus
       einer Tabelle nachgeschlagen wird). Dies würde vermeiden, die gleiche  Magie  mehrfach  für  jeden  neuen
       Skript-Interpreter hinzuzufügen.

       Wenn  ein  Datei-Deskriptor  verfügbar  ist, kann der Puffer übersprungen und angepasst werden, statt der
       momentan eingesetzten, zusammengebastelten Pufferverwaltung.

       »name« und »use« korrigieren, so dass sie bei der Kompilierung auf Konsistenz  prüfen  (doppelte  »name«,
       »use«,  die  auf nicht definierte »name« zeigen). »name« / »use« effizienter machen, indem eine sortierte
       Liste von Namen erhalten wird. ^ besonders behandeln, um die Bytereihenfolge im Auswerteteil umzustellen,
       so dass er nicht maskiert werden muss und dies dokumentieren.

       Falls der intern in der Datei angegebene Versatz  die  Puffergröße  überschreitet  (Variable  HOWMANY  in
       file.h),  dann  wird  nicht  zu  dem  Versatz  gesprungen,  sondern  aufgegeben. Es wäre besser, wenn die
       Pufferverwaltung greifen würde, sobald der Dateideskriptor verfügbar ist, so dass  ein  Suchen  innerhalb
       der  Datei  möglich ist. Es muss allerdings Vorsicht walten gelassen werden, da dies Leistungs- und daher
       Sicherheits-Auswirkungen hat, da dadurch alles mögliches durch  wiederholtes  Suchen  verlangsamt  werden
       kann.

       Es  gibt  jetzt  Unterstützung für das Vorhalten getrennter Puffer und dem Einsatz von Versätzen vom Ende
       der Datei, allerdings benötigt die interne Pufferverwaltung weiterhin eine Überarbeitung.

VERFÜGBARKEIT

       Sie  können  die  neuste  Version  des  ursprünglichen  Autors  mittels  anonymen  FTP   im   Verzeichnis
       /pub/file/file-X.YZ.tar.gz auf ftp.astron.com erhalten.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die  GNU  General  Public  License Version 3:
       https://www.gnu.org/licenses/gpl-3.0.html oder neuer bezüglich der Copyright-Bedingungen. Es  wird  KEINE
       HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
       Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org .

Debian                                            7. April 2024                                          FILE(1)