So sortieren Sie zuerst Verzeichnisse und dann Dateien usw., wenn Sie unter Unix "ls" verwenden

91

Ich möchte den lsBefehl verwenden, um zuerst Verzeichnisse und dann Dateien anzuzeigen. Ich habe es versucht:

ls -la | sort -k 1

Aber ich habe eine falsche Bestellung bekommen.

Atricapilla
quelle
Es ist, weil -kommt vor dbei der Verwendungsort
Nifle
4
Alte Unix-Köpfe (aus der Zeit vor der grafischen Benutzeroberfläche) haben ihre Ordnernamen groß geschrieben und einfache Dateinamen ohne Großbuchstaben erstellt, um dieses Ergebnis automatisch zu erhalten.
JRobert
Nützliche Frage! Vielleicht ist es an der Zeit, die akzeptierte Antwort auf eine Antwort zu ändern, die einfacher ist und die Terminalfarben nicht zerstört?
Ippi
Versuchen Siels -lh --group-directories-first
Diogo

Antworten:

28

Der folgende Befehl listet zuerst die Verzeichnisse, dann die normalen Dateien und an dritter Stelle die Verknüpfungen auf.

ls -la | grep "^d" && ls -la | grep "^-" && ls -la | grep "^l"

Es wäre auch sehr sinnvoll, einen Alias für diesen Befehl zu erstellen , um Tastenanschläge zu speichern.

Bearbeiten:

Wenn Sie zuerst Verzeichnisse und dann alles, was kein zweites Verzeichnis ist, möchten, verwenden Sie Folgendes:

ls -la | grep "^d" && ls -la | grep -v "^d"

eleven81
quelle
1
Dieser Befehl listet nicht alles auf, wenn sich zum Beispiel Sockets oder FIFOs im Ordner befinden
Studer
1
Diese bearbeitete Version sollte weiterhin mit anderen Typen funktionieren. Das erste Grep sagt alles, was mit einem 'd' beginnt, und das zweite Grep sagt alles, was nicht mit einem 'd' beginnt. Sicher beginnt alles entweder mit Werbung oder nicht, oder?
Ry4an Brase
1
@ Mark - Warum nicht einfach tun: ls -la | grep "^d" && ls -la | grep "^-" && ls -la | grep -v -E "^d|^-|^total"?
FCTW
1
Um den Befehl von @ FCTW zu einem OSX-Alias ​​zu machen, fügen Sie alias la="ls -la | grep \"^d\" && ls -la | grep \"^-\" && ls -la | grep -E \"^d|^-\" -v | grep -v \"^total\""
Folgendes
2
Ich habe eine Arbeits kürzere Schreibweise gefunden: ls -la|grep ^d;ls -la|grep -v ^d(Zitate sind nicht erforderlich , und ersetzt &&mit ;). Eine weitere Option ist eine Variable einzuführen und dann auswerten: a="ls -la|grep ^d";eval $a;eval $a -v. Kann hilfreich sein, um Wiederholungen zu vermeiden, wenn für ls/ viel mehr Optionen angegeben sind grep. Es gibt auch diese ls -la --group-directories-firstOption, aber die kürzeste imo istls -la|sort
Steven Pribilinskiy
204

Ich liebe * nix und liebe es, den Einfallsreichtum zu sehen, der in einigen dieser Antworten steckt ...

Meins ist unter GNU Linux nicht annähernd so ausgefallen:

alias ls='ls --color -h --group-directories-first'

Da ich mit meinen Linux-CLI-Apps besser zurechtkomme, aktualisiere ich Coreutils auch unter OSX:

brew install coreutils
alias ls='/usr/local/bin/gls --color -h --group-directories-first'
jonathanserafini
quelle
6
Leider funktioniert dies nicht auf dem OSX-Terminal, da die Option - nicht verfügbar ist.
MEM
7
Wieder Liebe: Ist das Sarkasmus? Wenn ja, würde ich zustimmen.
Allyourcode
4
Mit dem Alias ​​ls sollen die Konfigurationselemente definiert werden, die 90% der Zeit verwendet werden sollen. Weniger Tastenanschläge, um die gewünschte Ausgabe zu erzielen. Wenn Sie jemals native ls-Ausgaben haben möchten, können Sie immer / bin / ls.
Jonathanserafini
4
@MEM Wenn Sie OS X verwenden und Spaß an Terminal haben, sollten Sie das tun. brew install bash Dann funktioniert das! :)
Andrew Ashbacher
5
Meiner Meinung nach hätte dies die akzeptierte Antwort sein müssen, da hier eine Befehlszeilenoption zur Erreichung des genauen Ziels aufgeführt ist, anstelle einer verschlungenen Gruppe von Greps usw.
Ryan Griggs
17

