Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 是否有任何理由使用*/&引用;“指挥中”;ls-d*/“的;要列出目录吗?_Linux_Bash_Shell - Fatal编程技术网

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 "/$"