すべての隠しファイルとディレクトリを再帰的にリストする方法は?


13

すべての隠しファイルとディレクトリをリストし、結果をファイルに保存したい。

このためのコマンドはありますか?

回答:


13

GNU findを使用している場合、次のことができます。

find /path -path '*/.*' -ls | tee output-file

編集

隠しディレクトリに含まれる非隠しアイテムを表示しないようにするため

find /path -name '.*' >output-file

(前述のように、tee出力を表示する必要がない場合は回避でき-lsます。オプションは必要な場合にのみ使用する必要があります)。


2
または、端末で出力全体を表示したくない場合>| tee、の代わりにを使用します。
rozcietrzewiacz

また-ls、これについても必要ありません。これは、思考を解析するための余分な情報になる可能性があります。
カレブ

これは、隠しディレクトリの内容もリストしますが、これは質問が求めるものではありません(おそらく—少しあいまいです)。
ジル 'SO-悪であるのをやめる'

@Gilles:確かにあいまいです。答えを編集
enzotib

最初のものはGNU固有ではないことに注意してください。-path2008年からPOSIX -lsです。標準ではありませんが、非常に一般的です。
ステファンシャゼル

10

含め、カレントディレクトリに隠しファイルとディレクトリを一覧表示する...

echo .*

現在のディレクトリとそのサブディレクトリ内の隠しファイルとディレクトリを再帰的にリストするには:

find . -name '.*'

結果をファイルに保存する場合は、リダイレクトを使用します。

find . -name '.*' >output-file.txt

1

ありzshglob修飾子 を使用D):

print -rl ./**/.*(D)

非表示のファイルを非表示のディレクトリに含めるには:

setopt extendedglob
print -rl ./**/*~^*/.*(D)

0

実際には、同じコマンドラインに同じ引数を複数回入力できます。

find /storage/????-????/ -iname '.*' -iname "*" | tee -a file-list-micSD-20190801163729.fli

このtee -aコマンドは、コマンドの出力(またはstdout)を表示すると同時にファイルに書き込むことができます。この-aオプションは、上書きを防ぎ、代わりに情報をターゲット出力ファイルに追加します。

/storage/????-????/パスの例です。これは、新しいAndroid携帯電話のMicroSDカードへのパスです(Android向けのターミナルアプリケーションもあり、コマンド数は少ないですが、Android 6.0以降は大幅に増加しています)。MicroSDカードは以前/storage/extSdCardでした。現在、これはボリュームシリアル番号です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.