Für Mac-Benutzer coreutils :

brew install coreutils

alias ls='ls --color -h --group-directories-first'

Angenommen, Ihr System ist bereit für das Homebrew :

Vadym Tyemirov
quelle
7
glslieber. Richtig?
Paul Irish
1
Ja, standardmäßig. Sie können auch standardmäßig coreutils mit verwenden PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH".
Benesch
7

Es gibt bestimmte Dinge, die ich in einer Verzeichnisliste sehen möchte, und bisher erfüllt keine der Antworten hier alle unten aufgeführten Anforderungen. Meine Anforderungen an eine Verzeichnisliste:

  1. Verzeichnisse und Dateien sind alphabetisch sortiert
  2. Verzeichnisse werden zuerst aufgelistet
  3. Symbolische Links (Symlinks) werden wie Dateien sortiert
  4. Bei der Sortierung wird die Groß- und Kleinschreibung nicht berücksichtigt
  5. Beim Sortieren werden alle führenden Nicht-Alpha-Zeichen in einem Dateinamen ignoriert
  6. Die Auflistung enthält die Gesamtzahl der Verzeichnisse (ohne ./und ../), Dateien und Links
  7. Die Auflistung enthält die Gesamtgröße (Festplattennutzung) der Verzeichnisse und Dateien
  8. Die Auflistung muss unter Linux und Windows gleich aussehen (Git Bash-Shell) - dies war am schwierigsten zu korrigieren, da praktische Optionen wie --group-directories-firstin Git Bash für Windows nicht funktionieren

Nach langem Hin und Her habe ich endlich einen Einzeiler (wenn auch eine sehr lange Schlange ;-)) gefunden, mit dem ich zufrieden bin. Ich habe dies einem Alias ​​namens "dir" zugewiesen:

ls -dlF --color * .* | head -n2 && ls -AlF | LC_ALL=C grep "^d" | 
LC_ALL=C sort -k 9df && ls -AlF | LC_ALL=C grep "^[l-]" | 
LC_ALL=C sort -k 9df && echo -e `find -maxdepth 1 -type d ! -name . | 
wc -l` Dir\(s\) `du -hs | cut -f 1`\\t\\t`find -maxdepth 1 -type f | 
wc -l` File\(s\) `find -maxdepth 1 -type f -print0 | du -ch --files0-from=- | 
tail -n 1 | cut -f 1`\\t\\t`find -maxdepth 1 -type l | wc -l` Link\(s\)

Um die Verwaltung zu vereinfachen, habe ich separate Befehle erstellt, um jedes Segment der Verzeichnisliste nach meinen Wünschen auszugeben, und diese dann mithilfe des &&Operators zusammengesetzt.

  • ls -dlF --color * .* | head -n2- Auszug ./und ../. Wir möchten diese nicht weiterleiten, sortda sie bereits in der richtigen Reihenfolge vorliegen. Wenn Sie sie sortieren, werden sie ../möglicherweise zuerst aufgelistet. Die -dOption ist, die "Gesamt" -Zeile loszuwerden; Ich mag hinzufügen -F, um den abschließenden Schrägstrich für Verzeichnisse zu zeigen (es wird auch Symlinks mit "@" markieren, wenn Sie eine Ebene tun ls -F).

  • ls -AlF | LC_ALL=C grep "^d" | LC_ALL=C sort -k 9df- Extrahieren Sie die Verzeichnisse und sortieren Sie sie nach Dateiname (9. Spalte), wobei sowohl Nicht-Alpha / Leerzeichen ( dOption) als auch Groß- / Kleinschreibung ( fOption) ignoriert werden . Die ls -AOption schließt ./und ../aus der Auflistung aus, da wir sie bereits im vorherigen Schritt extrahiert haben. Ich neige dazu , alle Präfix grepund sortBefehle mit dem LC_ALL=CGebietsschema zurückgesetzt , so dass (1) die Ausgabe über Unix - Shells konsistent ist, und (2) Sie können manchmal eine schnellere Leistung sehen , da es nicht mehr den Aufwand der schweren UTF-8 - Zeichen muss gesetzt Zurecht kommen.

  • ls -AlF | LC_ALL=C grep "^[l-]" | LC_ALL=C sort -k 9df - Dies ist ähnlich wie oben, aber diesmal sortieren wir Dateien und Symlinks.

  • find -maxdepth 1 -type d ! -name . | wc -l- Ermitteln Sie die Anzahl der Verzeichnisse ohne ./und ../.

  • find -maxdepth 1 -type f | wc -l - Holen Sie sich die Anzahl der Dateien.

  • find -maxdepth 1 -type l | wc -l - Ermitteln Sie die Anzahl der Symlinks.

  • du -hs | cut -f 1 - Extrahieren Sie die Gesamtgröße aller Unterverzeichnisse in einem für Menschen lesbaren Format.

  • find -maxdepth 1 -type f -print0 | du -ch --files0-from=- | tail -n 1 | cut -f 1 - Extrahieren Sie die Gesamtgröße aller Dateien in einem für Menschen lesbaren Format.

