使用ls列出子目录

Ber*_*ard 24 linux shell

我怎么能用ls列出子目录,'-d'只显示当前目录.我想要一些find . -type d -maxdepth 1会给我的东西.

Cos*_*atu 32

这应该有所帮助:

ls -d */

*/只会匹配当前目录下的目录.输出目录名称可能包含尾随'/'.

  • 要对此迂腐,你应该做`ls -d.*/*/`或`shopt -s dotglob; ls -d.*/`,否则将不会列出以dot(`.`开头)的目录. (4认同)

Let*_*_Be 6

ls -d */并且ls -d */*/似乎工作就好了.


dog*_*ane 5

您可以与grep结合使用:

ls -l | grep '^d'
Run Code Online (Sandbox Code Playgroud)

仅获取文件名:

ls -l | grep '^d' | awk '{ print $9 }'
Run Code Online (Sandbox Code Playgroud)

您可以将其设置为方便的别名

alias ldir="ls -l | grep '^d'"
Run Code Online (Sandbox Code Playgroud)

  • 如果您已经在使用`awk`,那么`grep`是多余的:`ls -l | awk'/ ^ d / {print $ 9}'` (2认同)