FILE(1) General Commands Manual FILE(1) BEZEICHNUNG file - Bestimmt den Dateityp UBERSICHT 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.45 des Befehls file. file uberpruft jedes Argument, um es einzusortieren. Es gibt drei Arten von Tests, die in dieser Reihenfolge ausgefuhrt werden: Dateisystemtests, magische Tests und Sprachtests. Der erste erfolgreiche Test fuhrt zur Ausgabe des Dateityps. Der ausgegebene Typ wird normalerweise eines der Worte text (die Datei enthalt nur darstellbare Zeichen und ein paar typische Steuerzeichen und kann wahrscheinlich problemlos auf einem ASCII -Terminal gelesen werden), executable (die Datei enthalt 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 >>binar<< oder nicht darstellbar), enthalten. Ausnahmen sind gut bekannte Dateiformate (Core-Dateien, TAR-Archive), die bekanntermassen binare Daten enthalten. Wenn Sie magische Dateien oder das Programm selbst verandern, stellen Sie sicher, dass Sie diese Schlusselworter erhalten. Benutzer verlassen sich darauf, dass fur alle im Verzeichnis lesbaren Dateien das Wort >>text<< ausgegeben wird. Machen Sie es nicht wie Berkeley, die >>shell commands text<< in >>shell script<< anderten. Die Dateisystemtests basieren auf der Untersuchung der Ruckgabe des Systemaufrufs stat(2). Das Programm pruft, ob die Datei leer ist oder ob sie eine Art von besonderer Datei ist. Samtliche bekannten und fur 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 definiert sind. Die magischen Tests werden verwandt, um auf Dateien zu prufen, deren Daten in einem bestimmten, festen Format vorliegen. Das kanonische Beispiel hierfur ist das ausfuhrbare Programm (kompiliertes Programm) in einer a.out -Datei, dessen Format in , und moglicherweise 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 ausfuhrbares Programm ist und welches der mehreren Typen davon es ist. Das Konzept der >>magischen Zahl<< 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 der kompilierten magischen Datei /usr/share/file/misc/magic.mgc oder aus den Dateien im Verzeichnis /usr/share/file/misc/magic, falls die kompilierte Datei nicht existiert, gelesen. Zusatzlich 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 Eintrage 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-Zeichensatze (wie diese auf Macintosh und IBM-PC-Systemen verwandt werden), UTF-8-kodiertes Unicode, UTF-16-kodiertes Unicode und EBCDIC-Zeichensatze konnen 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 grosstenteils auf fast jedem Terminal lesbar sein werden; UTF-16 und EBCDIC sind nur >>character data<<, da der Text einer Ubersetzung bedarf, bevor er lesbar ist. Zusatzlich wird file versuchen, weitere Eigenschaften von textartigen Dateien zu bestimmen. Falls die Zeilen durch Wagenrucklauf (CR), Zeilenumbruch und Wagenrucklauf (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. ) die irgendwo in den ersten Blocken einer Datei auftauchen konnen. Beispielsweise deutet das Schlusselwort .br an, dass die Datei hochstwahrscheinlich eine troff(1) -Eingabedatei ist, sowie das Schlusselwort struct auf ein C-Programm hinweist. Diese Tests sind weniger zuverlassig als die vorherigen zwei Gruppen, daher werden sie als letztes durchgefuhrt. Die Sprachtestroutinen prufen auf einiges Vermischtes (wie tar(1) -Archive, JSON-Dateien). Jede Datei, bei der keine der oben aufgefuhrten Zeichensatze identifiziert werden kann, wird einfach als >>data<< gemeldet. OPTIONEN --apple Fuhrt dazu, dass der Befehl file den Dateityp und das Erstellerkurzel ausgibt, wie dies von fruheren MacOS-Versionen verwandt wurde. Das Kurzel besteht aus acht Buchstaben, wobei der erste den Dateityp, die nachfolgenden den Ersteller beschreiben. Diese Option wirkt nur fur Dateiformate korrekt, fur die eine Apple-artige Ausgabe definiert ist. -b, --brief Hangt keine Dateinamen vor Ausgabezeilen (knapper Modus). -C, --compile Schreibt eine magic.mgc Ausgabedatei, die eine vorverarbeitete Version der Magic-Datei oder des Magic-Verzeichnisses enthalt. -c, --checking-printout Fuhrt zu einer Uberprufungsausgabe 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 regulare Ausgabe zu handhaben (wie dies POSIX vorgibt) und fortzufahren. -e, --exclude Testname Schliesst den Test namens Testname aus der Liste der zur Bestimmung des Dateityps durchgefuhrten Tests aus. Gultige Testnamen sind: apptype EMX -Anwendungstyp (nur unter EMX). ascii Verschiedene Arten von Textdateien (dieser Test wird versuchen, die Textkodierung, unabhangig von der Einstellung der Option >>encoding<<, zu erraten). encoding Verschiedene Textkodierungen fur weiche magische Tests. tokens Zwecks Ruckwartskompatibilitat ignoriert. cdf Gibt Details zu >>Compound Document Files<< aus. compress Pruft auf komprimierte Dateien und schaut hinein. csv Pruft 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 Uberprufung der Prufsumme der 512-Byte-TAR-Kopfzeile. Durch Ausschliessen dieses Tests kann eine detailliertere Inhaltsbeschreibung durch Verwendung der weichen magischen Methode erhalten werden. text Ein Synonym fur >>ascii<<. --exclude-quiet Wie --exclude, ignoriert aber Tests, die file nicht kennt. Dies ist zur Kompatibilitat mit alteren Versionen von file gedacht. --extension Gibt eine Schragstrich-getrennte Liste von gultigen Erweiterungen fur den gefundenen Dateityp aus. -F, --separator Trenner Verwendet die angegebene Zeichenkette als Trenner zwischen Dateiname und den zuruckgegebenen Dateiergebnissen. Standardmassig >>:<<. -f, --files-from Namensdatei Liest die Liste der zu prufenden Dateien aus Namensdatei (eine pro Zeile) vor der Argumentenliste ein. Entweder Namensdatei oder mindestens ein Dateinamenargument muss vorhanden sein; um die Standardeingabe zu prufen, verwenden Sie >>-<< als Dateinamenargument. Bitte beachten Sie, dass Zeilenumbruche in Namensdatei entfernt werden und die eingeschlossenen Dateinamen verarbeitet werden, wenn diese Option angetroffen wird und bevor irgendeine Verarbeitung der weiteren Optionen erfolgt. Dies ermoglicht es, mehrere Listen von Dateien mit verschiedenen Befehlszeilenargumenten beim gleichen Aufruf von file zu verarbeiten. Wenn Sie daher den Trenner setzen wollen, mussen Sie dies tun, bevor Sie die Dateiliste angeben, also "-F @ -f Namensdatei" statt "-f Namensdatei -F @". -h, --no-dereference Diese Option fuhrt dazu, dass Symlinks nicht gefolgt wird (auf Systemen, die Symlinks unterstutzen). Dies ist die Vorgabe, falls die Umgebungsvariable POSIXLY_CORRECT nicht definiert ist. -i, --mime Fuhrt dazu, dass der Befehl file den MIME-Typ statt der traditionellen und menschenlesbaren Zeichenketten ausgibt. Daher konnte 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 fahrt fort. Nachfolgenden Treffern wird die Zeichenkette >>"\012- "<< vorangestellt. (Falls Sie einen Zeilenumbruch mochten, siehe die Option -r.) Das magische Muster mit der hochsten Starke (siehe die Option -l) kommt zuerst. -l, --list Zeigt eine Liste von Mustern und ihren Starken, absteigend sortiert gemass magic(5) -Starke, die zum Abgleich verwandt wird, an (siehe auch die Option -k). -L, --dereference Diese Option fuhrt dazu, dass Symlinks gefolgt wird, wie bei der gleichbenannten Option in ls(1) (auf Systemen, die symbolische Links unterstutzen). 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 Fullt Dateinamen nicht auf, so dass sie an der Ausgabe ausgerichtet sind. -n, --no-buffer Erzwingt, dass die Standardausgabe nach jeder Dateiuberprufung geschrieben wird. Dies ist nur nutzlich, wenn eine Liste von Dateien gepruft wird. Es ist fur den Einsatz in Programmen gedacht, die die Dateitypausgabe aus einer Pipe mochten. -p, --preserve-date Versucht auf Systemen, die utime(3) oder utimes(2) unterstutzen, die Zugriffszeiten der analysierten Dateien zu erhalten, um vorzugeben, dass file sie niemals eingelesen hat. -P, --parameter Name=Wert Setzt verschiedene Parameterbegrenzungen. Name Vorgabe Erklarung 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-Abschnittsgrosse encoding 65K maximale Anzahl an Byte, um die Kodierung zu bestimmen indir 50 Rekursionsbegrenzung fur indirekte Magie name 50 verwendet die Zahlbegrenzung fur Name/Verwendung-Magie regex 8K Langenbegrenzung fur Suchen mit regularen Ausdrucken -r, --raw Ubersetzt nicht darstellbare Zeichen nicht in \ooo. Normalerweise ubersetzt 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, fur die stat(2) meldet, dass sie gewohnliche Dateien seien. Dies verhindert Probleme, da das Lesen von besonderen Dateien zu merkwurdigen Konsequenzen fuhren kann. Durch Angabe der Option -s wird file auch Dateien aus den Argumenten lesen, die besondere Dateien (block- oder zeichenorientierte) sind. Dies ist nutzlich, um den Dateisystemtyp von Daten in rohen Plattenpartitionen, die besondere blockorientierte Dateien sind, zu bestimmen. Diese Option fuhrt auch dazu, dass file die durch stat(2) berichtete Dateigrosse ignoriert, da es auf einigen Systemen die Grosse Null fur rohe Plattenpartitionen meldet. -S, --no-sandbox Auf Systemen, auf denen Libseccomp (https://github.com/seccomp/libseccomp) verfugbar ist, deaktiviert die Option -S das standardmassig aktivierte Sandboxing. Diese Option wird benotigt, damit file externe Entpackprogramme ausfuhren kann, d.h. wenn die Option -z angegeben und die eingebauten Entpackprogramme nicht verfugbar sind. Auf Systemen, auf denen Sandboxing nicht verfugbar ist, hat dieser Schalter 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 uber 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 fur 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 offnen. file fugt ".mgc" zu dem Wert dieser Variablen hinzu, wo es sinnvoll ist. Die Umgebungsvariable POSIXLY_CORRECT steuert (auf Systemen, die symbolische Links unterstutzen), 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/file/misc/magic.mgc Kompilierte Vorgabeliste der Magie. /usr/share/file/misc/magic Verzeichnis, das die Vorgabe-Magie- Dateien enthalt. EXIT-STATUS file wird sich mit 0 beenden, falls die Aktion erfolgreich war oder >0, falls ein Fehler angetroffen wurde. Die folgenden Fehler fuhren zu Diagnosemeldungen, betreffen aber nicht den Exit-Code des Programms (wie von POSIX verlangt), ausser -E wurde angegeben: o Eine Datei konnnte nicht gefunden werden. o Eine Datei konnte aufgrund unzureichender Rechte nicht gelesen werden. o 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) STANDARDKONFORMITAT Es wird davon ausgegangen, dass dieses Programm die System-V- Schnittstellendefinition von FILE(CMD) ubererfullt, soweit das aus der ungenauen Sprache dieser Definition uberhaupt erschlossen werden kann. Das Verhalten ist grosstenteils kompatibel zu dem des Programms gleichen Namens aus System V. Diese Version kennt allerdings mehr Magie, daher wird es in vielen Fallen 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 mussen. So wurde zum Beispiel >10 string language impress (imPRESS data) in einer bestehenden Magie-Datei wie folgt geandert werden mussen: >10 string language\ impress (imPRESS data) Falls eine Musterzeichenkette einen Ruckwartsschragstrich enthalt, muss dieser zusatzlich maskiert werden. So wurde zum Beispiel 0 string \begindata Andrew Toolkit document in einer bestehenden Magie-Datei wie folgt geandert werden mussen: 0 string \\begindata Andrew Toolkit document SunOS von Sun Microsystems ab Version 3.2 enthalt einen Befehl file, der von dem aus System V abgeleitet ist, aber Erweiterungen enthalt. Diese Version unterscheidet sich geringfugig von dem von Sun. Sie enthalt 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) verfugbar ist, wird file die Systemaufrufe auf nur die fur die Aktion des Programms notwendigen einschranken. Diese Durchsetzung stellt keinen Sicherheitsvorteil dar, wenn file gebeten wird, Eingabedateien durch Aufruf von externen Programmen mit der Option -z zu dekomprimieren. Um die Ausfuhrung externer Dekomprimierer zu aktivieren, mussen Sie Sandboxing mittels der Option -S deaktivieren. MAGISCHES VERZEICHNIS Die magischen Eintrage fur File wurden aus verschiedenen Quellen gesammelt, hauptsachlich USENET, und verschiedene Autoren haben beigetragen. Christos Zoulas (Adresse siehe unten) sammelt zusatzliche oder korrigiert Eintrage fur File. Periodisch werden zusammengefuhrte magische Eintrage fur File verteilt. Die Reihenfolge der Eintrage in der magischen Datei ist relevant. Abhangig von dem von Ihnen verwandten System kann die Reihenfolge, in der sie zusammengestellt wurde, inkorrekt sein. Falls Ihr altes file eine magische Datei verwandte, behalten Sie diese bitte fur Vergleichszwecke (benennen Sie sie in /usr/share/file/misc/magic.orig um). GESCHICHTE Es gab einen Befehl file in jedem UNIX seit mindestens Research Version 4 (Datum der Handbuchseite: November 1973). Die System-V-Version fuhrte eine deutliche Anderung 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 geschrieben, ohne den Quelltext von irgendjemanden anzuschauen. John Gilmore uberarbeitete den Code umfangreich, er wurde dadurch besser als in der ersten Version. Geoff Collyer fand eine Reihe von Unzulanglichkeiten und stellte ein paar magische Eintrage fur File bereit. Beitrage des >>&<<-Betreibers Rob McMahon, , 1989. Guy Harris, , nahm seit 1993 bis heute viele Anderungen vor. Hauptsachliche Entwicklung und Betreuung seit 1990 bis heute erfolgt durch Christos Zoulas . Verandert durch Chris Lowth , 2000: die Option -i gibt MIME-artige Zeichenketten aus, verwendet eine alternative magische Datei und interne Logik. Verandert durch Eric Fischer , Juli 2000, um Zeichencodes zu erkennen und zu versuchen, die Sprache von nicht-ASCII-Dateien zu bestimmen. Verandert durch Reuben Thomas , 2007-2011, um MIME- Unterstutzung zu verbessern, MIME- und nicht-MIME-Magie zusammenzufuhren, fur Magie sowohl Verzeichnisse als auch Dateien zu unterstutzen, 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 fur 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 aufgefuhrt. 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 (besuchen Sie zum Abonnieren https://mailman.astron.com/mailman/listinfo/file). OFFENE PUNKTE Korrektur der Ausgabe, so dass nicht an allen Stellen Uberprufungen auf die Schalter MIME und APPLE erfolgen mussen und die eigentliche Ausgabe nur an einer Stelle erfolgt. Dafur wird ein Design benotigt. Vorschlag: mogliche 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 Eintragen ist plump und kompliziert; umschreiben und zentralisieren. Ein Teil der Kodierungslogik ist in encoding.c hartkodiert und konnte in die magischen Dateien verschoben werden, wenn wir eine !:charset- Notierung hatten. Weiter alle magischen Fehler beheben. Die Fehlerdatenbank von Debian ist eine gute Quelle. Speichern von beliebig langen Zeichenketten, beispielsweise fur %s- Muster, so dass sie ausgegeben werden konnen. Debian-Fehler #271672 korrigieren. Dies kann durch Zuweisung von Zeichenketten in eine Zeichenkettensammlung am Ende der magischen Datei erfolgen und anschliessender Umwandlung aller Zeichenkettenzeiger in relative Versatze aus der Zeichenkettensammlung. Eine Sytax fur relative Versatze nach der aktuellen Stufe hinzfugen (Debian-Fehler #466037). >>file -ki<< zum Laufen bringen, d.h. mehrere MIME-Typen zu ubergeben. Eine ZIP-Bibliothek zu ubergeben, so dass in Office2007-Dokumente geschaut werden kann, um weitere Details uber ihren Inhalt auszugeben. Eine Option hinzuzufugen, um URLs fur die Quellen der Dateibeschreibungen auszugeben. Skript-Suchen kombinieren und eine Moglichkeit hinzufugen, ausfuhrbare Namen auf MIME-Typen abzubilden (z.B. einen magischen Wert fur !:mime zu haben, der dazu fuhrt, dass die enstehende Zeichenkette aus einer Tabelle nachgeschlagen wird). Dies wurde vermeiden, die gleiche Magie mehrfach fur jeden neuen Skript-Interpreter hinzuzufugen. Wenn ein Datei-Deskriptor verfugbar ist, kann der Puffer ubersprungen und angepasst werden, statt der momentan eingesetzten, zusammengebastelten Pufferverwaltung. >>name<< und >>use<< korrigieren, so dass sie bei der Kompilierung auf Konsistenz prufen (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 Puffergrosse uberschreitet (Variable HOWMANY in file.h), dann wird nicht zu dem Versatz gesprungen, sondern aufgegeben. Es ware besser, wenn die Pufferverwaltung greifen wurde, sobald der Dateideskriptor verfugbar ist, so dass ein Suchen innerhalb der Datei moglich ist. Es muss allerdings Vorsicht walten gelassen werden, da dies Leistungs- und daher Sicherheits-Auswirkungen hat, da dadurch alles mogliches durch wiederholtes Suchen verlangsamt werden kann. Es gibt jetzt Unterstutzung fur das Vorhalten getrennter Puffer und dem Einsatz von Versatzen vom Ende der Datei, allerdings benotigt die interne Pufferverwaltung weiterhin eine Uberarbeitung. VERFUGBARKEIT Sie konnen die neuste Version des ursprunglichen Autors mittels anonymen FTP im Verzeichnis /pub/file/file-X.YZ.tar.gz auf ftp.astron.com erhalten. UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3: https://www.gnu.org/licenses/gpl-3.0.html oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer: debian-l10n-german@lists.debian.org Linux 6.8.2-arch2-1 21. Mai 2023 Linux 6.8.2-arch2-1