Lassen Sie uns unseren neuen dirAlias ​​in Aktion sehen!

VOR:

$ ls -alF
total 22
drwxr-xr-x   13 Tom      Administ     4096 Oct 25 02:38 ./
drwxr-xr-x    3 Tom      Administ        0 Dec 24  2014 ../
drwxr-xr-x   15 Tom      Administ     4096 Sep 17 01:23 .VirtualBox/
-rw-r--r--    1 Tom      Administ      615 Oct 25 02:38 .aliases
-rw-r--r--    1 Tom      Administ    12742 Oct 24 11:47 .bash_history
-rw-r--r--    1 Tom      Administ     3234 Oct 24 15:06 .bash_profile
drwxr-xr-x    1 Tom      Administ        0 Jan 24  2015 .gem/
-rw-r--r--    1 Tom      Administ      586 Oct 24 03:53 .gitconfig
drwxr-xr-x    1 Tom      Administ     4096 Dec 28  2014 .ssh/
drwxr-xr-x    4 Tom      Administ        0 Jan 24  2015 .travis/
-rw-r--r--    1 Tom      Administ     6645 Oct 25 02:38 _viminfo
-rw-r--r--    1 Tom      Administ     4907 Oct 24 15:16 profile
drwxr-xr-x    1 Tom      Administ        0 Oct 24 22:20 tmp/

NACH:

$ dir
drwxr-xr-x   13 Tom      Administ     4096 Oct 25 02:38 ./
drwxr-xr-x    3 Tom      Administ        0 Dec 24  2014 ../
drwxr-xr-x    1 Tom      Administ        0 Jan 24  2015 .gem/
drwxr-xr-x    1 Tom      Administ     4096 Dec 28  2014 .ssh/
drwxr-xr-x    1 Tom      Administ        0 Oct 24 22:20 tmp/
drwxr-xr-x    4 Tom      Administ        0 Jan 24  2015 .travis/
drwxr-xr-x   15 Tom      Administ     4096 Sep 17 01:23 .VirtualBox/
-rw-r--r--    1 Tom      Administ      615 Oct 25 02:38 .aliases
-rw-r--r--    1 Tom      Administ    12742 Oct 24 11:47 .bash_history
-rw-r--r--    1 Tom      Administ     3234 Oct 24 15:06 .bash_profile
-rw-r--r--    1 Tom      Administ      586 Oct 24 03:53 .gitconfig
-rw-r--r--    1 Tom      Administ     4907 Oct 24 15:16 profile
-rw-r--r--    1 Tom      Administ     6645 Oct 25 02:38 _viminfo
      5 Dir(s) 2.8M           6 File(s) 31K           0 Link(s)

Ein kleiner Nachteil ist, dass Sie keine farbigen Listen haben können, da die Farbkontrollzeichen, die die Dateinamen umgeben, die Sortierung zu unzuverlässig machen.


AKTUALISIEREN

Der obige Alias ​​war schmerzhaft langsam, als er aus dem Stammverzeichnis eines tiefen Dateisystems ausgeführt wurde. Daher habe ich auf diesen einfacheren, aber viel leistungsstärkeren Befehl aktualisiert:

ls -AFoqv --color --group-directories-first | tail -n +2 && find -maxdepth 1 -type f -printf '%s\n' | awk '{total+=$1} END {print total" bytes"}'

