byr*_*gur 5 ssh shell command-line-interface terminal telnet
如果可以的话,我通常不会使用 SSH,但是如果我必须这样做,我当然会这样做,而且我似乎已经这样做了多年,但仍然对这些不同的术语感到有些困惑......来自我的基础研究,这是我的理解,有人可以验证/纠正吗?
另外两个问题:
编辑...不是 100% 相信我上面问题的结构...请注意,上面的定义在一定程度上有点偏离,请参阅下面的答案以获得更好的定义
Telnet 提供了与服务通信的能力,仅此而已。如果该服务恰好是服务器上的外壳,那很好,但并非总是如此。我经常使用 telnet 手动发送格式错误的 HTTP 请求,或手动针对 SMTP 服务器运行命令。
SSH不仅仅是一种远程登录服务器的方式。它可以用作从本地计算机访问远程服务的代理,也可以用作运行其他协议的协议(例如scp
)
一个壳牌是给一个命令行解释器在计算机上运行,以找出你想要做什么,并试图做到这一点的名字。这可能是sh
, bash
, csh
,tcsch
甚至command.com
命令行是 DOS shell,通常与 Microsoft 操作系统相关联。
终端是不明确的。它可能是其 shell 快捷方式的 OS X 名称。它也可能是一个物理的东西,用于与多用户 Unix 服务器的外壳接口(一种流行的是VT-100)
Linux 版本一般叫什么,是只叫 SSH 吗?
SSH 只是一种可以访问服务器外壳的协议。这是非常常见的,但也有较旧且不安全的,rsh
或者telnet
如果您愿意,甚至可以登录到您的 Linux 服务器。
什么是bash?
你前面有一个小的学习曲线:
甲命令行/命令提示仅仅是一个方式的程序本身呈现给用户; 通过CLI(命令行界面)。另一种方式是通过GUI(图形用户界面)。许多程序都有这两种:您可以选择使用哪种,图形或命令行。这是一个品味问题。提供这两个选项的一个例子是“zip”。在 Windows 上,有Winzip GUI 和zip CLI。
一个壳是一种特殊的命令行程序:这是命令行中的“桌面”。它运行命令行并使这一切发生。它响应您的操作,用户的操作(即输入)。在 Unix 上,bash是最流行的 shell。在 Windows 上它是... cmd.exe?我不知道。不是我的专业领域。
一个终端是GUI和CLI世界之间的桥梁:它是启动一个外壳,让你使用它的图形窗口中CLI应用程序的GUI程序。现在,在 OS X 上,Apple 提供的终端程序恰好称为Terminal,但这只是侥幸。在 Windows 上它是... Console,我想?还有许多其他终端应用程序;xterm 等。因此,当您用鼠标单击终端图标时,计算机会为您启动两个程序:终端(Mac 上的终端)和 shell(通常是 bash)。
(最后,你询问ssh和telnet。你应该总是,总是使用 ssh。真的,总是。如果有人告诉你不要和说不要担心等,你应该降低你对他们的看法。)
无论SSH和远程登录两个命令行程序,使网络连接到另一台计算机,并给你的命令行是计算机。所以它们看起来是一样的。
然而,Telnet 实际上只是一个网络调试工具。任何人都可以窃听您的 telnet 连接并查看您所做的一切。另一方面,Ssh 的工作方式与您期望的一样。您连接到另一台计算机,并且您通过网络进行的通信保持私密。