Antworten:
Wenn Sie Ordner leicht von Dateien unterscheiden möchten, verwenden Sie so etwas wie ls -alhF. Ich definiere normalerweise lals Alias dafür, dh. Ich habe die Zeile alias l='ls -alhF'in meine .bashrc.
Um nur Ordner aufzulisten, versuchen Sie: ls -d */
-dListen Sie die Verzeichnisse selbst auf, nicht deren Inhalt. Um dies zu erklären, überlegen Sie, was passiert, wenn wir tippen
ls */.lsGeht eine Ebene nach unten in jedes Unterverzeichnis und listet alle Dateien in jedem dieser nacheinander auf
Quelle: man ls
*/*/ist unter UNIX als "Glob" bekannt. (siehe Wikipedia für weitere Details). Aber im Grunde bedeutet es "jeder Dateiname, der mit einem Schrägstrich endet". Unter UNIX sind Verzeichnisse im Grunde genommen nur Dateien. Sie werden jedoch speziell benannt und enden mit einem Schrägstrich, damit das Betriebssystem weiß, dass es sich um Verzeichnisse (oder Ordner im Alltag) handelt. Und das Sternchen *ist technisch gesehen ein Platzhalter für "jede Zeichenfolge".
Dieser Absatz bezieht sich nicht speziell auf Ihre Frage, aber wenn Sie noch nie darüber gelesen haben, ist es gut, ihn zu sehen. Globs unterscheiden sich von regulären Ausdrücken, wie (teilweise) unter Was ist der Unterschied zwischen regulären Ausdrücken und Globbing? Es wurden ganze Bücher über reguläre Ausdrücke geschrieben, aber es gibt eine Reihe verschiedener Möglichkeiten, Musteranpassungsausdrücke zu codieren.
Da ich ein sehr unerfahrener Benutzer bin, liebe ich diese Website. Es sagt Ihnen alles, was Sie über Bash-Befehle wissen möchten, in einigen Fällen gibt es sogar Beispiele. Sehr hilfreich.
In deinem Fall:
ls um die Dateien aufzulistenls -a versteckte Dateien einzuschließenls -l für ein langes Listenformatls -al | grep ^d
versteckte Dateien einschließen '-a' grep ^ d mit 'd' beginnen, was bedeutet, dass das Verzeichnis, wenn der Name mit dot beginnt, ausgeblendet ist
rekursiv auflisten sehen dies
find ./ -type d | less
./ ..................... means starts find in current folder
-type .................. indicates the type to be searched
d ...................... means directory
| ...................... redirects the command
less ................... enables paging using the keyboard arrows and leave with q
ls -1 -d */
wo
-1
listet ein Verzeichnis pro Zeile auf.
Zum Anzeigen von Home-Verzeichnis-Ordnern reicht der lsBefehl aus - dies hält es einfach.
$ ls
Desktop Downloads hadoop Pictures Templates
Documents examples.desktop Music Public Videos
Sie können sogar mehrere Verzeichnisse angeben ls ~ /usr
$ ls ~ /usr
/home/hadoop1:
Desktop Downloads hadoop Pictures Templates
Documents examples.desktop Music Public Videos
/usr:
bin games include lib local locale sbin share src
Um die Ausgabe im Langformat zu erhalten, können wir die -lOption verwenden
$ ls -l
total 48
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Desktop
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Documents
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Downloads
-rw-r--r-- 1 hadoop1 hadoop1 8980 Jul 1 2017 examples.desktop
drwxr-xr-x 10 hadoop1 hadoop1 4096 Jul 1 2017 hadoop
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Music
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Pictures
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Public
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Templates
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Videos