Beispielausgabe:

$ dir
drwxr-xr-x 1 Tom     0 Mar 29 13:49 .aws/
drwxr-xr-x 1 Tom     0 Mar 29 13:49 .gem/
drwxr-xr-x 1 Tom     0 Mar 29 19:32 .ssh/
drwxr-xr-x 1 Tom     0 Mar 29 13:49 .zbstudio/
drwxr-xr-x 1 Tom     0 Jun 16  2016 temp/
drwxr-xr-x 1 Tom     0 Jul 13  2016 vimfiles/
-rw-r--r-- 2 Tom   365 Mar 30 10:37 .aliases
-rw-r--r-- 1 Tom 16028 Mar 30 12:12 .bash_history
-rw-r--r-- 2 Tom  2807 Mar 30 12:12 .bash_profile
-rw-r--r-- 2 Tom  2177 Mar 29 23:24 .functions
-rw-r--r-- 1 Tom  1091 Mar 30 10:34 .gitconfig
-rw-r--r-- 1 Tom  8907 Mar 29 14:45 _viminfo
-rw-r--r-- 1 Tom  2444 Jul 13  2016 _vimrc
33819 bytes

Seit die neue Version von Git Bash für Windows unterstützt wird --group-directories-first, müssen wir nicht mehr darauf zurückgreifen sort. Auch wenn der neue Alias ​​nicht so viele Informationen anzeigt wie der vorherige, sind die Leistungssteigerungen mehr als wert. Als Vorteil erhalten Sie auch Farben!

thdoan
quelle
Gute Antwort! Aber wenn Sie sagen: „Nach langem Hin und Her habe ich mir endlich einen Einzeiler ausgedacht…“ Ja, das ist in der Tat kein „Einzeiler“ im klassischen Sinne. Es kann sinnvoll sein, diese Logik als eigenständiges Shell-Skript zu verwenden und sie einfach auszuführen oder als Alias ​​aufzurufen.
JakeGould
@JakeGould Du bist schnell! Ich habe meine Antwort noch nicht einmal Korrektur gelesen und du hast sie bereits gelesen und einen Kommentar abgeschossen :). Ja, es ist ein Hauptkandidat für eine Funktion, aber ich war zu dieser Zeit zu faul, also warf es einfach in meine .bash_aliases-Datei. Andererseits schreibe ich normalerweise nur dann eine Funktion, wenn ich ohne Parameterübergabe nichts machen kann.
Donnerstag,
@ 10basetom: Kurze Frage: Wie bekommt man die verschiedenen Farben für die Spalten in ls? Ich kann Dateinamen mit ls --color nach Dateityp einfärben, sehe aber keine Möglichkeit, diese hilfreichen Farben für die Spalten zu erhalten. Was ist das geheimnis
Pirx
@ Pirx Ich glaube, die Spalten sind durch die standardmäßige Hervorhebung der Stack Exchange-Syntax eingefärbt :-).
Donnerstag,
Ja, das scheint der Fall zu sein, aber es ist eine großartige Idee, und Lösungen sind in ;-)
Pirx
6

Sie haben verschiedene Möglichkeiten, je nachdem, ob Sie die alphabetische Reihenfolge beibehalten möchten.

Sie könnten einfach versuchen:

ls -al | sort -k1 -r

oder dies, um die alphabetische Reihenfolge für Dateien mit denselben Berechtigungen beizubehalten:

ls -al | sort -k1,1 -k9,9 -r

oder, wie eleven81 sagte (aber diese Version listet alles auf):

ls -la | grep "^ d" && ls -la | grep "^ -" && ls -al | grep -v ^ [d | -]

Studer
quelle
1
Dies ist eine schönere Lösung, IMO. Die Verwendung mehrerer Prozesse und Pipes für die Sortierung anstelle von Pipes für die Sortierung scheint rückwärts zu sein. Zumal ls- al|sort -k1 -rfunktioniert. Was fehlte, ist nur die -rFlagge.
Brice
@brice Die Sache , die mich über ‚Art‘ stört ist , dass ./und ../wird die ersten beiden Zeilen nicht sein, in dieser Reihenfolge. Ansonsten stimme ich zu, dass es die effizientere Lösung ist.
Donnerstag,
Wie färbe ich die Ausgabe?
Danijel
5

