ls sortiert merkwürdig

Alles was sonst Nirgends passt
User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

ls sortiert merkwürdig

Post by daemotron » 2008-11-03 19:34

Hat eigentlich nix direkt mit Serverei zu tun, aber ist mir schon ein paar Mal aufgefallen: unter Linux sortiert ls (neuerdings?) etwas merkwürdig (GNU coreutils 6.12). Während . und .. noch wie gewohnt am Anfang der Liste erscheinen, werden Dotfiles (^.[^/]+) nun am Ende der Liste dargestellt (ls -a, ls -la), obwohl die Manpage von alphabetischer Sortierung spricht. Ich hatte erst UTF-8 im Verdacht, aber auf älteren Installationen hatte ich das auch schon, und auch da funktionierte es - mal abgesehen davon, dass es einfach inkonsistent ist, dass ein Punkt am Anfang unterschiedlich gewertet wird (was bei mir den Verdacht auslöst, das . und .. gar nicht an der Verlosung teilnehmen...). Ach ja, und eine Unterscheidung zwischen Groß- und Kleinbuchstaben scheint auch nicht mehr stattzufinden, und Verzeichnisse werden nicht mehr wie früher an den Anfang der Liste gestellt.

Hier mal ein Anschauungsbeispiel:

Code: Select all

ls -lha
total 32K
drwxr-xr-x 6 jfreund jfreund 4.0K 2008-11-03 19:10 .
drwxr-xr-x 4 jfreund jfreund 4.0K 2008-10-21 16:31 ..
-rw-r--r-- 1 jfreund jfreund  162 2008-10-21 16:31 CMakeLists.txt
drwxr-xr-x 3 jfreund jfreund 4.0K 2008-10-21 17:59 conf
-rw-r--r-- 1 jfreund jfreund  795 2008-10-21 16:31 COPYING
drwxr-xr-x 3 jfreund jfreund 4.0K 2008-10-21 16:31 doc
drwxr-xr-x 6 jfreund jfreund 4.0K 2008-10-21 16:31 src
drwxr-xr-x 6 jfreund jfreund 4.0K 2008-11-03 18:49 .svn

Jemand ne Idee, wie ich ls wieder "normales" Verhalten anerzogen bekomme?

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: ls sortiert merkwürdig

Post by Roger Wilco » 2008-11-03 20:23

Irgendwelche Aliase für `ls`gesetzt?
Ansonsten kann ich sagen, dass die führenden Punkte der dotfiles bei der Ausgabesortierung ignoriert werden.

Also z. B.

Code: Select all

.
..
doc
.ssh
.svn
www
.xinitrc

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: ls sortiert merkwürdig

Post by daemotron » 2008-11-03 23:38

Code: Select all

alias
ls='ls --color=auto'

Mehr habe ich nicht angestellt. Ja, Du hast recht - die Punkte werden beim Sortieren einfach ignoriert. Wenn ich noch ein Verzeichnis 'zzz' anlege, steht das bei mir nach '.svn' Was mich nur irritiert - früher hat ls den Punkt beim Sortieren doch berücksichtigt, und zwischen Groß- und Kleinbuchstaben unterschieden (ist ja auch logisch, '.' entspricht ASCII-Code 46, Großbuchstaben belegen 65 - 90 und Kleinbuchstaben 97 - 122) - oder bin ich da total auf'm falschen Dampfer, und die GNU Implementierung hat immer schon merkwürdig sortiert? Bin mir mittlerweile echt nicht mehr sicher...

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: ls sortiert merkwürdig

Post by Joe User » 2008-11-04 00:13

jfreund wrote:oder bin ich da total auf'm falschen Dampfer, und die GNU Implementierung hat immer schon merkwürdig sortiert? Bin mir mittlerweile echt nicht mehr sicher...

Kenne es seit SuSE 6.4 nicht anders, vielleicht bist Du ja zu sehr BSD gewöhnt?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

theomega
Userprojekt
Userprojekt
Posts: 696
Joined: 2003-01-27 14:36

Re: ls sortiert merkwürdig

Post by theomega » 2008-11-08 18:44

Richtig, ist bei mir auch so, bin es aber auch so gewöhnt. Habe unter Linux noch nie eine andere Sortierung gesehen.

thorsten
Posts: 561
Joined: 2003-02-01 13:14
Location: Fuldatal

Re: ls sortiert merkwürdig

Post by thorsten » 2008-12-03 10:38

matzewe01 wrote:Da ich im regelfall aber ls -ltr anwende, spielt es für mich nur eine untergrordnete Rolle.

*g* das ist bei mir auch Standard:

Code: Select all

$ alias k
alias k='ls -ltr'

So sehe ich wenigstens welche {Logd,D}atei sich zuletzt verändert hat.