我尝试仅显示隐藏文件,但不知道该怎么做。
这是有效的(但也匹配其他地方的点)
ls -la | grep '\.'
正在尝试添加^
但没有找到解决方案。
答案1
ls -ld .*
会做你想做的事。
答案2
find . -type f -name '\.*' -print
如果您想列出目录层次结构中的每个隐藏文件,则必须工作。
答案3
改进于弗鲁普的回答:
ls -lad .[!.]* ..?*
这将列出名称以点开头且既不是.
也不是的所有文件..
。
请注意,如果您想通过管道将输出传输到ls
(grep
其中,正如 devnull 所指出的,从来都不是一个好主意),请确保使用\ls
orcommand ls
因为 ifls
是别名来显示彩色输出(例如在 Debian 上),其输出包含 ANSI 转义序列来创建彩色输出,这将使您的grep
if 出错图案锚定在行的开头。
答案4
以下是仅查找隐藏文件的其他两种方法。
find . -maxdepth 1 -name ".*" -type f -ls
或者
find . -maxdepth 1 -name ".*" -type f -printf "%P \n"
用于-maxdepth
指定要在目录树中搜索的范围。