如何递归仅列出终端中的隐藏文件

用户名

我想做类似的事情

ls -RA .?* >> LSRA.list

但是使用此命令和我尝试过的其他一些变体,我也总是在我所在的目录中获得所有非隐藏文件。

即,如果目录中包含文件

.hiddenfile foo

通过上面的命令,我得到了两者的递归列表,而我只想获取以和开头的文件和目录的递归列表。(但不是。目录本身!)

我检查了该问题的答案,但没有找到解决问题的方法。

更新:到目前为止找到的最佳选择:

 ls -RA .!(|.)*

 find -path './.*' -name '.*' -empty -printf %P\\n

后者以递归方式列出所有隐藏目录中的所有隐藏文件(因此,如果隐藏目录包含非隐藏文件,则不会显示该文件)。

进一步更新。bac0n和钒工作的两个答案:我不能接受!(第一个递归地显示隐藏目录中的非隐藏文件,第二个递归地仅显示隐藏文件)

要以递归方式仅列出终端中的隐藏文件,可以将该工具find与以下-type f选项一起使用:

find ~ -type f -name '.*'

这将在用户主目录中找到所有文件名,其基本名以点开头,即隐藏文件或文件夹。删除-type f以列出隐藏的文件和文件夹,或指定type d仅列出隐藏的目录。通过替换~为有效路径名来指定其他任何目录指定.在当前工作目录及以下目录中列出隐藏文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章