Kleinbuchstaben in Linux-Dateinamen


11

Da ich finde, dass UpperCase für die Worttrennung von Anfangsbuchstaben in langen komplexen Namen wirklich lesbar ist, neige ich dazu, einige meiner Linux-Dateinamen mit etwas UpperCase zu versehen. Meist ausführbare Dateien, einige Verzeichnisse auch.

Aber es ist ein paar Wochen her, dass ich bemerkt habe, dass die große Mehrheit aller Dateinamen in meiner Linux-Distribution in Kleinbuchstaben geschrieben ist ...

Also habe ich vorhin ein bisschen gegoogelt und diesen Artikel gefunden: Linux-Dateinamen , der besagt, dass man in der Unix-Welt immer Kleinbuchstaben verwenden sollte ,

... Es ist am besten, unter Linux immer Kleinbuchstaben zu verwenden, es sei denn, Sie können sich einen guten Grund für die Verwendung von Groß- oder Großbuchstaben vorstellen. Die meisten Unix-Benutzer verwenden fast ausschließlich Kleinbuchstaben, aber abgesehen von diesem "kulturellen" Punkt gibt es noch einen weiteren guten Grund, Kleinbuchstaben zu verwenden. Wenn Sie ein DOS-Dateisystem unter Linux freigeben oder darauf zugreifen, kann DOS die Dateien mit Dateinamen in Groß- oder Großbuchstaben nicht sehen ...

Ist das wirklich der Fall?


2
Ja, das ist wirklich der Fall. Unix-Leute scheinen die Umschalttaste nicht zu finden. Aber es gibt wirklich nichts, was gerechtfertigt wäre, um Regeln gegen gemischte Fälle zu unterstützen. Es ist nur ein Scherz.
Ross Patterson

Antworten:


20

Programmierer verabscheuen die Verwendung der Umschalttaste (und die Feststelltaste versuchen viele zu beseitigen ). Fahren Sie an der Stelle fort, an der steht: "Verwenden Sie immer Kleinbuchstaben" ...

Es ist am besten, unter Linux immer Kleinbuchstaben zu verwenden, es sei denn, Sie können sich einen guten Grund für die Verwendung von Groß- oder Großbuchstaben vorstellen. Die meisten Unix-Benutzer verwenden fast ausschließlich Kleinbuchstaben, aber abgesehen von diesem "kulturellen" Punkt gibt es noch einen weiteren guten Grund, Kleinbuchstaben zu verwenden. Wenn Sie ein DOS-Dateisystem unter Linux freigeben oder darauf zugreifen, kann DOS die Dateien mit Dateinamen in Groß- oder Großbuchstaben nicht sehen.

Der Hauptgrund dafür ist, dass beim Übertragen von zwei Dateien, die nur durch Groß- und Kleinschreibung getrennt sind, auf ein System ohne Berücksichtigung der Groß- und Kleinschreibung verwirrende Dinge auf dem Computer ohne Berücksichtigung der Groß- und Kleinschreibung passieren können.

Die Dateien auf Ihrem Linux-Computer gehören Ihnen. Mach mit ihnen, wie du willst, auf eine Weise, die für dich Sinn macht.

Ich habe festgestellt, dass eine Konvention der Verwendung von Großbuchstaben für den führenden Buchstaben eines Verzeichnisses mir das Navigieren erleichtert . Wenn Sie ein 'ls' im Verzeichnis ausführen, werden automatisch alle Verzeichnisse an die Spitze der Liste gesetzt und die Verzeichnisse von den Dateien getrennt, um das Anzeigen und Navigieren zu erleichtern. Aber auch das ist für mich - mach was für dich funktioniert .


1
DOS? "Ja wirklich?" Das ist nicht mehr relevant.
Maximus Minimus

3
@ mh01 Früher habe ich EBCDIC als nicht relevant angesehen, bis ich mich letztes Jahr mit einem System befassen musste, das diesen Zeichensatz und nicht ASCII gesendet hat. Ich habe OpenVMS-Systeme gesehen (die letzte Version war erst vor 2 Jahren, nicht schlecht für etwas, das vor 35 Jahren eine erste Version hatte) ... und das Dateisystem unterscheidet immer noch nicht zwischen Groß- und Kleinschreibung. Anscheinend unterscheiden Macs sowohl zwischen Groß- und Kleinschreibung als auch zwischen Groß- und Kleinschreibung (und Steam und Photoshop mögen keine Dateisysteme mit Groß- und Kleinschreibung auf dem Mac ). Groß- und Kleinschreibung wird nicht berücksichtigt.

3
Ganz zu schweigen von der überwiegenden Mehrheit der Desktop-Computer, auf denen Windows-Dateisysteme ohne Berücksichtigung der Groß- und Kleinschreibung ausgeführt werden.
Kilian Foth

Ein guter Punkt in Bezug auf Groß- und Kleinschreibung im Vergleich zur Aufbewahrung von Groß- und Kleinschreibung. Wenn Sie jedoch unterschiedliche Dateien haben, die sich nur in der Schreibweise des Dateinamens unterscheiden, gibt es meiner Meinung nach andere Probleme als die Übertragung auf Dateisysteme, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird und die Verwirrung stiften können. ..
ein CVn

9

"Verbraucherorientierte" (was auch immer das bedeuten mag) Verwendungen verwenden in der Regel Title Case, selbst in der Unix-Welt. Dies ist häufiger der Fall, wenn die betreffende Organisation Personen hat, deren gesamte Aufgabe darin besteht, über die Benutzererfahrung nachzudenken.

