Linux下ls命令只显示目录或文件

本质上来说就是根据有没有以/结尾

只显示目录

1
2
3
4
5
ls -F | grep /$ # -F使得ls将文件分类,通过在文件后面加一些标记来实现
ls -F | grep /
ls -l | grep ^d
ls -d */
ls -ld */

只显示文件

1
2
3
4
5
6
7
ls -F | grep [^\/]$ # 注意行尾匹配符号$不可少
ls -F | grep [^/]$
ls -l | grep ^-
ls -l | grep ^- | wc -l # wc命令统计行数
find . -type f -maxdepth 1 | xargs ls -al
ls -p | grep [^/]$ # -p使得ls命令在目录后面加斜杠
find . ! -name . -prune -type f # 这个命令不会很好排序文件

参考: