Ursprünglich waren auf Unix-Systemen die Erweiterungen von Dateinamen eine Frage der Konvention. Sie erlaubten einem Menschen, das richtige Programm zum Öffnen einer Datei auszuwählen. Die moderne Konvention sieht in den meisten Fällen Erweiterungen vor; häufige Ausnahmen sind:
- Nur reguläre Dateien haben eine Erweiterung, keine Verzeichnisse oder Gerätenamen. Die bloße Tatsache, ein Verzeichnis oder Gerät zu sein, reicht aus, um den Dateityp anzugeben.
- Ausführbare Dateien, die direkt aufgerufen werden sollen, haben keine Erweiterung. Die bloße Tatsache, ausführbar zu sein, reicht für den Benutzer aus, und der Kernel kümmert sich nicht um Dateinamen.
- Dateien mit einem Wort in allen Kappen beginnen , sind häufig Textdateien, zum Beispiel
README
, TODO
. Manchmal gibt es ein zusätzliches Teil, der eine Unterkategorie angeben, zum Beispiel INSTALL.linux
, INSTALL.solaris
.
- Dateien , deren Name mit einem Punkt sind Konfigurations- oder Statusdateien einer bestimmten Anwendung, und oft keine Erweiterung haben, zum Beispiel
.bashrc
, .profile
, .emacs
.
- Es gibt einige traditionelle Fälle, z
Makefile
.
(Dies sind häufige Fälle, keine festen Regeln.)
Die meisten binären Dateiformate enthalten auch eine Art Header, der die Eigenschaften der Datei beschreibt und normalerweise die Identifizierung des Dateiformats durch magische Zahlen ermöglicht . Der file
Befehl überprüft diese Informationen und zeigt Ihnen seine Vermutungen.
Manchmal liefert die Dateierweiterung mehr Informationen als das Dateiformat, manchmal ist es umgekehrt. Beispielsweise bestehen viele Dateiformate aus einem Zip- Archiv: Java-Bibliotheken ( .jar
), OpenOffice-Dokumente ( .odt
,…), Microsoft Office-Dokumente ( .docx
,…) usw. Ein weiteres Beispiel sind Quellcodedateien, bei denen die Erweiterung die Programmiersprache angibt, die dies kann Es ist für einen Computer schwierig, den Inhalt der Datei automatisch zu erraten. Umgekehrt sind einige Erweiterungen sehr vieldeutig, z. B. .o
werden sie für kompilierte Codedateien ( Objektdateien ) verwendet. Die Überprüfung des Dateiinhalts zeigt jedoch normalerweise leicht, für welchen Maschinentyp und welches Betriebssystem die Objektdatei bestimmt ist.
Ein Vorteil der Erweiterung ist, dass sie viel schneller erkannt werden kann als die Datei zu öffnen und nach magischen Sequenzen zu suchen. Zum Beispiel basiert die Vervollständigung von Dateinamen in Shells fast immer auf dem Namen (hauptsächlich der Erweiterung), da das Lesen jeder Datei in einem großen Verzeichnis lange dauern kann, während das Lesen der Dateinamen für eine TabPresse schnell genug ist .
Manchmal können Sie durch Ändern der Dateierweiterung festlegen, wie eine Datei interpretiert werden soll, wenn zwei Dateiformate fast, aber nicht vollständig identisch sind. Zum Beispiel kann ein Web - Server behandeln könnte .shtml
und .html
anders, das ehemalige beziehungsweise werden serverseitige Vorverarbeitung diente das letztere , wie sie ist.
Bei gzip-Archiven gzip
werden Dateien, deren Name auf endet .gz
, .tgz
und einige andere Erweiterungen nicht erneut komprimiert . Auf diese Weise können Sie gzip *
jede Datei in einem Verzeichnis komprimieren, und bereits komprimierte Dateien werden nicht geändert.