Wie so ziemlich jeder, bevor ich Ubuntu benutzte, benutzte ich einen Windows-Rechner, und eines der Dinge, an die ich mich in Windows gewöhnt hatte, war, den Unterstrich als erstes Zeichen eines Ordnernamens als eine Art Sondermarkierung zu verwenden, damit es so war erscheinen zuerst in der Auflistung, sowohl in der Befehlszeile als auch im Datei-Explorer.
In meinem eBook-Ordner (in Windows) sieht das beispielsweise so aus:
_read
Book1.pdf
Book2.pdf
_reading
Book3.pdf
Book4.pdf
Book5.pdf
aber in Ubuntus Nautilus sieht es so aus:
Book4.pdf
Book5.pdf
_read
Book1.pdf
Book2.pdf
_reading
Book3.pdf
Was passiert ist, dass es den Unterstrich komplett ignoriert und "_read" als "read" behandelt und es daher nicht wie gewünscht als erstes auflistet.
Ich habe versucht, die Umgebungsvariable LC_COLLATE auf C zu setzen. Das hilft irgendwie, da es den Unterstrich zusammen auflistet, aber am Ende und nicht am Anfang.
Vielen Dank.
Antworten:
Da Sie das aktuell verwendete Gebietsschema nicht angegeben haben, wird bei dieser Lösung davon ausgegangen, dass Sie es
en_US.UTF-8
als Standard verwenden.Sie können dies überprüfen, indem Sie den Befehl
locale
über die Befehlszeile ausführen ( Ctrl+ Alt+ t).Beispielsweise:
Die Variable, die die Sortierreihenfolge von Dateien beeinflusst, heißt LC_COLLATE .
Laut den Ubuntu-Hilfeseiten bestimmt die Variable LC_COLLATE, wie Strings (Dateinamen ...) alphabetisch sortiert werden. Die Verwendung des Gebietsschemas "C" oder "POSIX" führt hier möglicherweise zu einer strcmp () -ähnlichen Sortierreihenfolge Sprachspezifische Ländereinstellungen vorzuziehen. "
Die Sortierreihenfolge müssen gewechselt werden ,
LC_COLLATE="en_US.UTF-8"
zuLC_COLLATE=C
.Geben Sie in der Befehlszeile ( Ctrl+ Alt+ t) Folgendes ein:
update-locale LC_COLLATE=C
Wichtig: Sie müssen sich von Ihrem System abmelden und dann erneut anmelden, damit die Änderungen wirksam werden .
Wenn Sie den
locale
Befehl erneut ausführen , sollte dies anzeigen, dass dieLC_COLLATE
Variable erfolgreich geändert wurde. Dasls -l
erneute Ausführen des Befehls sollte diese Änderung widerspiegeln.quelle
ls
in Ihrem festgelegt.bashrc
?ls -l
Sortieren habe, ist ein mit ntfs formatiertes Laufwerk, das die Variable LC_COLLATE anscheinend nicht berücksichtigt. Alle meine ext3-Dateisysteme scheinen diese Einstellung mit dem Befehl ls sowie in Thunar und Nautilus zu berücksichtigen.ls -l
Befehl auf einem NTFS-Laufwerk, da ich einen Dual-Boot mit Windows habe.update-locale LC_COLLATE=C
hilft nicht, Ordner mit Unterstrichen am Anfang einer sortierten Liste zu erhalten, wenn Sie am Anfang Ihrer Ordnernamen Großbuchstaben verwenden!caja (und ich denke Nautilus davor) hat eine Option in den Einstellungen, um Ordner vor Dateien zu sortieren. Würde das helfen?
quelle