Zur Antwort von delerious010 würde ich Folgendes hinzufügen, wenn Sie eine Bestellung im alten Stil wünschen:

LANG=C ls -la --group-directories-first

(oder verwenden Sie LC_ALL oder LANGUAGE oder LC_COLLATE auf "C").

Dies ergibt etwas Ähnliches wie:

.
..
DIR
Dir
dir
.hidden
123
UC_FILE
Uc_file
lc_file

Obwohl, wenn ich mich richtig erinnere, die versteckten Punktdateien ursprünglich vor den Verzeichnissen erschienen sind.

Dennis Williamson
quelle
2

Hier ist eine Funktion, um dies zu tun (bash oder zsh).

funktion lss
{
    # Zeigt die Verzeichnisliste mit den Verzeichnissen oben an.

    Befehl ls --color = immer $ @ | egrep '^ d | total'
    Befehl ls --color = immer $ @ | egrep -v '^ d | total';
}
SuperMagic
quelle
Nur zu Ihrer Information, das scheint nicht zu funktionieren. Sie müssen das lange Auflistungsformat ( ls -l) verwenden, um nach einem solchen Dateityp zu filtern. Dieser Befehl bricht auch bei Leerzeichen (in Bash) ab. Sie müssen wie folgt zitieren: "$@"Wenn Sie diesen Ansatz verwenden möchten, können Sie Folgendes tun:function lss {local temp="$(command ls -l --color=always "$@")"; egrep --color=never '^d|total' <<<"$temp"; egrep --color=never -v '^d|total' <<<"$temp"}
Six
2

ls -laX zeigt Ihnen zuerst die Verzeichnisse in alphabetischer Reihenfolge an, schraubt aber die Dateiliste.

Lange Optionen:

ls
    -l    # List
    --all
    -X    # Sort alphabetically by entry extension
Bobby
quelle
Dies würde nur funktionieren, wenn Sie absolut sicher sein könnten, dass jedes Verzeichnis keine Punkte im Namen hat.
Elf81
1

Ein anderer Weg ...

find . -d 1 -type d | ls -la | sort -r 

ODER

ls -la | sort -r

ODER

d=`find . -type d -d 1`;f=`find . -type f -d 1`; echo -e -DIRS- "\n$d\n" -FILES- "\n$f"
Eddie B
quelle
Was machen diese? Wo hast du gelernt, sie zu tippen?
Tamara Wijsman
Nun, mein bevorzugtes Betriebssystem ist Debian Linux. Die GNU-Kern-Utils-Paketversion von ls von Debian unterstützt die Option --show-directorys-first. Als ich mit OSX anfing, griff ich einfach nach all meinen Bash-Dot-Dateien und legte sie in meinem Home-Verzeichnis ab Ich hatte eine Menge bash_aliases, die so kaputt gingen ... Dann musste ich einige Workarounds für meine Aliase finden ...
Eddie B
Das erste ist ein bisschen überflüssig ... Es gibt wirklich keinen Grund, die Verzeichnisse zu sortieren, da es die Reihenfolge ist, in der wir keine Verzeichnisse ändern müssen ... das 'ls -la | sort -r 'funktioniert wirklich. Grundsätzlich heißt es ... 1) A) Finden. -d 1 -type d (Beginnen Sie mit diesem Verzeichnis, durchsuchen Sie eine Verzeichnis-Tiefe und suchen Sie nur nach Verzeichnissen) B) ls -la (liste alle Attribute auf) C) Sortieren Sie sie in umgekehrter Reihenfolge 2) Tun Sie als 1) lassen Sie einfach den Fund fallen. ..es wird nicht benötigt ... Ich mag Studers Lösung eigentlich besser ... :-)
Eddie B
1

TL; DR

alias ls='ls -lhF --color'

list_sorted() {
    ls $* | grep "^d";
    ls $* | grep "^-";
    ls $* | grep -v -E "^d|^-|^total"
}

alias ll=list_sorted

Erläuterung

Ich verwende eine Kombination der Lösungen, die in den Antworten und Kommentaren hier angegeben sind.

Standard ls

Zunächst überschreibe ich das Standardverhalten für ls:

  • -l: Die Liste immer als eindimensionale vertikale Liste anzeigen
  • -h: Anzeigen von Dateigrößen in lesbarer Form (z. B. 4,0 KB anstelle von 4096 KB)
  • -F: Zeigen Sie Indikatoren wie einen abschließenden Schrägstrich für Verzeichnisse an
