nux*_*nux 218 command-line ls
我有一个包含数千个文件的目录,其中一些是隐藏的。
该命令ls -a列出所有文件,包括隐藏文件,但我只需要列出隐藏文件。
我应该使用什么命令?
nux*_*nux 267
命令 :
ls -ld .?*
Run Code Online (Sandbox Code Playgroud)
只会列出隐藏文件。
解释 :
-l use a long listing format
-d, --directory
list directory entries instead of contents, and do not derefer?
ence symbolic links
.?* will only state hidden files
Run Code Online (Sandbox Code Playgroud)
小智 40
ls -d .!(|.)
Run Code Online (Sandbox Code Playgroud)
正是 OP 正在寻找的。
ter*_*don 19
如果您只想要当前目录中的文件(无递归),您可以这样做
echo .[^.]*
Run Code Online (Sandbox Code Playgroud)
这将打印名称以 a 开头.并后跟一个或多个非点字符的所有文件的名称。请注意,对于名称以连续点开头的文件,这将失败,因此例如....foo不会显示。
您还可以使用find:
find -mindepth 1 -prune -name '.*'
Run Code Online (Sandbox Code Playgroud)
在-mindepth我们不匹配,确保.与-prune该方法find不会访问子目录。