如何递归列出所有隐藏的文件和目录?


13

我想列出所有隐藏的文件和目录,然后将结果保存到文件。

有什么命令吗?

Answers:


13

如果使用GNU find,则可以

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

编辑

为了避免显示隐藏目录中包含的非隐藏项目

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

(如前所述,tee如果您不需要查看输出,可以避免,-ls只有在需要时才使用option)。


2
或者使用>代替| tee,如果您不想在终端上看到整个输出。
rozcietrzewiacz 2011年

您也不需要这样做-ls,这可能是多余的信息来解析思想。
Caleb

这也列出了隐藏目录的内容,这不是问题所要的(可能是-有点模棱两可)。
吉尔(Gilles)'所以

@吉尔斯:的确是模棱两可的。编辑答案
enzotib 2011年

请注意,第一个不是特定于GNU的。-path自2008年以来就是POSIX。-ls虽然不是标准的,但相当普遍。
斯特凡Chazelas

10

列出当前目录中的隐藏文件和目录,包括...

echo .*

要递归列出当前目录及其子目录中的隐藏文件和目录:

find . -name '.*'

如果要将结果保存到文件中,请使用重定向:

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

1

使用zsh(使用glob限定符 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。现在,它是卷序列号。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.