Dateiname Erweiterung

A Dateiname Erweiterung, Dateiname Erweiterung oder Dateierweiterung ist ein Suffix an das Name von a Computerdatei (z.B., .txt, .docx, .md). Die Erweiterung zeigt ein Merkmal des Dateiinhalts oder der beabsichtigten Verwendung an. Eine Dateiname -Erweiterung wird normalerweise vom Rest des Dateinamens mit a Punkt (Periode), aber in einigen Systemen[1] Es ist mit Räumen getrennt. Andere Erweiterungsformate umfassen Striche und/oder Unterstriche in frühen Versionen von Linux und einige Versionen von IBM AIX.

Etwas Dateisysteme Implementieren Sie den Dateinamen -Erweiterungen als Merkmal des Dateisystems selbst und können die Länge und das Format der Erweiterung einschränken, während andere die Dateinamen -Erweiterungen als Teil des Dateinamens ohne besondere Unterscheidung behandeln.

Verwendungszweck

Dateiname -Erweiterungen können als Art von betrachtet werden Metadaten.[2] Sie werden häufig verwendet, um Informationen über die Art und Weise zu implizieren, wie Daten in der Datei gespeichert werden können. Die genaue Definition, die die Kriterien für die Entscheidung über den Teil des Dateinamens angibt, gehört zu den Regeln der Spezifischen Dateisystem Gebraucht; Normalerweise ist die Erweiterung das Substring, das dem letzten Ereignis, falls vorhanden, folgt Punktcharakter (Beispiel: txt ist die Erweiterung des Dateinamens Readme.txt, und html die Erweiterung von mySite.index.html). Auf Dateisystemen einiger Mainframe -Systeme wie z. CMS in VM, VMsund von PC -Systemen wie z. CP/m und abgeleitete Systeme wie z. MS-DOS, Die Erweiterung ist separat Namespace Aus dem Dateinamen. Unter Microsoft DOS und Fenster, Erweiterungen wie z. Exe, Com oder SCHLÄGER Geben Sie an, dass eine Datei ein Programm ist ausführbar. Im OS/360 und NachfolgerDer Teil des Datensatznamens nach der letzten Periode wird von einer Software, z. B. als Erweiterung, behandelt, z. B.. Tso Bearbeiten, aber es hat keine besondere Bedeutung für das Betriebssystem selbst; Gleiches gilt für UNIX -Dateien in MVs.

Dateisysteme für Unix-artig Betriebssysteme trennen die Erweiterungsmetadaten nicht vom Rest des Dateinamens. Der Punktcharakter ist nur ein weiterer Charakter im Hauptdateinamen. Ein Dateiname kann keine Erweiterungen haben. Manchmal soll es mehr als eine Erweiterung haben, obwohl die Terminologie in dieser Hinsicht unterschiedlich ist und die meisten Autoren definieren Verlängerung Auf eine Weise, die nicht mehr als einen im selben Dateinamen zulässt. Mehr als eine Erweiterung repräsentiert normalerweise verschachtelte Transformationen, wie z. Dateien.tar.gz (das .Teer zeigt an, dass die Datei a ist Teerarchiv von einer oder mehreren Dateien und der .gz zeigt an, dass die TAR -Archivdatei mit komprimiert ist gzip). Programme, die Dateien transformieren oder erstellen, können die entsprechende Erweiterung zu Namen hinzufügen, die aus Eingabedateinamen abgeleitet wurden (sofern nicht ausdrücklich einen Ausgabedateinamen angegeben), aber das Lesen von Dateien ignorieren normalerweise die Informationen. Es ist hauptsächlich für den menschlichen Benutzer gedacht. Es ist häufiger, insbesondere in Binärdateien, damit die Datei selbst enthalten ist Interne Metadaten Beschreibung des Inhalts. In diesem Modell muss der vollständige Dateiname im Allgemeinen in Befehlen bereitgestellt werden, während der Metadatenansatz häufig die Auslassung der Erweiterung ermöglicht.

