为什么使用命令行?
大多数的计算机用户只是熟悉图形用户界面(GUI),采用图形方式显示的用户操作界面。命令行界面(CLI)是一种通过文本输入来与计算机进行交互的方式,用来和计算机进行交流沟通的非常有效的方式,正像人类社会使用文字互通信息一样。虽然图形用户界面让简单的任务更容易完成,而命令行界面使 完成复杂的任务成为可能。
什么是shell?
一说到命令行,我们真正指的是 shell。shell 就是一个程序,它接受从键盘输入的命令,然后 把命令传递给操作系统去执行。几乎所有的 Linux 发行版都提供一个名为 bash 的来自 GNU 项目的 shell 程序。“bash”是“Bourne Again SHell”的首字母缩写,所指的是这样一个事实, bash 是最初 Unix 上由 Steve Bourne 写成 shell 程序 sh 的增强版。
终端仿真器
当使用图形用户界面时,我们需要另一个和 shell 交互的叫做终端仿真器的程序。如果我们浏览 一下桌面菜单,可能会找到一个。虽然在菜单里它可能都被简单地称为“terminal”,但是 KDE 用的是 konsole , 而 GNOME 则使用 gnome-terminal。还有其他一些终端仿真器可供 Linux 使 用,但基本上,它们都完成同样的事情,让我们能访问 shell。也许,你可能会因为附加的一系列花俏功能而喜欢上某个终端。
命令历史
如果按下上箭头按键,我们会看到刚才输入的命令重新出现在提示符之后。这就叫做命令历史。许多 Linux 发行版默认保存最后输入的 500 个命令。按下下箭头按键,先前输入的命令就消失了。
移动光标
使用左右箭头按键。看一下怎样把光标定位到命令行的任意位置,通过使用箭头按键,调整修改命令,使编辑命令变得轻松些。
shell 是和键盘打交道的,但你也可以在终端仿真器里使用鼠标。X 窗口系统(使 GUI 工作的底层引擎)内建了一种机制,支持快速拷贝和粘贴技巧。如果你按下鼠标左键,沿着文本拖动鼠标(或者双击一个单词)高亮了一些文本,那么这些高亮的文本就被拷贝到了一个由 X 管理的缓冲区里面。然后按下鼠标中键,这些文本就被粘贴到光标所在的位置。
不要在一个终端窗口里使用 Ctrl-c 和 Ctrl-v 快捷键来执行拷贝和粘贴操作,它们不起作用,对于 shell 来说,这两个控制代码有着不同的含义。
简单命令示例
- 查看日期:date,显示系统当前时间和日期
- 查看日历:cal,默认显示当前月份的日历,也可指定年份。
- 查看帮助:如date --help和cal --help
- 结束终端会话:exit
总结
虽然图形用户界面(GUI)直观易用,可视化操作更易理解和执行,但对于复杂任务可能需要多次点击和操作,且消耗系统资源较多,不便于批量处理任务。相比之下,命令行界面(CLI)虽不够直观,需要记忆命令和参数,但占用的资源更少,极为灵活且能自动化任务。这两种界面在不同场景下都有独特优势,因此选择取决于具体需求和偏好。因此,学习 Linux 命令行非常必要,这样你才能更好地应对不同需求。