www.wikidata.de-de.nina.az
Dieser Artikel behandelt das Unix Programm file Im Speziellen ist data file der englische Begriff fur Datei im Allgemeinen fur eine Akte oder Kartei Siehe auch File Filet bzw Phile file ist ein Unix Programm zum Auslesen des Unix Dateityps des Dateiformats oder des MIME Typs einer Datei sowie anderer Informationen uber selbige Dabei kann file lediglich jene Dateiformate und MIME Typen korrekt ausgeben die dem zugrundeliegenden Betriebssystem bekannt sind 3 fileBeispielBasisdatenMaintainer Christos ZoulasAktuelle Version 5 45 1 27 Juli 2023 Betriebssystem Unix ahnliches SystemProgrammiersprache C 2 Kategorie BefehlszeilenprogrammLizenz 2 Klausel BSD Lizenzdeutschsprachig neindarwinsys com file Inhaltsverzeichnis 1 Geschichte 2 Spezifikation 3 Benutzung 4 Beispiele 5 Siehe auch 6 Weblinks 7 EinzelnachweiseGeschichte BearbeitenDie erste Version von file datiert zuruck bis 1973 Unix Research Version 4 System V beinhaltete schon eine wesentlich verbesserte Version von file seit dieser Version wurden die Informationen uber die Dateitypen nicht mehr direkt in die Programmdatei kompiliert sondern von einer externen Textdatei mime magic file zur Laufzeit eingelesen Die heutzutage verbreiteten Unix Derivate das heisst vor allem BSD und Linux verwenden eine freie Open Source Implementierung die von Ian Darwin neu geschrieben wurde Diese Implementierung wurde 1989 von Geoff Collyer weiterentwickelt und erhielt seitdem verschiedenste Verbesserungen unter anderem von beruhmten Open Source Hackern wie Guy Harris Chris Lowth und Eric Fischer Der aktuelle Betreuer ist Christos Zoulas Spezifikation BearbeitenDie Single UNIX Specification SUS sieht vor dass eine Implementierung des Programms file eine fest definierte Reihe von Tests mit der auf der Kommandozeile angegebenen Datei durchfuhren muss um damit ihren Typ festzustellen wenn die Datei nicht gelesen werden kann beispielsweise aufgrund fehlender Dateirechte oder weil sie nicht existiert ist ihr Typ nicht feststellbar undefiniert file gibt aus dass die Datei nicht eingelesen werden konnte file stellt anhand eines stat Systemaufrufes fest um welchen Dateityp es sich handelt Unter Unix gibt es ausser normalen Dateien noch Verzeichnisse FIFOs Sockets Blockdateien block special und Zeichendateien character special Leere Dateien werden als solche festgestellt zum Beispiel Dateien die per a href Touch Unix html title Touch Unix touch a ohne Inhalt erstellt wurden oder typischerweise Sperrdateien file liest die ersten Bytes bzw die ganze Datei ein und versucht dateitypspezifische Muster festzustellen um auf diese Weise den Dateityp in Erfahrung zu bringen Wenn keine der Methoden zu einer Bestimmung des Dateityps gefuhrt hat wird die Datei als unbekannte Datei data bezeichnet In zeitgemassen Implementierungen von file werden in den Tests in denen Teile der Datei eingelesen werden Vergleiche mit einer Textdatenbank angestellt die magische Zahlen enthalt Damit unterscheidet sich file von wesentlich primitiveren Dateityperkennungen z B anhand Dateiendungen oder MIME Typ Angaben In den meisten Implementierungen benutzt file eine Datenbank mit der es die ersten Bytes einer Datei abgleicht Diese Datenbank wird ublicherweise in einer sogenannten magic Datei engl Magisch gespeichert welche typischerweise im Dateisystem unter etc magic usr share file magic o a gespeichert wird Der Umfang dieser Datei ist meist ausschlaggebend fur die Gute der file Tests zur Bestimmung auch exotischer Dateitypen Benutzung Bearbeitenfile lasst sich wie die meisten Unix Kommandos quasi intuitiv benutzen Ein Aufruf lauft nach dem Schema file Optionen Datei Eine der Single UNIX Specification konforme Implementierung von file muss mindestens die folgenden Argumente verarbeiten konnen Befehlszeilenparameter von file Parameter Bedeutung M i magicfile i Eine eigene magische Datei angeben die zur Dateityp Bestimmung benutzt werden soll Die normalerweise durchgefuhrten Tests werden dabei ubersprungen m i magicfile i Funktioniert genauso wie M i magicfile i nur dass die anderen Tests auch durchgefuhrt werden h Die potentielle Verwendung von Softlinks ausgeben i Klassifiziert die Datei in eine der folgenden Gruppen nonexistent directory FIFO socket block special character special symbolic link regular file empty file unreadable file executable ar archive extended cpio format extended tar format shell script C programming language source FORTRAN programming language source data fileBeispiele BearbeitenDie folgenden Beispiele zeigen die typischen Ausgaben von file wenn man das Programm mit diversen Dateitypen aufruft Die fiktiven Dateinamen sollen dabei dem eigenen Dateityp entsprechen Das Doppelkreuz soll andeuten dass diese Zeile in einer Shell eingegeben werden muss 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 compressed gz compressed gz gzip compressed data deflated original filename compressed last modified Thu Jan 26 14 08 23 2006 os Unix file data ppm data ppm Netpbm PPM rawbits image dataSiehe auch Bearbeitenbinfmt misc Ein Linux Kernelmodul das wie file anhand der ersten Bytes von Dateien magic numbers Dateitypen zu erkennen versucht und damit Programme erkennt und ausfuhrt Weblinks Bearbeiten a href http www opengroup org onlinepubs 9699919799 utilities file html file a determine file type Open Group Base Specification POSIX Funktionsaufruf a href https pubs opengroup org onlinepubs 009695399 functions stat html stat a b file 1 b OpenBSD General Commands Manual b file 1 b Debian GNU Linux Ausfuhrbare Programme oder Shell Befehle Handbuchseite Sourcecode von fileEinzelnachweise Bearbeiten Christos Zoulas File file 5 45 is now available 27 Juli 2023 abgerufen am 28 Juli 2023 The file Open Source Project on Open Hub Languages Page In Open Hub abgerufen am 17 Juli 2018 FILE 1 In Debian Manpages Debian Handbuchseiten Abgerufen am 20 Februar 2021 englisch Abgerufen von https de wikipedia org w index php title File amp oldid 221306558