问题描述
什么是 shell ,它们的重要性、类型和功能?
最佳思路
有一个重要的(嗯…)区别:
-
终端:用于访问命令行界面的程序
-
这将类似于 gnome-terminal,它允许用户输入命令、设置字体大小等。在 UNIX 的早期,这些是物理机器。
-
-
Shell:运行在命令行之上的程序,如 Bash、Dash、Zsh..
-
像 bash 这样的优秀 shell 不仅可以让您简单地运行程序,还可以编写程序脚本、使用复杂的参数、将一个程序的输出通过管道传输到另一个程序的输入等等。
-
我最近在 命令行
标签的 Tag-Wiki 中写了一些关于命令行的一般内容。
命令行 界面 (CLI) 是一种通过在终端中键入文本命令来与操作系统或软件交互的方式。
“Under Linux there are GUIs (graphical user interfaces), where you can point and click and drag, and hopefully get work done without first reading lots of documentation. The traditional Unix environment is a CLI (command line interface), where you type commands to tell the computer what to do. That is faster and more powerful, but requires finding out what the commands are.” from man intro(1)
有些用户更喜欢使用命令行来完成某些任务,因为这样可以节省他们的时间和精力。他们还受益于能够创建脚本来自动执行常见任务,并且他们可以使用命令行在非常低的级别配置他们的操作系统以完全满足他们的需求。
-
Ubuntu 社区文档对命令行进行了一般介绍。
-
还有一个更长、更多的 in-depth 命令行 How-To。
如果您想了解一下它的历史和内部运作,人们似乎对 my answer to question from fred.bear 在这个主题上很满意。
次佳思路
-
Shell 充当用户命令的解释器并将它们转换为操作。
-
shell 构成了操作系统的外部,并形成了用户和内核之间的接口。
-
对于每个登录的用户,都有一个 shell 在起作用。当用户给出一个命令时,它会被 shell 检查并传递给内核以供执行。
第三种思路
简而言之,它是一个 命令行 接口。你可以发出命令并做一些事情。在这里阅读:http://en.wikipedia.org/wiki/Shell_(computing)
第四种思路
为了便于理解,将内核视为蜗牛,将 “shell” 视为 shell 。您可以通过 shell 捡起蜗牛,因为它是简单、容易和直接访问的点。类似地,在计算机上,shell 为您提供简单、直接的访问。 Shell 可以像蜗牛壳一样有不同的形状/大小。例如,bash 是一个基于文本的 shell,而 GNOME(作为一个整体)是一个图形 shell,使大多数计算机用户可以轻松访问内核、系统库和应用程序(蜗牛)。