SSH、shell、Xshell 、bash、Git、Git bash 、Git CMD、Git shell

1、SSH

  • SSH(Secure Shell)安全外壳协议,由 IETF 的网络工作小组(Network Working Group)所制定;是建立在应用层和传输层基础上的安全协议,是为远程登录会话和其他网络服务提供安全性的协议,防止远程管理过程中信息泄露。
  • SSH提供2种级别的安全验证——基于口令和基于密钥:
  • 基于口令:使用IP和口令登录,需在网络上传送口令,存在“中间人”攻击的危险,但登录快;
  • 基于密钥:创建一对密钥,把公用密钥放在需要访问的服务器上,不需在网络上传送口令,不存在“中间人”攻击,但登录需约10s。

传统的网络服务程序,如ftp、pop、telnet不安全,因为在网络上使用明文传送口令和数据。

SSH仅仅是一协议标准,其具体的实现有很多,既有开源实现的OpenSSH,也有商业实现方案。使用范围最广泛的是开源实现OpenSSH。

2、shell

  • Shell按字面意思就是“壳”,是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。它接收用户输入的命令并把它送入内核去执行。
  • Shell 脚本(shell script),是一种为 shell 编写的脚本程序。

3、Xshell

  • Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。
  • Xshell是在Windows下远程连接Linux主机的工具。

4、bash

  • bash(born again shell)是shell的一种,最常用的shell之一。
  • bash是大多数Linux系统以及Mac OS X默认的shell,它能运行于大多数类Unix风格的操作系统之上。

5、Git

  • Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
  • SVN与Git的最主要的区别:
  • SVN是集中式版本控制系统,版本库集中放在中央服务器,必须联网才能工作,干活前首先要从中央服务器那里得到最新的版本,然后干活,干完活再把自己做完的活推送到中央服务器。
  • Git是分布式版本控制系统,每个人的电脑就是一个完整的版本库,工作的时候不需要联网。

6、Git bash 与 Git CMD

  • Git bash是Windows下的命令行工具。
  • 方便在windows下使用git命令的模拟终端(windows自带的cmd功能太弱),而linux、unix可以直接使用git。

Git工具.png
第一个是可视化图形界面,第二个是CMD,第三个是Bash。
Git中的Bash是基于CMD的,在CMD的基础上增添一些新的命令与功能。所以在使用的时候,Bash更加方便。

本质上,git bash是一个封装过的cmd命令行,并在其中加入了指向bash环境的环境变量。因此cmd命令行本身的环境变量它也有,自然就能使用dos命令了。但是在封装的过程中,windows可能对调用自己cmd命令行控件的第三方应用设了限制,所以说是大部分可以用。

7、Git shell

  • Git shell是安装了git的shell,bash是shell的一种。

推荐阅读更多精彩内容

  • 有必要先来了解什么是SSH和什么是SSH key。 SSH Secure Shell (SSH) 是一个允许两台电...
    faner阅读 19,233评论 1 38
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 9,833评论 9 162
  • 今天第一天开始上班,没有任务,于是开始学习Git这一程序猿必须掌握之技能,希望今天的积累过后,对与Git或者...
    CoderTung阅读 7,173评论 2 95
  • 本文为 Git教程的学习笔记,教程源自廖雪峰的博客。这是一个由浅入深,学完后能立刻上手的Git教程。另,附上另一本...
    丹青笔阅读 3,257评论 5 47
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 2,152评论 0 13