Zum Beispiel hat mein Ubuntu Desktop - Ordner im Home - Verzeichnis Downloads, Pictures, Documentsusw. Das gleiche gilt für meinen OSX Laptop geht (ja, es zählt, es ist BSD). Es sei jedoch darauf hingewiesen, dass Apple so weit geht, seine eigenen Systemverzeichnisse mit Titel (z. B. /Library/Audio/Apple Loops/) zu benennen , während das "klassische" Basisdateisystem nur in Kleinbuchstaben (z /usr/libexec/dtrace/. B. ) gehalten wird. Es ist mir jedoch bekannt, dass keine mir bekannte Linux-Distribution den Titel case irgendwo außerhalb des Home-Verzeichnisses des Benutzers verwendet.

Vermutlich besteht der Unterschied darin, dass Verzeichnisse, von denen Sie erwarten, dass sie sich tatsächlich ansehen, Titel in Großbuchstaben sind, während Orte, von denen Sie erwarten, dass sie nicht erkundet werden, nur Kleinbuchstaben sind. Eine ähnliche Unterscheidung scheint bei Ubuntu im Spiel zu sein; Nur die Verzeichnisse, von denen erwartet wird, dass sie als Liste von Ordnern in einem Nautilus-Fenster angezeigt werden, sind Titel, während Ordnernamen, von denen erwartet wird, dass sie eingegeben (nicht durchsucht) werden, alle niedriger sind.

Und das ist der Kern davon; Titel oder Großbuchstaben sind schwieriger einzugeben. Aber Titlecase sieht besser in einer Liste oder einem Satz von gekachelten Ordner. Wählen Sie also entsprechend. Linux-Leute arbeiten häufig in der Befehlszeile, selbst bei alltäglichen Aufgaben. Kleinbuchstaben sind daher sinnvoller.


guter Punkt, aber ich würde hinzufügen, dass Leerzeichen oder Unterstriche leichter zu lesen sind als Kamel oder Pascal
jk.

4

Über das DOS Argument: DOS / Windows - Dateisysteme Sie sehen Ihre Dateien unabhängig von Fall und sie können sie feine handhaben . Sehr alte DOS-Dateisysteme unterstützen nichts anderes als 8.3-Dateinamen, aber selbst FAT32 kann lange Dateinamen verarbeiten. Das einzige Problem ist, dass DOS / Windows-Dateisysteme zwar die Groß- und Kleinschreibung beibehalten (in den meisten Fällen verwerfen einige Varianten die Groß- und Kleinschreibung für Dateinamen, die in das 8.3-Format passen), beim Vergleich von Dateinamen jedoch nicht zwischen Groß- und Kleinschreibung unterscheiden . Windows betrachtet "foobar", "Foobar", "FOOBAR" und "fOObAr" als denselben Dateinamen.

Das heißt, es ist meistens eine kulturelle Sache, aber es gibt einige Hintergründe. Der Grund, warum diese spezielle Konvention in der UNIX-Welt steckt, ist die Benutzerfreundlichkeit . Hier gibt es zwei Hauptargumente:

  • Das Trennen von Wörtern mit Nicht-Buchstaben-Zeichen ist für den Lesekomfort besser als das Verwenden von Großbuchstaben zum Markieren von Wortgrenzen. Wenn Sie nicht glauben, vergleichen Sie diesen Satz mit dem vorherigen und einem Wort, das einfacher zu lesen ist. (Und natürlich die Novisualseparationatallistheworst).
  • Kleinbuchstaben haben vielfältigere Formen als Großbuchstaben, was wiederum zu vielfältigeren Wortformen führt. Dadurch wird der in Kleinbuchstaben geschriebene Text einfacher zu lesen als der in Großbuchstaben geschriebene Text.

Diese Beobachtungen sind leicht zu überprüfen und wurden sogar durch wissenschaftliche Untersuchungen bestätigt.

Darüber hinaus bevorzugt die UNIX-Kultur Konventionen, die nicht nur leicht zu lesen, sondern auch leicht zu schreiben sind. UNIX-Hacker sind normalerweise Leute, die viel Zeit mit ihrer Tastatur verbringen, und viele verwenden entweder das offizielle Touch-Typing-System oder ein persönliches Derivat, das für die Programmierung optimiert wurde. Das Konzept, in der Ausgangsreihe zu bleiben, ist in beiden Fällen wichtig, daher vermeiden die Leute gerne die Verwendung von Schlüsseln, die von der Ausgangsreihe aus nicht erreichbar sind, insbesondere die Umschalttasten.

Wenn Sie diese drei Einschränkungen kombinieren, gibt es nur eine wirklich sinnvolle Konvention all-lowercase-with-dashes:


3
@StephaneRolland: Es ist nicht ratsam, eine konsistente Benennung über so unterschiedliche Dinge wie Bezeichner in verschiedenen Programmiersprachen und Dateinamen hinweg zu verfolgen. Seien Sie in jedem Bereich konsistent und halten Sie sich an etablierte Konventionen, aber versuchen Sie nicht, eine Konvention zu finden, um sie alle zu regieren. Java-Variablen sind keine SQL-Tabellennamen und auch keine Dateinamen.
tdammers

@StephaneRolland - Ich glaube, das Wort, das Sie wollen, ist snake_case .
Kammerherr
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.