Das Vfat, NTFS, und Refs Dateisysteme für Fenster Trennen Sie auch die Erweiterungsmetadaten nicht vom Rest des Dateinamens und erlauben Sie mehrere Erweiterungen.

Mit dem Aufkommen von Grafische BenutzeroberflächenDas Problem des Dateimanagements und des Schnittstellenverhaltens ergab sich. Microsoft Windows erlaubte mehrere Anwendungen damit verbundenen mit einer bestimmten Erweiterung und unterschiedliche Aktionen für die Auswahl der erforderlichen Anwendung wie a Kontextmenü Bieten Sie eine Auswahl zwischen Anzeigen, Bearbeiten oder Drucken der Datei. Die Annahme war immer noch, dass jede Erweiterung einen einzelnen Dateityp darstellte; Es gab eine eindeutige Zuordnung zwischen Erweiterung und Symbol.

Das Klassischer Mac OS Entsorgung von Dateiname-basierten Erweiterungsmetadaten vollständig; Es wurde stattdessen eine bestimmte Datei verwendet Typschlüssel So identifizieren Sie das Dateiformat. Zusätzlich a Erstellercode wurde angegeben, um festzustellen, welche Anwendung bei der Datei gestartet werden würde Symbol war Doppelklick. Mac OSVerwendet jedoch Dateiname-Suffixe sowie Typ- und Schöpfercodes, weil sie von der Unix-ähnlichen Ableitung abgeleitet werden Nächster Schritt Betriebssystem.

Verbesserungen

Die Dateiname -Erweiterung wurde ursprünglich verwendet, um den generischen Typ der Datei zu bestimmen. Die Notwendigkeit, den Typ einer Datei in zu kondensieren, in Drei Zeichen führte häufig zu abgekürzten Erweiterungen. Beispiele sind die Verwendung .Gfx Für Grafikdateien, .TXT zum einfacher Text, und .Mus für die Musik. Da jedoch viele verschiedene Softwareprogramme hergestellt wurden, die alle diese Datentypen (und andere) auf verschiedene Weise behandeln, wurden die Dateinamen -Erweiterungen eng mit bestimmten Produkten verbunden - sogar mit bestimmten Produktversionen. Zum Beispiel früh WordStar verwendete Dateien .WS oder .Wsn, wo n war die Versionsnummer des Programms. Auch widersprüchliche Verwendungen einiger Dateinamen -Erweiterungen entwickelt. Ein Beispiel ist .RPM, verwendet für beide RPM -Paketmanager Pakete und Echter Spieler Media-Dateien;.[3] Andere sind .qif, geteilt von DeSqview Schriftarten, Beschleunigen Finanzbücher und Schnelle Zeit Bilder;[4] .gba, geteilt von Nimm es Skripte und Game Boy Advance ROM -Bilder;[5] .sb, benutzt für Kleinbasisch und Kratzen; und .dts, verwendet für Dynamix Dreiraum und Dts.

Einige andere Betriebssysteme, die Dateinamen -Erweiterungen verwendeten, hatten im Allgemeinen weniger Einschränkungen für Dateinamen. Viele erlaubten vollständige Dateiname -Längen von 14 oder mehr Zeichen, und die maximalen Namenslängen von bis zu 255 waren nicht ungewöhnlich. Die Dateisysteme in Betriebssystemen wie z. Mehrheit und Unix Speicherte den Dateinamen als einzelne Zeichenfolge, nicht in den Basisnamen- und Erweiterungskomponenten aufgeteilt, wobei das "". Nur ein weiteres Zeichen zu sein, das in Dateinamen zulässig ist. Solche Systeme ermöglichen im Allgemeinen Dateinamen variabler Länge, die mehr als einen Punkt und damit mehrere Suffixe ermöglichen. Einige Komponenten von Multics und Unix sowie Anwendungen, die auf ihnen ausgeführt wurden, verwendeten in einigen Fällen Suffixe, um Dateitypen anzuzeigen, aber sie verwendeten sie nicht so oft - beispielsweise hatten ausführbare und gewöhnliche Textdateien keine Suffixe in ihren Namen.

