Verwenden Sie den find
Befehl. Standardmäßig listet es rekursiv alle Dateien und Ordner auf, die von Ihrem aktuellen Verzeichnis absteigen, mit dem vollständigen (relativen) Pfad.
Wenn Sie den vollständigen Pfad wünschen, verwenden Sie:find "$(pwd)"
.
- Wenn Sie es nur auf Dateien oder Ordner beschränken möchten, verwenden Sie
find -type f
oderfind -type d
bzw. . - Wenn Sie möchten, dass es bei einer bestimmten Verzeichnistiefe stoppt, verwenden Sie
find -maxdepth 2
, zum Beispiel.
Lesen Sie Finding Files für ein ausführliches Handbuch zu GNU find
, was die Standardeinstellung unter Linux ist.
$ pwd
/home/victoria
$ find $(pwd) -maxdepth 1 -type f -not -path '*/\.*' | sort
/home/victoria/new
/home/victoria/new1
/home/victoria/new2
/home/victoria/new3
/home/victoria/new3.md
/home/victoria/new.md
/home/victoria/package.json
/home/victoria/Untitled Document 1
/home/victoria/Untitled Document 2
$ find . -maxdepth 1 -type f -not -path '*/\.*' | sed 's/^\.\///g' | sort
new
new1
new2
new3
new3.md
new.md
package.json
Untitled Document 1
Untitled Document 2
Hinweise:
.
:aktueller Ordner- Entfernen Sie
-maxdepth 1
rekursiv suchen -type f
:findet Dateien, keine Verzeichnisse (d
)-not -path '*/\.*'
:.hidden_files
nicht zurückgebensed 's/^\.\///g'
:Entfernen Sie das vorangestellte./
aus der Ergebnisliste
Der Vollständigkeit halber der ls -lR /
Der Befehl listet den Namen jeder Datei, den Dateityp, Dateimodus-Bits, die Anzahl der festen Links, den Eigentümernamen, den Gruppennamen, die Größe und den Zeitstempel jeder Datei (auf die Sie Zugriff haben) vom Stammverzeichnis abwärts auf. (l
ist für eine lange Liste, dh all diese Informationen, R
soll Verzeichnisse durchlaufen, /
beginnt im Stammverzeichnis des Dateisystems.)
Es gibt eine Reihe von Parametern, um die Ausgabeinformationen näher an dir /S /A
zu bringen , aber ich muss zugeben, dass ich nicht herausfinden kann, wie man /B
übersetzt .
Für nützliche Informationen würde ich versuchen:ls -lAFGR --si /
wo
- l =lange Liste (wie oben erwähnt)
- A =fast alle Dateien (enthält nicht . und .. in jedem Verzeichnis, zeigt aber alle versteckten Dateien)
- F =Dateianzeige anzeigen, (einer von
*
für exe-Dateien/
für Verzeichnisse@
für symbolische Links|
für FIFOs=
für Sockets und>
für Türen) - G =Gruppeninformationen nicht anzeigen (entfernen Sie dies, wenn Sie sie sehen möchten)
- R =Verzeichnisse (Unterverzeichnisse) rekursiv auflisten und
- --si =Zeigt die Dateigröße in menschenlesbarem Format an, zB 1M-Format (wobei 1M =1000B)
ls
kann eine leichter lesbare Zusammenfassung von Verzeichnissen und Dateien in diesen Verzeichnissen bereitstellen, wie find
Die Ausgabe von kann schwierig zu scannen sein, wenn Dateien in sehr langen Verzeichnisstrukturen enthalten sind (die sich über mehrere Zeilen erstrecken). Die logische Folge ist, dass jede Datei einzeln aufgeführt wird (dh ohne Verzeichnispfadinformationen) und Sie möglicherweise ein paar Seiten/Bildschirme zurückgehen müssen, um die Verzeichnisse zu finden, in denen sich eine bestimmte Datei befindet.
Außerdem enthält find nicht die /A-Informationen im DIR-Befehl. Ich habe eine Reihe von Attributen in dem von mir gezeigten Befehl vorgeschlagen (die zufällig den zusätzlichen Nutzen zeigen, den Sie von Linux gegenüber einem bestimmten proprietären System erhalten), aber wenn Sie den man
lesen und info
Seiten auf ls
, können Sie sehen, was eingefügt werden soll oder nicht.