Ist es Teil eines Standards (z. B. POSIX), dass Systemdateien klein geschrieben werden müssen?

Ist es Teil eines Standards (z. B. POSIX), dass Systemdateien klein geschrieben werden müssen?

Mein Unternehmen verkauft eine Anwendung weiter, deren Markenname aus Groß- und Kleinschreibung besteht, zum Beispiel „Anwendungsname“.

Der Installer der Anwendung legt alle Pfade und Dateinamen in diesem Standard an. Z.B. Das Hauptverzeichnis ist /opt/ApplicationName, die Init-Datei heißt ApplicationNamealso , also muss ich ausführen service ApplicationName statusund so weiter.

Meiner Ansicht nach verstößt dies gegen alle sinnvollen Konventionen und ich bin der Meinung, dass alle Dateien und Verzeichnisse klein geschrieben werden sollten (es gibt einen Präzedenzfall in anderen Anwendungen wie MySQL, wo alle Dateien und Verzeichnisse klein geschrieben werden mysql; sogar Anwendungen wie Apache und Tomcat verzichten auf den vorangestellten Großbuchstaben).

Wenn ich dies als Fehlerbericht vorlege, möchte ich ein stärkeres Argument vorbringen als nur „Ich denke, es ist falsch“. Ist es also in so etwas wie dem POSIX-Standard vorgeschrieben, dass Systemdateien wie diese klein geschrieben werden müssen?

Antwort1

Nein, für Installationsverzeichnisse von Softwarepaketen werden keine Namen in Kleinbuchstaben angegeben.

Tatsächlich /optbegannen die installierten Softwarepakete in der Vergangenheit mit dem Börsenkürzel in Großbuchstaben des Unternehmens, das das Paket bereitstellte, wie etwa SUNWbei Sun Microsystems oder ORCLOracle.

Daher würden Pakete wie das QFS-Dateisystem von Sun in einem Verzeichnis mit einem solchen Namen installiert /opt/SUNWqfs.

Antwort2

Der POSIX-Standard enthält einen Abschnitt mit Richtlinien fürkonforme Dienstprogramme(dh „wie solche, die speziell für ein lokales System geschrieben wurden oder Komponenten einer größeren Anwendung sind“), das besagt

  1. Dienstprogrammnamen sollten zwischen zwei und neun Zeichen lang sein.
  2. Dienstprogrammnamen sollten Kleinbuchstaben (die niedrigere Zeichenklassifizierung) und nur Ziffern aus dem portablen Zeichensatz enthalten.

[Referenz:12.2 Richtlinien zur Dienstprogrammsyntax]

Mir ist nicht klar, ob die Verwendung der Worte „sollte umfassen“ wirklich „solltenureinschließen". (In den Kommentaren weiter unten herrscht Konsens darüber, dass es „sollte nur einschließen“ bedeutet.)

Eine Anwendung auf einem Unix-System, die nicht den Anspruch erhebt, ein POSIX-konformes Dienstprogramm zu sein, kann ansonsten jeden beliebigen Namen verwenden. Wenn estutAnspruch, ein POSIX-konformes Dienstprogramm zu seindas ist Teil der POSIX-Shell-Dienstprogramme, heißt es im Text nach den Richtlinien in Abschnitt 12.2, dass sich die Bedeutung von „sollte“ in „muss“ ändert.

Es gibt keine ähnlichen Richtlinien bezüglich Verzeichnisnamen, soweit ich weiß. macOS (das istein zertifiziertes UNIX 03 Produktbei der Ausführung auf einem Intel-basierten Mac-Computer) wird /Usersbeispielsweise als Präfix für die Home-Verzeichnisse des Benutzers sowie für eine Reihe anderer Verzeichnisnamen in Groß- und Kleinschreibung verwendet.

Antwort3

Neben den genannten POSIX-Richtlinien denke ich, dass die Benutzertradition noch mehr Gewicht haben könnte. Groß-/Kleinschreibungsnamen wie „ApplicationName“ wurden mit der Explosion der Wikis populär und gewöhnten einige Leute (wie mich) daran, Großbuchstaben statt Bindestrichen oder, schlimmer noch, Leerzeichen zu verwenden. Aber das geschah einige Jahre, nachdem Linux und ähnliche Betriebssysteme populär wurden, die eine sehr lange Unix-Tradition hinter sich hatten.

Diese Tradition bestand (besteht) immer in der Einfachheit, nicht nur um den von Kusalananda aufgezeigten Regeln zu folgen, sondern auch um Wörter mit nur vier bis sechs Zeichen abzukürzen (z. B. /usrfür „user“, /srv„serve“ oder /mnt„mounted“) und offensichtlich längeren Bedeutungen ( /sbinfür „Superuser-Binärdateien“). In dieser Tradition sind Großbuchstaben, die Sie zwingen, die Umschalttaste und vielleicht versehentlich auch die Feststelltaste zu drücken, einfach böse.

In gewisser Weise ist dies erstaunlich, da Unix-Systeme schon lange in der Lage waren, lange Dateinamen mit Groß- und Kleinschreibung zu schreiben, während MS-DOS/Windows im Gegensatz dazu auf kurze Dateinamen ohne Groß- und Kleinschreibung (acht Zeichen plus drei für die Erweiterung) beschränkt waren. Diese Einfachheit ging jedoch schnell verloren („Programme“, „Eigene Dateien“ usw.), als Windows 95 diese Beschränkung aufhob.

Dennoch gibt es heute noch ein paar Ausnahmen wie den NetworkManagerDaemon und wahrscheinlich werden wir in Zukunft noch mehr WikiWords sehen. Aber wir hassen die Maus immer noch und schreiben im Terminal lange Namen, die man nur mit der Autovervollständigung beenden kann . Oder sieht jemand einen Vorteil darin, in TabTabumzubenennen ?vimVisualImproved

verwandte Informationen