2017-08-29 1 views
1

Ich möchte nur alle Dateien im System auflisten, indem Sie den Befehl ls -lR verwenden. Aber ich möchte nicht, dass das Verzeichnis/proc und seine Unterverzeichnisse aufgelistet werden, weil sie für mich nicht nützlich sind. Aber wenn ich mache ls -lR --ignore proc/. Es ignoriert alle Dateinamen proc, auch wenn sie sich außerhalb des proc-Verzeichnisses befinden. ls -lR --ignore/proc/ funktioniert auch nicht. Gibt es einen Weg?Wie kann ich den Inhalt des Verzeichnisses/proc aus der Ausgabe des Befehls ls -lR ignorieren?

+0

'find' wäre eine gute Option in diesem Fall sein, da es mehr Optionen hat bieten. Gibt es einen Grund, warum Sie mit "ls" feststecken und nicht "finden" können? – nu11p01n73R

+0

Ja ich denke ich sollte find verwenden, das wird mir mehr. –

Antwort

0

Sie können ls mit extglob für diesen Einsatz:

shopt -s extglob 

ls -lR -I [email protected](/*|) 

Erweiterte glob Muster [email protected](/*|) Matches proc Verzeichnis und alle Kinder proc Verzeichnis.

+0

Es zeigt immer noch alle Proc-Dateien und ihre Unterverzeichnisse. –

+0

Stellen Sie sicher, dass Sie den Befehl 'shopt' wie hier gezeigt ausführen. Ich habe es getestet und es zeigt nicht 'proc'-Verzeichnis und es ist Inhalt. – anubhava

+0

Nein, tat es nicht. Es wird immer noch proc-Verzeichnis durchlaufen. –

0

Verwenden Sie einfach grep mit Option -v

ls -lR/| grep -v /proc 
+0

grep -v/proc zählt auch alle Verzeichnisse namens proc nicht nur die Wurzel. –

Verwandte Themen