命令行与终端
命令行 CLI
「命令行」其实是相对于「图形化」的概念,他们都是 Shell 的不同表现形式。
Shell 是系统的外壳,是我们与计算机交互的媒介。
最初的计算机是通过直接修改电路的物理交互
之后以「黑屏白字」为代表的早期 Shell ,使用命令行 CLI (Command Line Interface)进行交互
然后以微软、苹果,推动了图形化界面 GUI (Graphical User Interface)的发展,本质上也是一种图形化的 Shell
如今,越来越多的自然交互界面开始,触控、语音、画面的输入开始越来越多地采用,计算机的发展也越来越人性化、高效化。
我们举一些 Shell 的例子
- 系统 Shell
- Linux 有 Bash、Z Shell、C Shell、Bourne Shell、Korn Shell、fish 等等
- 最出名的是 Windows 的 CMD,Win8之后附带了功能更丰富的 PowerShell,
Visual Studio 也自带了增强版的 cmd 和 powershell
- 软件 Shell
- 编程语言是解释器提供的,比如 Python 、JS
- 游戏,比如我的世界命令、Geogebra 的命令框
- 软件,比如 Anaconda
终端
终端是在 Shell 上更表层的实现方式。
终端这个词其实是最终的端位,比如说现在流行的云服务,一台服务器可同时向许多终端提供服务。
而电脑上的终端,是一种终端模拟软件,如果现在是云服务,那我们将用多个终端同时访问一个系统的 Shell。
我们平时看 Windows 上黑扑扑的东西,实际上是 conhost
终端,Powershell 默认的终端是 powershell_ise
我们也可以下载 Windows Terminal
、WezTerm
这类终端,IDE
一般也会内置一个
我见过最有趣的终端,是用上世纪的打字机给 Unix
做为终端,甚至它真的能发消息