Ich möchte alle versteckten Dateien und Verzeichnisse auflisten und das Ergebnis in einer Datei speichern.
Gibt es einen Befehl dafür?
Wenn Sie GNU find verwenden, können Sie dies tun
find /path -path '*/.*' -ls | tee output-file
Bearbeiten
Um zu vermeiden, dass nicht ausgeblendete Elemente in ausgeblendeten Verzeichnissen angezeigt werden
find /path -name '.*' >output-file
(Wie bereits erwähnt, tee
kann dies vermieden werden, wenn die Ausgabe nicht -ls
angezeigt werden muss. Die Option sollte nur bei Bedarf verwendet werden.)
>
statt| tee
, wenn man nicht die gesamte Ausgabe auf dem Terminal sehen will.-ls
zusätzlichen Informationen, um die Gedanken zu analysieren.-path
ist POSIX seit 2008.-ls
ist nicht Standard, aber durchaus üblich.So listen Sie die versteckten Dateien und Verzeichnisse im aktuellen Verzeichnis auf, einschließlich
.
und..
:So listen Sie die versteckten Dateien und Verzeichnisse im aktuellen Verzeichnis und seinen Unterverzeichnissen rekursiv auf:
Wenn Sie die Ergebnisse in einer Datei speichern möchten, verwenden Sie eine Umleitung:
quelle
Mit
zsh
(unter Verwendung des Glob-QualifiersD
):So fügen Sie nicht ausgeblendete Dateien in ausgeblendete Verzeichnisse ein:
quelle
Sie können dasselbe Argument tatsächlich mehrmals in dieselbe Befehlszeile eingeben:
find /storage/????-????/ -iname '.*' -iname "*" | tee -a file-list-micSD-20190801163729.fli
Der
tee -a
Befehl kann die Ausgabe (oder stdout ) des Befehls gleichzeitig anzeigen, wenn er in eine Datei geschrieben wird. Die-a
Optionen verhindern Clobbering und hängen die Informationen stattdessen an die Zielausgabedatei an./storage/????-????/
ist ein Beispielpfad. Es ist der Weg zur MicroSD-Karte neuerer Android-Handys (es gibt auch eine Terminal-Anwendung für Android, mit weniger Befehlen, aber immer noch vielen und seit Android 6.0 deutlich gestiegen). Die MicroSD-Karte war früher/storage/extSdCard
. Jetzt ist es die Seriennummer des Volumes.quelle