如何理解什么是Shell、Terminal、MinGW、Bash、Git Bash等?

如何理解什么是Shell、Terminal、MinGW、Bash、Git Bash等?

我还只是一名 Python 程序员的初学者。我对基础知识了如指掌,还可以使用一些软件包和库。我使用过 Pandas、Matplotlib、Beautiful Soup、Requests 等,我想学习数据科学(您可能已经从库名中猜到了)。Python 是目前我唯一了解的语言,我对这门美丽的语言非常着迷。但要学习更多关于计算机科学的知识并成为一名更好的程序员,我还需要了解命令行以及它是什么以及如何使用它。

所以我使用 Windows。我知道如何使用命令提示符、更改目录以及创建或删除目录。我还知道如何使用 git 以及 git 命令,这样我就可以将git pushgit pull的代码复制到 GitHub 或从 GitHub 复制代码。因此我从https://git-scm.com/downloads我发现我还安装了一种类似于命令提示符的程序,名为 Git Bash。令我惊讶的是,我发现 Git Bash 支持 Linux 和 Mac 命令,例如cattouchls

所以我在网上查了很多资料,现在我“认为”我可能对一些术语有了基本的了解。这就是我所理解的。

  • Shell 是处理输入和输出并运行接收的命令的底层程序。
  • Shell 示例:
    • 猛击在Linux / Mac或Unix上
    • 命令在 Windows 上

终端

  • 终端是底层 shell 上的一种皮肤/包装器。它接收输入并将其传递给 shell,shell 处理输入并将输出发送到终端,然后终端将其显示给我们。
  • 终端示例:
    • 终端在 Mac/Linux 上
    • 命令提示符在 Windows 上

这就是我对 shell 和终端的看法。现在我想阐述一下我对 Git Bash 的理解。

Git Bash 是一个类似命令提示符的程序,但它支持 Windows 上的 Linux 命令行命令,如cattouch。它的是 Bash(因为它被称为 Git Bash),并且它的终端是 MinGW(因为我在运行 Git Bash 时看到的是 MinGW64)

现在我的问题是,我对这些理解是否正确。如果我的理解不正确,我真心希望有人能纠正我这些是如何工作的。如果我错了,并且 Git Bash 程序不使用 Bash 作为其或 MinGW 作为其终端,请同时包括其用途。谢谢!

相关内容