alias ls='ls -lhF --color'

Verlängert ll

Als nächstes schreibe ich eine Funktion, die die Sortierlogik enthält. Für jeden lsgebe ich irgendwelche ursprünglich übergebenen Argumente an ihn weiter. Dadurch kann ich den Alias ​​aus einem anderen Arbeitsverzeichnis als dem, das ich auflisten möchte, verwenden ls -a ~.

Außerdem wird jeder Aufruf lsan einen grepBefehl weitergeleitet. Hier erfolgt die Sortierung. ls -l | grep "^d"Zum Beispiel werden nur Verzeichnisse aufgelistet. Wenn Verzeichnisse zuerst aufgelistet werden sollen, muss dies auch in der Funktion an erster Stelle stehen. Das nächste ist Dateien.

Zuletzt zeige ich alles, was weder ein Verzeichnis noch eine Datei ist (noch die Zeile, die die Gesamtgröße des Verzeichnisinhalts anzeigt). Dies geschieht durch Greifen von directoy, regulären Dateieinträgen und dem Gesamteintrag und anschließendes Invertieren des Ergebnisses über das -vArgument.

list_sorted() {
    # List directories
    ls $* | grep "^d";
    # List regular files
    ls $* | grep "^-";
    # List everything else (e.g. symbolic links)
    ls $* | grep -v -E "^d|^-|^total"
}

Schließlich habe ich die Funktion einem neuen Befehl zugeordnet. Insbesondere möchte ich nicht überschreiben, lsfalls meine Funktion in einigen Szenarien unterbrochen wird. Dann möchte ich nutzen können ls. Alternativ können Sie den lsBefehl ohne Alias ​​immer durch Aufrufen aufrufen \ls.

alias ll=list_sorted

Anmerkungen

  • Ich benutze ;statt &&als Begrenzer für die Befehle. Andernfalls kann man den Inhalt von Verzeichnissen, die keine Verzeichnisse enthalten, nicht auflisten (der erste ls-Befehl wird mit false ausgewertet, sodass der nächste Befehl nicht ausgeführt werden kann, da er mit gekoppelt ist &&. ;Dies wird vermieden.)
kleinfreund
quelle
0

Dies ist eine Skriptlösung. Listet nur die Namen auf, keine Inode-Daten, alphabetisch, ohne Berücksichtigung der Groß- und Kleinschreibung, in Spalten formatiert. Obwohl es sich wie die Standardausgabe von ls um Zeilenmajor anstelle von Spaltenmajor handelt. Die Spalten werden etwas unordentlich, wenn ein Dateiname mit> 26 Zeichen vorhanden ist.

rm -f /tmp/lsout
ls -1p | grep / | sort -f >> /tmp/lsout
ls -1p | grep -v / | sort -f >> /tmp/lsout

IFS=$'\n' read -d '' -r -a lines < /tmp/lsout

printf "%-24s  %-24s  %-24s\n" "${lines[@]}"

Und eine andere, mit etwas zusätzlicher Formatierung.

rm -f /tmp/lsout
echo "  ---- Directories ---- " >> /tmp/lsout
ls -1p | grep / | sort -f >> /tmp/lsout
IFS=$'\n' read -d '' -r -a lines < /tmp/lsout
printf "%-24s  %-24s  %-24s\n" "${lines[@]}"

rm -f /tmp/lsout
echo "  ------- Files ------- " >> /tmp/lsout
ls -1p | grep -v / | sort -f >> /tmp/lsout
IFS=$'\n' read -d '' -r -a lines < /tmp/lsout
printf "%-24s  %-24s  %-24s\n" "${lines[@]}"

Die Ausgabe für den letzten sieht wie folgt aus, abzüglich der Farben:

  ---- Directories ----   archive/                  bookmarks/              
Desktop/                  Documents/                Downloads/              
fff/                      health/                   Library/                
Movies/                   Music/                    Pictures/               
Public/                   rrf/                      scifi/            
testdir/                  testdir2/                                         
  ------- Files -------   @todo                     comedy            
delme                     lll                       maxims                  
schedule                  vtokens style

Denken Sie nur daran, kein Alias ​​zu verwenden oder das Standardverhalten von ls zu ändern, da dieses Skript es aufruft.

Igorio
quelle