我希望列出当前目录中的所有索引节点常规文件(即不是目录、链接或特殊文件),带有ls -la
( ll
)。
我去man ls
搜索type
并发现只有这个我在这方面不太明白:
--指示器样式=WORD
将 WORD 样式的指示符附加到条目名称:无(默认)、斜杠 (-p)、文件类型 (--file-type)、分类 (-F)
我怎样才能只列出常规文件ls -la
(ll
作为 Ubuntu 18.04 中的快捷方式)?
答案1
find . -maxdepth 1 -type f -ls
这将为您提供当前目录中的常规文件,其格式类似于您所获得的格式ls -lisa
(但仅显示常规文件,这要归功于-type -f
命令行)。
请注意,-ls
(由 BSD 引入)和-maxdepth
(由 GNU 引入find
)是非标准(尽管现在很常见)扩展。 POSIXly,你可以这样写:
find . ! -name . -prune -type f -exec ls -ldi {} +
(这也有对文件列表进行排序的好处,但如果当前目录中有大量文件,则可能会以大的独立块的形式进行排序)。
答案2
答案3
当你使用 -a 时,会显示所有隐藏的内容;隐藏的文件和文件夹。您可能希望使用 find 命令来代替 ls。这应该可以帮助您开始:
find -type f -exec ls -la {} \;
您需要首先更改为要搜索的目录。