Listen Sie Dateien mit Dateinamen, Ordnernamen und Berechtigungen rekursiv auf

9

Kann ich trotzdem Dateien auflisten, indem ich einen Befehl in die Shell eingebe, der alle Dateinamen, Ordnernamen und deren Berechtigungen in CentOS auflistet?

user1038814
quelle
Hallo, danke für die Antwort. Ja, wenn ich beispielsweise die folgende Struktur habe: Ordner A> Datei 1, Datei 2, Ordner AA [Datei AA1, Datei AA2] usw. Ich möchte daher alle Ordner und alle Dateien in diesen Ordnern zusammen mit ihren Berechtigungen in a auflisten Textdatei. Ich hoffe das ergibt Sinn?
user1038814

Antworten:

11

Schauen Sie sich den Baum an , möglicherweise müssen Sie ihn zuerst installieren. Standardmäßig werden keine Berechtigungen angezeigt, um Berechtigungen neben dem Dateinamenlauf anzuzeigen

tree -p

Dadurch werden alle Ordner und Verzeichnisse im aktuellen Verzeichnis einschließlich der Berechtigungen rekursiv aufgelistet.

Ulrich Dangel
quelle
9

ls -lRlistet den Inhalt von Verzeichnissen rekursiv auf. Die Ausgabe ist schwer automatisch zu verarbeiten, aber für das manuelle Durchsuchen kann es gut sein, weil Sie damit vertraut sind.

Der findBefehl listet Dateien rekursiv auf. Sie können die Ausgabe anpassen. Der folgende Befehl druckt beispielsweise Berechtigungen wie ls -lvor jedem Dateinamen:

find -printf '%M %p\n'

Diese Ausgabe kann mechanisch verarbeitet werden, wenn Ihre Dateinamen keine Zeilenumbrüche enthalten. Wenn Sie \n(Zeilenumbruch) durch \000(Nullbyte) ersetzen , können Sie die Ausgabe mit Tools verarbeiten, die nullgetrennte Datensätze unterstützen.

Beide lsund findnur herkömmliche Unix-Berechtigungen drucken, keine Zugriffssteuerungslisten. Führen Sie eine rekursive Liste aller Dateiberechtigungen einschließlich ACL-Informationen aus

getfacl -R .

Die Ausgabe kann mechanisch verarbeitet werden (Sonderzeichen werden sortiert); Insbesondere kann es verwendet werden, setfacl --restoreum die Berechtigungen in einen anderen Baum mit denselben Dateinamen zu replizieren.

Gilles 'SO - hör auf böse zu sein'
quelle
5

Du willst finddafür.

find some/dir -ls > output.txt
Ignacio Vazquez-Abrams
quelle
-1

lsist ein Befehl zum Auflisten von Computerdateien in Unix-

ls -lListenelementen in einer
ls -Rrekursiv aufgelisteten Verzeichnisdatei

ls -lR
Abhi
quelle
Dies war in Gilles Antwort. Auch Ihre Erklärung von ls -lerklärt nicht, was das -lüberhaupt ist.
Jesse_b