我进入 OS X 终端,有时人们只给我命令grep
,,ls
有些人称它为shell script
,有些人称它为unix shell
。我还得到了一个术语bash shell
,Bash command
。所以,我想弄清楚。这到底是什么?另外,如果我想掌握grep
,ls
并查看工作人员的完整手册shell
,我应该查找什么文档?因为我看到一些关于 Linux 命令等的文档也有此功能。在 MS DOS 中,我可以得到一个 Dos 命令列表。OS 终端也有这个东西吗?谢谢。
Dos 命令列表:
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds.mspx?mfr=true
答案1
解释所有这些术语的唯一真正方法是通过历史课。
因此,我们从 70 年代的 UNIX 开始讲起。早在图形界面出现之前,命令行就是您访问操作系统的唯一界面。鉴于操作系统的中心称为“内核”,一些疯子决定外层应该是“壳'。糟糕的双关语仍然是 UNIX 的一个主题。
时至今日,Terminal.app 本质上只是模拟了 40 年前用于访问 shell 的物理终端。我们“打开终端”而不是拉起一把椅子,但这确实是最根本的变化。
因为 UNIX 是由程序员编写的,最初是为他们自己编写的,所以他们让这个 shell 可编程。我们称这些为脚本 - 就像演员可以按照剧本执行一样,shell 也可以按照“shell 脚本'。通常(希望)不是成熟的程序,但却是非常有用的自动化水平。
UNIX 的大部分组件都可以(并且已经被)替换,包括 shell。因此,当 Stephen Bourne 编写了 Ken Thompson shell 的替代品时,它成为了伯恩壳牌- 还有 Ken 的汤普森壳牌. 随着时间的推移,C 壳(贝壳?非常有趣),科恩壳牌,等等。
在此刻, 'UNIX 外壳' 成为任何 UNIX shell 的通用术语。虽然它们之间存在语法差异,但几乎任何 UNIX 命令都可以在任何 UNIX shell 中编写。因此,当差异根本不重要时,使用此术语。它足够具体,可以避免与非 UNIX 环境混淆(有人记得DOS外壳?),但足够通用,所以我们不关心 sh、csh、tsch 和 ksh……
当 GNU 取代 Bourne Shell 时,他们将替代品命名为重回伯恩之壳- 'bash'。我保证,这是最后一个双关语。虽然它实际上只是另一个 UNIX shell,但它目前是最广泛的 - 并且在整个 Linux 和互联网“繁荣时期”中都是最广泛的。因此,您会听到“命令”、“UNIX 命令”、“终端命令”和“bash 命令”互换使用,“UNIX shell”和“bash shell”互换使用,等等。但是,由于各种 shell 之间的语法差异,当他们说“bash 脚本”时,他们通常是指 bash - 同样,“shell 脚本”通常也意味着“bash 脚本”,除非另有说明。
答案2
答案3
Apple OSX 终端说明http://www.apple.com/osx/apps/all.html#terminal
命令列表 -http://ss64.com/mac/
据我所知,OSX 上没有 Unix Shell 命令列表。