Das Hochleistungsdateisystem (HPFS), verwendet in Microsoft und IBM's OS/2 unterstützte auch lange Dateinamen und teilte den Dateinamen nicht in einen Namen und eine Erweiterung auf. Die Konvention der Verwendung von Suffixen wurde fortgesetzt, obwohl HPFS erweiterte Attribute für Dateien unterstützte, sodass der Typ einer Datei als erweitertes Attribut in der Datei gespeichert werden kann.

Microsoft's Windows NTnatives Dateisystem, NTFS, unterstützte lange Dateinamen und teilte den Dateinamen nicht in einen Namen und eine Erweiterung auf, aber die Konvention der Verwendung von Suffixen zur Simulation der Erweiterungen wurde fortgesetzt, um die Kompatibilität mit vorhandenen Windows -Versionen zu erhalten.

Wenn der Internet Alter kam zum ersten 8.3 Dateiname -Formate mussten Webseiten mit Namen erstellen, die in enden .Htm, während diejenigen benutzen Macintosh oder UNIX -Computer könnten die empfohlenen verwenden .html Dateiname Erweiterung. Dies wurde auch zu einem Problem für Programmierer, die mit dem experimentieren Java -Programmiersprache, seit es erfordert das Vier-Buchstaben-Suffix .Java zum Quellcode Dateien und das Fünf-Buchstaben-Suffix .Klasse für Java Compiler Objektcode Dateien ausgeben.[6]

Letztlich, Windows 95 Einführte Unterstützung für lange Dateinamen eingeführt und den Namen 8.3 Name/Erweiterung in Dateinamen von Nicht-NT-Fenstern in einer erweiterten Version der häufig verwendeten Versionen entfernt FETT Dateisystem genannt Vfat. VFAT erschien zuerst in Windows NT 3.5 und Windows 95. Die interne Implementierung langer Dateinamen in VFAT wird weitgehend als a angesehen kludge[von wem?], aber es entfernte die wichtige Längenbeschränkung und erlaubte Dateien, eine Mischung aus oberer Fall und Kleinbuchstaben Briefe auf Maschinen, die nicht laufen würden Windows NT Gut.

Befehlsname Probleme

Die Verwendung einer Dateiname -Erweiterung in einem Befehlsnamen wird gelegentlich angezeigt, normalerweise als Nebeneffekt des Befehls, der als Skript implementiert wurde, z. B. für die Bourne Shell oder für Pythonund der Dolmetschername, der an den Befehlsnamen satt wird, eine Praxis, die auf Systemen üblich ist, die auf Assoziationen zwischen Dateiname -Erweiterung und Dolmetscher beruhen, aber scharf veraltet sind[7] in Unix-artig Systeme wie z. Linux, Oracle Solaris, BSD-basierte Systeme und Apple's Mac OS, wo der Dolmetscher normalerweise als Header im Skript angegeben ist ("Shebang").

