我想做类似的事情
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] 删除。
我来说两句