我怎样才能让 ls 仅显示文件?

我怎样才能让 ls 仅显示文件?

我认为必须有一种方法可以让 ls 仅显示非目录,但手册页并没有明确说明

答案1

ls -p | grep -v /

使用ls -ptellls将斜线附加到目录条目,并使用grep -v /tellgrep仅返回行不是包含斜线。

答案2

你可以尝试这个:

find . -maxdepth 1 -not -type d

并将其映射到特殊别名。

但是如果你真的很想使用该ls命令,请参见:

ls -p | egrep -v /$

答案3

或者:

ls -lAh | grep -v '^d'

此方法列于

  • -l 长列表格式
  • -A 显示几乎所有(显示隐藏文件但不显示...
  • -h 人类可读的文件大小

而 grep

  • -v不显示匹配的记录
  • Regular expression过滤器^d-以字母 d 开头的(代表目录),即drwxrwxr-x <some file details> <foldername>

如果你不想每次都打字,你可以把它变成您的 bash/shell 配置文件的别名。

答案4

ls -F | grep -v /

上述命令显示文件,但它包括符号链接,管道等。如果您也想消除它们,您可以使用下面提到的标志之一。

ls -F将符号附加到文件名。这些符号显示有关文件的有用信息。

ls -F | grep -Ev '/|@|*|=|>|\|'

上述命令仅显示文件。

相关内容