UNIX / Linux hat nicht dasselbe frühe DOS / CP / M-Erbe wie Windows. Daher sind Erweiterungen für die meisten UNIX-Dienstprogramme und -Tools im Allgemeinen weniger wichtig.
Normalerweise verwende ich nur eine Befehlszeilenumgebung. Erweiterungen in einer solchen Umgebung unter Linux sind nur aus Bequemlichkeitsgründen für den Bediener oder Benutzer von Bedeutung. (Ich habe nicht genug Erfahrung mit KDE oder GNOME, um zu wissen, wie ihre Dateimanager mit Erweiterungen umgehen.)
Aber solche Bequemlichkeit ist normalerweise wichtig. Wenn config.ini
es wirklich im Microsoft-Standard ".ini" -Format ist, würde ich die Erweiterung stehen lassen. Einfache alte Textdateien haben in Linux normalerweise keine Erweiterung, dies ist jedoch nicht für alle Programmkonfigurationsdateien universell. Der Programmierer kann das normalerweise entscheiden.
Ich denke, ".txt" ist unter Linux nützlich, wenn Sie betonen möchten, dass es sich NICHT um eine Konfigurationsdatei oder ein anderes maschinenlesbares Dokument handelt. In Quelldistributionen ist es jedoch üblich, solche Dateien alle Großbuchstaben ohne Erweiterung zu benennen (dh README, INSTALL, COPYING usw.).
Es gibt einige Standards und Konventionen, aber nichts hindert Sie daran, irgendetwas zu benennen, was immer Sie wollen, es sei denn, Sie teilen Dinge mit anderen.
Unter Windows bedeutet die Benennung einer Datei .exe
für die Shell (normalerweise explorer.exe
), dass es sich um eine ausführbare Datei handelt. UNIX baut dieses Wissen in die Berechtigungen des Dateisystems ein. Wenn die richtigen x
Bits (siehe man chmod
) gesetzt sind, wird dies von Shells und Kernelfunktionen als ausführbar erkannt (glaube ich). Darüber hinaus kümmert es Linux nicht, die meisten Shells kümmern sich nicht darum, und die meisten Programme sehen in der Datei nach, ob es sich um einen "Typ" handelt.
Natürlich gibt es den netten Befehl, file
der die Datei analysieren und Ihnen mit Sicherheit sagen kann, was sie ist. Ich glaube, wenn es die Daten in der Datei nicht mit einem bekannten Typ abgleichen kann und wenn es nur druckbare ASCII / Unicode-Zeichen enthält, dann nimmt es an, dass es eine Textdatei ist.
@ Bruce Ediger unten ist absolut richtig. Es gibt nichts auf Kernel- oder Dateisystemebene, dh Linux selbst, das erzwingt oder dafür sorgt, dass der Inhalt einer Datei mit ihrem Namen oder dem Programm, das sie verstehen soll, übereinstimmt. Dies bedeutet nicht, dass es nicht möglich ist, eine Shell oder ein Startprogramm zu erstellen, um Dinge basierend auf dem Dateinamen auszuführen.