GUI, CLI, Terminal, Shell, TTY, Console, Bash 都是什么?

    TLDR: Human → Console(Terminal/TTY x 6) → Shell → Linux 内核

    • Shell: 命令行解释器, 执行用户输入的命令并返回结果
      • GUICLI 都属于 Shell 的一种
      • GUI Shell: Windows Explorer, XWindow, CDE, GNOME, KDE, XFCE
      • CLI Shell: Bash, ZSH, CSH
    • Terminal: 终端, 提供一个命令的输入输出环境
      • TTY 和 Terminal 是同义词
      • Shell 用于连接 Terminal 和 Linux 内核: 打开一个 terminal 时, 操作系统会将 terminal 和 shell 关联起来, 当我们在 terminal 中输入命令后, shell 就负责解释命令.
      • Linux 命令行界面经常会有 1-6 个 TTY 可供切换
      • Console 也是一种 Terminal, 类似于一个大窗口下面有 6 个 Tab, 每个都是个 TTY