关于echo与ls的问题

发布于 2022-09-30 07:11:28 字数 33 浏览 12 评论 0

请问谁能告诉我echo *与ls *的区别吗? 
拜谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

你げ笑在眉眼 2022-10-07 07:11:28

echo * 列出所有的文件名

ls *对于文件,显示文件名,对于目录,显示目录里的文件

喜爱纠缠 2022-10-07 07:11:28

echo * 会打印所有的命令行参数,*会展开成当前目录下的文件名
ls * 会根据终端彩色显示文件和子目录下的文件。

空城缀染半城烟沙 2022-10-07 07:11:28

搞清楚 echo 和 ls 两个命令的作用就什么都明白了。
echo *和 ls .  还有一拼,
和 ls * 简直没法比。

我一直都在从未离去 2022-10-07 07:11:28

哦 是不是先用*号去匹配当前目录下的所有的的文件名和子目录名
然后echo显示所有的文件名
ls不只显示当前目录下的文件名还有子目录下的文件呢?

笑红尘 2022-10-07 07:11:28

原帖由 hq190725 于 2005-12-12 11:01 发表
哦 是不是先用*号去匹配当前目录下的所有的的文件名和子目录名
然后echo显示所有的文件名
ls不只显示当前目录下的文件名还有子目录下的文件呢?

不是的。
ls 会对每个参数做同样的处理:如果参数是一个文件,就显示它的名字,如果参数是一个目录,就显示它里面的文件的名字。
搞清楚星号是由 shell 来解释(扩展)的,而不是 ls 或者 echo 来解释的。

爱已欠费 2022-10-07 07:11:28

echo和ls命令的参数都是 *那这两个命令的输出是什么呢 有什么区别?

感受沵的脚步 2022-10-07 07:11:28

原帖由 hq190725 于 2005-12-12 11:15 发表
echo和ls命令的参数都是 *那这两个命令的输出是什么呢 有什么区别?

man ls
man echo

⒈起吃苦の倖褔 2022-10-07 07:11:28

关键问题就在于,当 shell 在调用指定命令之前,会将参数中单独出现的 * 替换成当前目录下的所有文件名的列表。
用 echo '*' 和 ls '*' 就可以看出区别了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文