命令行#

  • 本节贡献者: 姚家园(作者)、田冬冬(审稿)

  • 最近更新日期: 2021-03-01

  • 预计花费时间: 20 分钟


命令行与图形界面#

地震学科研中,大部分时间使用的是命令行界面(CLI, Command Line Interface), 有时也使用图形界面(GUI, Graphical User Interface)。 命令行基本以操作键盘为主,图形界面一般同时操作鼠标和键盘。图形界面上手简单, 各种常用功能显式可见,但是推荐在日常科研中使用和掌握命令行,原因如下:

  • 命令行更加高效。操作键盘比在键盘和鼠标之间来回切换更快

  • 命令行操作可编写成脚本,并重复使用,而图形界面下操作重复的时间成本较高

  • 命令行有时是唯一的选择。例如,登录远程服务器时,很少有图形化界面可供使用

  • 图形界面占用更多的系统资源

近几年,一些图形界面工具发展迅速,有时使用图形界面会更方便。例如,Visual Studio Code 是当前最流行的图形界面文本编辑器之一,使用其进行编程或编辑文本十分高效。

终端#

命令行一般需使用终端(Terminal)输入指令。日常使用的终端更确切的称谓应该是 终端模拟器(Terminal Emulator)。用户可以在桌面或菜单栏中找到并点击 “Terminal” 图标以启动终端,然后输入命令并按下 Enter 键即可执行相应的命令:

# 使用 echo 命令输出 Hello World~
$ echo "Hello World~"

# 使用 exit 命令退出终端
$ exit

Shell#

从终端程序输入的指令,会被一个称为 Shell(壳)的程序接收,并进一步交给系统执行。 几乎所有的 Linux 发行版都提供了一个叫 Bash 的 Shell,此外还有 Zsh、csh、ksh 等 Shell。 熟悉 Linux 系统之后,推荐参考《Zsh 及其配置实践经验》 安装和使用 Zsh。

打开终端后,通常会看到类似如下 Shell 提示符:

[seismo-learn@earth ~] $

上例中的提示符由 seismo-learn(用户名)、@ 符号、earth(主机名)、~(表示家目录) 以及 $ 美元符号组成。在不同的 Linux 发行版或不同的用户设置下,该提示符的样式有所不同。

接着就可以在终端中输入各种命令,Shell 会获取命令并交给系统执行:

# 查看变量 SHELL 的值,即当前 Shell 程序的名字
[seismo-learn@earth ~] $ echo $SHELL
/bin/bash

为了简洁,本教程中的所有命令行只使用 $ 符号表示 Shell 提示符。因而上面的示例 在本教程中会写作:

# 查看变量 SHELL 的值,即当前 Shell 程序的名字
$ echo $SHELL
/bin/bash

其中,以 # 符号开头的行为注释行,用于解释接下来的命令,用户无需输入。 以 $ 符号开头的行为命令行,用户需要在终端中键入该命令以执行。 不以 # 符号和 $ 符号开头的行,则为命令的输出信息(例如 /bin/bash)。

Tip

  1. 使用向上、向下箭头按键可以获取之前输入的命令

  2. 按住鼠标左键并拖动选中文本,或直接双击一个单词,就可以复制选中的文本或单词, 随后按下鼠标中键,就可以将文本粘贴到光标所在的位置

  3. 输入命令或路径时按下 Tab 键可自动补全