GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie liste ich Dateien mit vollständigen Pfaden in Linux auf?

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 oder find -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ückgeben
  • sed '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.


Linux
  1. Finden Sie Dateien und Verzeichnisse unter Linux mit dem Befehl find

  2. So finden Sie Dateien mit SUID- und SGID-Berechtigungen in Linux

  3. So finden Sie eine Datei in Linux

  4. So finden Sie Dateien mit dem fd-Befehl in Linux

  5. Wie kann ich unter Linux eine Liste von Dateien mit ihrem absoluten Pfad erstellen?

Linux:So teilen Sie Dateien in einem lokalen Netzwerk mit woof

So benennen Sie eine Datei (en) in Linux um

So finden Sie Dateien basierend auf dem Zeitstempel in Linux

So finden Sie Dateien, die in den letzten 24 Stunden in Linux geändert wurden

So finden Sie Dateien mit dem fd-Befehl in Linux

So komprimieren Sie eine Datei unter Linux