我知道还有其他的方法可以实现相同的功能,比如
ls -l | grep "^d"
或者
ls -F | grep "/$"
我对在
ls -d
后添加*/
的原因很好奇。为什么简单地使用ls -d
不能起作用?这背后是否有什么故事或诡计?添加-d
标志只是指示ls
将仅列出目录条目,而不是其内容。给ls
的*
扩展到当前目录中的所有条目,包括文件和目录。因此,ls -d *
将列出此目录中的所有条目,而不会扩展子目录。但如果使用*/
,则bash会将其扩展为仅包括此目录中的目录。但只需使用ls */
,所有目录都将被扩展。添加-d
标志可以防止这种情况,并且您只能获得此目录中的目录。
如果您使用ls -d *
,那么您将看到不仅是目录,还有文件。 如果您使用ls -d */
,则只会看到目录。
*/
然后看看它有什么不同吗? - Xymostech