Mein Unternehmen verkauft eine Anwendung weiter, deren Markenname gemischte Groß- und Kleinschreibung hat, beispielsweise "ApplicationName".
Das Installationsprogramm der Anwendung erstellt alle Pfade und Dateinamen in diesem Standard. ZB Das Hauptverzeichnis ist /opt/ApplicationName
, die Init-Datei heißt ApplicationName
also muss ich laufen service ApplicationName status
und so weiter.
Für mich verstößt dies gegen alle sinnvollen Konventionen, und ich bin der Meinung, dass alle Dateien und Verzeichnisse in Kleinbuchstaben geschrieben werden sollten (dies gilt auch für andere Anwendungen wie MySQL, deren Dateien und Verzeichnisse alle so genannt werden mysql
, selbst Anwendungen wie Apache und Tomcat machen die vorhergehenden überflüssig Großbuchstabe).
Wenn ich dies als Fehlerbericht anspreche, möchte ich ein stärkeres Argument vorbringen als nur "Ich denke, es ist falsch". Ist es also so wie im POSIX-Standard vorgeschrieben, dass solche Systemdateien in Kleinbuchstaben geschrieben werden sollten?
quelle
Antworten:
Der POSIX-Standard enthält einen Abschnitt mit Richtlinien für konforme Dienstprogramme (z. B. solche, die für ein lokales System geschrieben wurden oder Komponenten einer größeren Anwendung sind)
[Ref: 12.2 Utility-Syntaxrichtlinien ]
Es ist mir unklar, ob die Verwendung der Wörter "sollte einschließen" wirklich "sollte nur einschließen" bedeutet. (Der Konsens in den Kommentaren unten ist, dass es "nur einschließen sollte" bedeutet).
Eine Anwendung auf einem Unix-System, die nicht behauptet, ein POSIX-konformes Dienstprogramm zu sein, kann ansonsten einen beliebigen Namen verwenden. Wenn es tut Anspruch ein POSIX - konformes Programm zu sein , den Teil des POSIX - Shell - Utilities ist , wird der Text nach den Richtlinien in Abschnitt 12.2 sagt , dass „sollten“ Änderungen Bedeutung zu „sollen“.
Soweit mir bekannt ist, gibt es keine vergleichbare Richtlinie für Verzeichnisnamen. macOS ( ein zertifiziertes UNIX 03-Produkt, wenn es auf einem Intel-basierten Mac ausgeführt wird) verwendet
/Users
beispielsweise als Präfix für die privaten Verzeichnisse des Benutzers eine Reihe anderer Verzeichnisnamen in Groß- und Kleinschreibung.quelle
should
Folgendes: " Beschreibt für eine Implementierung, die der Norm IEEE 1003.1-XXXX entspricht, eine Funktion oder ein Verhalten, das empfohlen, aber nicht obligatorisch ist. Eine Anwendung sollte sich nicht auf das Vorhandensein der Funktion oder des Verhaltens stützen. Eine Anwendung, die sich auf eine solche Funktion stützt." Es kann nicht garantiert werden, dass eine Funktion oder ein Verhalten auf konforme Implementierungen übertragbar ist.Nein, für Installationsverzeichnisse von Softwarepaketen werden keine Kleinbuchstaben angegeben.
In der Tat wurden Softwarepakete, die in der Vergangenheit installiert wurden,
/opt
mit dem Börsensymbol des Unternehmens gestartet, das das Paket anbietet, z. B.SUNW
für Sun Microsystems oderORCL
Oracle.Pakete wie das QFS-Dateisystem von Sun werden also in einem Verzeichnis mit dem Namen installiert
/opt/SUNWqfs
.quelle
should
sich als wesentlichit is recommended
Neben den genannten POSIX-Richtlinien denke ich, dass die Nutzertradition noch mehr Gewicht haben könnte. Fallnamen wie "ApplicationName" wurden mit der Wikis-Explosion populär und gewöhnten einige Leute (wie mich), Großbuchstaben anstelle von Bindestrichen oder schlechteren Leerzeichen zu verwenden. Aber dies war einige Jahre, nachdem Linux und ähnliche Betriebssysteme populär geworden waren, mit einer sehr langen Unix-Tradition dahinter.
Diese Tradition war (ist) immer die Einfachheit, nicht nur den Regeln zu folgen, auf die Kusalananda hingewiesen hat, sondern auch Wörter mit nur vier bis sechs Zeichen abzukürzen (z. B.
/usr
für "Benutzer" oder/srv
für "Aufschlag" oder/mnt
für "Aufgestellt") und offensichtlich längere Bedeutungen (/sbin
für "Superuser-Binärdateien"). In dieser Tradition ist es einfach böse, Sie zu zwingen, die Umschalttaste und möglicherweise auch die Feststelltaste in Großbuchstaben zu drücken.In gewissem Maße ist dies erstaunlich, da Unixes lange Zeit in der Lage war, lange Dateinamen zu schreiben, während MS-DOS / Windows auf kurze Dateinamen beschränkt war, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wurde (acht Zeichen plus drei für die Erweiterung), die jedoch schnell verloren gingen diese Einfachheit ("Programme", "Eigene Dateien" usw.), wenn Windows 95 diese Einschränkung überschreitet.
Trotzdem gibt es heute einige Ausnahmen wie den
NetworkManager
Daemon und wahrscheinlich werden wir in Zukunft mehr WikiWords sehen. Trotzdem hassen wir die Maus und schreiben in das Terminal lange Namen, die man nur mit der TabTabAutovervollständigung beenden kann . Oder jemand sehen einige Vorteile Umbenennungvim
zuVisualImproved
?quelle
/usr
ist keine Abkürzung für "Benutzer". Es ist eine Abkürzung für "Unix-Systemressource"/usr
ursprünglich das Verzeichnis, in dem sich die Home-Verzeichnisse der Benutzer befanden (wie/home
heute). Ich stimme Hobbs zu.My Computer
ist und war es noch nie ein Verzeichnis. Es ist nur ein Shell-Konstrukt; Sie können dies veranschaulichen, indem Sie überlegen, wie Sie in einer Eingabeaufforderung oder in einer Win16-Anwendung alten Stils zu dieser navigieren würden.Program Files
ist ein Durcheinander für sich, mit seinem lokalisierten Namen; Ich bin gestern buchstäblich auf dieses Problem gestoßen , als eine Software den englischen Namen von annahm,Program Files
aber der tatsächliche Name, wie er verwendet wurde, auf dem System lokalisiert war. Wahrscheinlich einer der schlimmsten Fehler von Microsoft in Windows 95./usr
undUnix System Resources
Und ja, in früheren Versionen von Unix lebten die Home-Verzeichnisse der Benutzer auch