我知道还有其他一些方法可以做同样的事情,比如
ls -l | grep "^d"
Run Code Online (Sandbox Code Playgroud)
要么
ls -F | grep "/$"
Run Code Online (Sandbox Code Playgroud)
我只是好奇在"ls -d"之后添加"*/"的原因.为什么简单地使用"ls -d"不起作用?它背后是否有任何故事或棘手的东西?
添加-d标志只是简单地指示ls列出目录条目而不是其内容.该*给ls扩展到当前目录中的所有条目,这两个文件并显示目录.因此,ls -d *将列出此目录中的所有条目,而不扩展子目录.但是如果你使用*/,那么bash扩展它只包括这个目录中的目录.但只是ls */,所有目录都将被扩展.添加-d标志可以防止这种情况,并且您只获得此目录中的目录.