Wie Sie richtig herausgefunden haben, muss die Dateierweiterung nicht mit bestimmten Elementen übereinstimmen.
Auf Unix-ähnlichen Systemen werden Dateitypen normalerweise vom Inhalt der Datei (dh der "magischen Zahl" oder anderen charakteristischen Strukturen in den ersten Bytes) und nicht von ihrem Namen abgeleitet. Sie können auch die Erweiterung, die häufig für ausführbare Dateien ausgeführt wird, vollständig weglassen.
Überprüfen Sie den file
Befehl, es zeigt Ihnen die Informationen, die es über einen Dateityp aus seinem Inhalt herausfinden kann.
Für ein ausführbares Skript erwartet das System in der ersten Zeile einen sogenannten "shebang", der zB so aussieht
#!/usr/bin/env python3
und gibt an, welches Programm als Interpreter mit der Skriptdatei als Argument ausgeführt werden soll. Wenn Sie eine Textdatei ohne einen solchen Schebang ausführen, wird Ihre Standard-Shell verwendet, dh Bash, um zu versuchen, sie zu interpretieren.
Auf Unix / Linux-Systemen sind Dateinamenerweiterungen daher meistens ein Hinweis (aber keine Garantie) für den menschlichen Benutzer, um schnell zu erkennen, was in einer bestimmten Datei zu erwarten ist. Es ist auch eine Konvention, die z. B. beim schnelleren Auffinden von Dateien helfen kann.
Beachten Sie jedoch, dass es einige Ausnahmen gibt, bei denen der Name und die Erweiterung von Bedeutung sind (z. B. einige Systemkonfigurationsdateien, die einer Namenskonvention folgen müssen, oder viele Bildbetrachter und -editoren benötigen ebenfalls die Erweiterung, um den Dateityp anzugeben).
Sie können auch einen Blick auf Haben Dateierweiterungen einen Zweck (für das Betriebssystem)?