Linux 是否有任何理由使用*/&引用;“指挥中”;ls-d*/“的;要列出目录吗?
我知道还有其他方法可以做同样的事情,比如Linux 是否有任何理由使用*/&引用;“指挥中”;ls-d*/“的;要列出目录吗?,linux,bash,shell,Linux,Bash,Shell,我知道还有其他方法可以做同样的事情,比如 ls -l | grep "^d" 或 我只是好奇为什么在“ls-d”之后加上“*/”。为什么仅仅使用“ls-d”不起作用?它背后有什么故事或棘手的东西吗?如果您使用ls-d*,那么您不仅会看到目录,还会看到文件。如果使用ls-d*/,则只会看到目录。添加-d标志只会指示ls仅列出目录条目,而不是其内容。提供给ls的*将扩展到当前目录中的所有条目,包括文件和目录。因此ls-d*将列出此目录中的所有条目,而不展开子目录。但是如果您使用*/,那么bash会
ls -l | grep "^d"
或
我只是好奇为什么在“ls-d”之后加上“*/”。为什么仅仅使用“ls-d”不起作用?它背后有什么故事或棘手的东西吗?如果您使用
ls-d*
,那么您不仅会看到目录,还会看到文件。如果使用ls-d*/
,则只会看到目录。添加-d
标志只会指示ls
仅列出目录条目,而不是其内容。提供给ls
的*
将扩展到当前目录中的所有条目,包括文件和目录。因此ls-d*
将列出此目录中的所有条目,而不展开子目录。但是如果您使用*/
,那么bash会将其扩展为仅包含此目录中的目录。但是只要使用ls*/
,所有目录都将被扩展。添加-d
标志可防止出现这种情况,您只会得到此目录中的目录。您是否在不使用*/
的情况下尝试了它,并查看了它的不同之处?仅使用“ls-d”将返回本地目录。“”仅限,无论您在何处。“-d,--目录列出目录条目而不是内容,并且不要取消引用符号链接”这是我在“ls”的man中发现的。我认为它没有被很好地描述。“不扩展子目录”应该是真正的意思。
ls -F | grep "/$"