Irgendwo auf dem Weg habe ich meinen Befehl verkorkst und jetzt bekomme ich diese Bestellung beim Laufen
$ ls -AhHl --color=auto
-rwxr-xr-x 1 clang clang 640 Mar 1 02:46 apple-touch-icon-precomposed.png
-rwxr-xr-x 1 clang clang 784 Jul 12 02:54 crossdomain.xml
-rwxr-xr-x 1 clang clang 1.2K Mar 1 02:46 favicon.ico
drwxr-xr-x 8 clang clang 4.0K Jul 12 23:50 .git
-rw-r--r-- 1 clang clang 17 Feb 29 19:48 .gitignore
-rwxr-xr-x 1 clang clang 1.4K Jul 12 02:54 humans.txt
Was habe ich getan, um die Punktedateien zu ignorieren und stattdessen nach dem ersten Buchstaben zu ordnen?
Ausgabe von locale
:
$ locale
LANG=
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
ls
die Unicode-Dateinamen für Fremdsprachen (z. B. Japanisch) als????????
export LC_ALL="C"
Ihrer Punktedateien die Unterstützung für Ihr aktuelles Gebietsschema in allen für das Gebietsschema relevanten Dienstprogrammen verlieren. Während das Drucken Problem , dass @ohho Punkte aus mit behoben werden könnten Faroul Antwort , werden Sie introduce Sortier Probleme: Sortierung nur von Byte - Wert passieren wird, dazu führt , dass ist das Sortieren (a) unerwartet case-sensitive , und (b) immer Orte Zeichen mit Akzent. nachdem alle nicht-akzentuierte diejenigen.Um systemweite Änderungen zu vermeiden, die nicht unbedingt erforderlich sind, können Sie nur die Funktionsweise
ls
des aktuellen Benutzers ändern, indem Sie den Alias zu den.bashrc
folgenden Elementen hinzufügen :Dies sortiert zuerst die Punktedateien und ermöglicht es, "ungewöhnliche" Zeichensätze wie kyrillisch richtig zu handhaben (anzuzeigen und zu sortieren). Der einzige Schuldige, dass die Sortierung zwischen Groß- und Kleinschreibung unterscheidet.
Quelle: http://ubuntuforums.org/showthread.php?t=816753
quelle
LC_ALL
Verwenden Sie außerdem in einer Umgebung, in der bereits etwas festgelegt ist, das mit dem Sortieren / Hochziehen von Punktdateien am Anfang derls
Liste nicht kompatibel ist ,alias ll='LC_ALL=C ls -alF'
stattdessen, daLC_COLLATE
diese nicht überschrieben werdenLC_ALL
.Rahmen
Funktioniert gut für mich - Umlaute und "ls -la" listet zuerst Punktdateien auf.
quelle
UTF-8
- nicht richtig sortiert .C.UTF-8
ist ein ungültiges Gebietsschema, daher wird das Gebietsschema auf zurückgesetztC
. Sie verlieren weiterhin die UTF-8-Unterstützung. Tatsächlich ist es sogar noch schlimmer, daLC_ALL=C
die meisten Programme die meisten Multibyte-Zeichen korrekt anzeigen , beiLC_ALL=something_invalid
einigen Programmen jedoch nicht (wie `ls).locale
es einen Fehler zu geben scheint mitLC_ALL=C.UTF-8
: gist.github.com/Carpetsmoker/ef09b3734b29372939f97107413d7733 - das ist auf Arch Linux.Die Manpage ls (1) führt auf:
Dies scheint die Art und Weise zu ändern, in der die Punkte sortiert werden, und führt zuerst die Gruppierung der Punktedateien durch. Ich habe:
in meinem ~ / .bashrc.
quelle
Eine Idee von der Wand
Ich mag es wirklich, verschiedene Sortiermethoden mit zu verwenden
ls
, insbesondere-rt
(die nachr
everse modifiedt
ime sortieren ). Also habe ich beschlossen, etwas Verrücktes auszuprobieren und awk zu verwenden, um meine Sortierung durchzuführen.Anstatt nun einen Bash-Alias zu definieren, definiere ich eine Bash-Funktion (weil Aliase Argumente nur am Ende anhängen können, aber Funktionen sie überall verwenden können).
Um die Ergebnisse zu sehen
Lassen Sie uns einige Beispieldateien erstellen:
Mit einfachen ls
Mit meiner Funktion, die mit awk filtert
Sie können meine Implementierung hier https://github.com/RichardBronosky/dotfiles/commit/6170c0a9 sehen
Das Wichtigste dabei ist, dass es ein Framework für die Optimierung Ihrer
ls
Ausgabe ist. Mit diesem awk-Filter können Sie alles machen, was Sie wollen. Vielleicht möchten Sie, dass es sich um Verzeichnisse handelt, dann um Punktdateien und dann um alles andere. Sobald Sie wissen, wie Sie mit Ihren xterm-Farben umgehen, ist es nicht allzu schwierig. Es liegt ganz bei Ihnen.quelle
Könnte dies in Ihrer .bashrc oder / etc / bashrc Datei versuchen:
Dies setzt voraus, dass Sie eine etwas neuere Version von ls verwenden, die "--group-directorys-first" als Option verwendet. Sie können die LS-Optionen natürlich nach Ihren Wünschen anpassen.
quelle
--group-directories-first
das mit "show dotfiles first" zu tun?