Auf assoziierten Systemen wird die Dateiname-Erweiterung im Allgemeinen einer einzigen systemweiten Auswahl von Dolmetschern für diese Erweiterung (z. B. ".py" zugeordnet Die Erweiterung wird weggelassen (unter der Annahme, dass ein geeignetes Einrichten durchgeführt wird). Wenn die Implementierungssprache geändert wird, wird auch die Erweiterung des Befehlsnamens geändert, und das Betriebssystem bietet eine konsistente API durch die Verwendung der gleichen erweiterungslosen Version des Befehls, die in beiden Fällen verwendet werden kann. Diese Methode leidet etwas unter der wesentlichen globalen Natur der Assoziationskartierung sowie unter der unvollständigen Vermeidung von Erweiterungen durch Entwickler beim Aufrufen von Programmen, und die Entwickler können diese Vermeidung nicht erzwingen. Windows ist der einzige weit verbreitete Arbeitgeber dieses Mechanismus.

Auf Systemen mit Dolmetscheranweisungen, einschließlich praktisch aller Versionen von UNIX, Befehlsname -Erweiterungen haben keine besondere Bedeutung und werden durch Standardpraxis nicht verwendet, da die primäre Methode zum Festlegen von Dolmetschern für Skripte darin besteht, sie mit einer einzelnen Zeile zu starten, die den zu verwendenden Interpreter angibt (was sein könnte (was sein könnte als degeneriert betrachtet Ressourcengabel). In diesen Umgebungen, einschließlich der Erweiterung in einem Befehlsnamen, enthüllt unnötig ein Implementierungsdetail, das alle Verweise auf die Befehle aus anderen Programmen zukünftige Risiken annimmt, wenn sich die Implementierung ändert. Zum Beispiel wäre es völlig normal, dass ein Shell -Skript in Python oder Ruby neu implementiert wird, und später in C oder C ++, die alle den Namen des Befehls ändern würden, wurden Erweiterungen verwendet. Ohne Erweiterungen hat ein Programm immer den gleichen Namen ohne Erweiterung, mit nur dem Interpreter -Richtlinie und/oder magische Zahl Das Ändern und Verweise auf das Programm aus anderen Programmen bleibt gültig.

Sicherheitsprobleme

Das Standardverhalten von Dateimanager, der Dateibrowser mitgeliefert mit Microsoft Windows, ist für Dateiname -Erweiterungen, die nicht angezeigt werden. Bösartige Benutzer haben versucht zu verbreiten Computer Virus und Computerwürmer Durch die Verwendung von Dateinamen wie gebildete Form wie Liebesletter-für-you.txt.vbs. Die Hoffnung ist, dass dies als erscheinen wird Liebesletter-für-you.txt, eine harmlose Textdatei, ohne den Benutzer darauf zu alarmieren, dass es sich um ein schädliches Computerprogramm handelt, in diesem Fall, geschrieben in Vbscript. Standardverhalten für Reactos ist die Anzeige von Dateinamen -Erweiterungen in Reactos Explorer.

Spätere Windows -Versionen (beginnend mit Windows XP Service Pack 2 und Windows Server 2003) enthalten anpassbare Listen von Dateinamen -Erweiterungen, die in bestimmten "Betriebszonen" als "gefährlich" angesehen werden sollten, z. B. wann heruntergeladen von dem Netz oder als E-Mail-Anhang erhalten. Modern Antiviren Software Systeme helfen auch dabei, Benutzer gegen solche versuchten Angriffe zu verteidigen, sofern möglich.

Einige Viren nutzen die Ähnlichkeit zwischen dem ".com" Top-Level-Domain und die ".Com" Dateiname Erweiterung Durch E-Mail an böswillige, ausführbare Befehls-Datei-Anhänge unter Namen unter Namen, die URLs oberflächlich ähnlich sind (z.B., "myParty.yahoo.com"), mit dem Effekt, dass nicht bewusstes Benutzer auf E-Mail-in-einbetten-Links klicken, die sie für Websites führen, aber tatsächlich die böswilligen Anhänge herunterladen und ausführen.

Es gab Fälle von Malware Erstellt, um Schwachstellen in einigen Windows-Anwendungen zu nutzen, die zu einem Stapelbasis führen können Pufferüberlauf Beim Öffnen einer Datei mit einer übermäßig langen, unberechtigten Dateiname -Erweiterung.

Die Dateiname -Erweiterung ist nur ein Marker, und der Inhalt der Datei muss nicht mithalten.[8] Dies kann verwendet werden, um böswillige Inhalte zu verschleiern. Wenn Sie versuchen, eine Datei aus Sicherheitsgründen zu identifizieren, wird es daher als gefährlich angesehen, sich allein auf die Erweiterung zu verlassen, und eine ordnungsgemäße Analyse des Inhalts der Datei wird bevorzugt. Zum Beispiel auf Unix Abgeleitete Systeme ist nicht ungewöhnlich, Dateien ohne Erweiterungen zu finden, wie Befehle wie z. Datei (Befehl) sollen stattdessen verwendet werden und lesen den Header der Datei, um den Inhalt zu bestimmen.

Alternativen

In vielen Internet Protokolle wie z. Http und Mime -E -MailDie Art eines Bitstreams wird als die angegeben Medientypoder MIME -Typ des Streams und nicht eine Dateiname -Erweiterung. Dies ist in einer Textzeile vor dem Stream angegeben, wie z. Inhaltstyp: Text/Ebene.

Es gibt keine Standardzuordnung zwischen Dateiname -Erweiterungen und Medientypen, was zu möglichen Interpretation der Interpretation zwischen Autoren, Webservern und Client -Software beim Übertragen von Dateien über das Internet führt. Beispielsweise kann ein Inhaltsautor die Erweiterung angeben svgz für einen komprimierten Skalierbare Vektorgrafiken Datei, aber ein Webserver, der diese Erweiterung nicht erkennt Anwendung/SVG+XML und seine erforderliche Komprimierungsheader, sodass Webbrowser das Bild nicht richtig interpretieren und anzeigen können.

Beos, Deren BFS Das Dateisystem unterstützt erweiterte Attribute, würde eine Datei mit ihrem Medientyp als erweitertes Attribut markieren. Das Kde und Gnom Desktop -Umgebungen Verbinden Sie einen Medientyp mit einer Datei, indem Sie sowohl das Dateiname -Suffix als auch den Inhalt der Datei in der Art und Weise der Datei untersuchen Datei Befehl als a Heuristik. Sie wählen die Anwendung zum Starten, wenn eine Datei basierend auf diesem Medientyp geöffnet wird, wodurch die Abhängigkeit von Dateiname -Erweiterungen verringert wird. Mac OS Verwendet sowohl Dateiname -Erweiterungen als auch Medientypen sowie Dateitypcodes, um a auszuwählen Einheitliche Kennung durch die Dateityp intern identifizieren.

Siehe auch

Verweise

  1. ^ "Was ist eine Datei?" (PDF). Z/VM - Version 7 Release 1 - CMS -Primer (PDF). IBM. 2018-09-11. p. 7. SC24-6265-00. Eine Sache, die Sie über das Erstellen von Dateien mit Z/VM wissen müssen, ist, dass jede Datei ihre eigene dreiteilige Kennung benötigt. Der erste Teil der Kennung ist der Dateiname. Der zweite Teil ist der Dateityp. Und der dritte Teil ist der Dateimodus. Diese drei Dateikennungen sind häufig abgekürzt Fn ft fm.
  2. ^ Stauffer, Todd; McElhearn, Kirk (2006). Beherrschen Mac OS X. John Wiley & Sons. S. 95–96. ISBN 9780782151282. Abgerufen 2. Oktober 2017.
  3. ^ Dateierweiterung .RPM -Details von Filext.com
  4. ^ Dateierweiterung .qif -Details von Filext.com
  5. ^ Dateierweiterung .gba Details von Filext.com
  6. ^ "Javac - Java -Programmiersprache Compiler". Sun Microsystems, Inc. 2004. Abgerufen 2009-05-31. Quellcode -Dateinamen müssen .java -Suffixe, Klassendateinamen. Class -Suffixe haben, und sowohl Quell- als auch Klassendateien müssen Rootnamen haben, die die Klasse identifizieren.
  7. ^ Befehlsname -Erweiterungen als schädlich angesehen
  8. ^ "Was ist eine Dateierweiterung?".

Externe Links