Antworten:
Wenn ausgeführt ls
wird, werden nur eine Liste der Dateien und sonst nichts angezeigt. ls -al
auf der anderen Seite zeigt viel mehr Informationen, und um dies zu tun, muss es diese Dateien stat (1) .
Und wenn etwas mit der Datei nicht stimmt, kann dieser Vorgang möglicherweise sehr lange dauern.
Mein Problem war, dass die Gruppe einiger Dateien nicht mehr existierte
-rw------- 1 nifle 10001 21499 Jan 25 14:31 .bash_history
-rw-r--r-- 1 nifle 10001 304 Dec 6 2004 .bash_logout
-rw-r--r-- 1 nifle 10001 222 Dec 16 14:05 .bash_profile
-rw-r--r-- 1 nifle 10001 124 Dec 6 2004 .bashrc
Eine einfache chown nifle:nifle .bash*
sortierte das Problem.
Manchmal kann es sich um einen Alias handeln, eine zusätzliche Verarbeitung durch die Shell oder einen langsamen Zugriff auf das Speichergerät.
Auf meinem habe ich es als Alias:
$ type ls
ls is aliased to `ls $LS_OPTIONS'
Wenn dies der Fall ist, kann running as \ls -al
es direkt aufrufen.
Sie können die Shell-Verarbeitung überprüfen, indem Sie das Shell-Tracing aktivieren, z
$ set -x
$ ls
+ ls -G -h
README.txt index.php
++ update_terminal_cwd
++ local url_path=
++ local i ch hexch LC_CTYPE=C LC_ALL=
++ (( i = 0 ))
++ (( i < 26 ))
++ ch=/
++ [[ / =~ [/._~A-Za-z0-9-] ]]
++ url_path+=/
++ (( ++i ))
++ (( i < 26 ))
++ ch=U
++ [[ U =~ [/._~A-Za-z0-9-] ]]
++ url_path+=U
++ (( ++i ))
++ (( i < 26 ))
++ ch=s
... hundred of other lines
$ set +x
$ echo $PROMPT_COMMAND
update_terminal_cwd
Überprüfen Sie abschließend Ihre ls
Zeiten:
$ time ls -la
...
real 0m0.025s
user 0m0.001s
sys 0m0.004s
Wenn Sie Ihre sys
Zeit zu hoch ist, überprüfen Sie load avg
in top
Befehl , wenn alles , was das Gerät im Moment zu verlangsamen, alternativ Benchmark Ihrer Festplatte bitte, vielleicht haben Sie eine Menge von E / A - Anforderungen gehen (Prüfung durch: iotop
oder vmstat
).
Wenn dies häufig vorkommt, überprüfen Sie immer mit einer anderen Shell oder auf tmpfs partition ( /tmp
), was viel schneller sein sollte.
stat-ing
Links, wenn Sie Symlinks im Verzeichnis haben, muss das System möglicherweise Sleeping Disks aktivieren, um zu bestätigen, dass der Link noch fehlerfrei ist (ls -Alle Farbcodes für Symlinks basieren darauf, ob sie auf einen gültigen Speicherort verweisen).