简介
终端是一种通过文本与 Linux 交互的方式。你在提示符后输入命令,按下 Enter,Linux 就会显示输出或对系统进行相应更改。刚开始时,提示符可能看起来有些陌生,但每次交互都遵循同样的简单模式。
在本实验中,你将运行一些安全命令,用于打印文本、显示日期、查看日历、计算数字以及生成文字艺术。你还会将一些结果保存到 /home/labex/project/first-commands 下,从而区分临时显示在终端中的输出和存储在文件中的信息。
运行第一个命令
提示: 如果你是 LabEx 新用户,建议先从 Linux 学习路径开始学习。
在本步骤中,你将学习如何识别终端提示符、运行命令并读取命令输出。
闪烁的光标会出现在提示符之后。提示符表示 shell 已准备好接收命令;你不需要输入提示符本身。首先进入本实验准备好的工作目录:
cd /home/labex/project/first-commands

cd 表示「change directory」,即切换目录。目录是 Linux 对文件夹的称呼。后续实验会详细介绍目录;现在,这条命令可以让你保存的所有结果都集中在一个固定位置。
运行 pwd,它表示「print working directory」,即显示当前工作目录:
pwd
输出应当是你刚刚进入的目录:
/home/labex/project/first-commands
现在使用 echo,让 shell 打印一段文本:
echo "Hello, Linux"
你应该会看到:
Hello, Linux
引号会将这些单词组合成一个文本值。接下来,将这句问候语保存到文件中。> 符号称为输出重定向:shell 会创建其右侧指定的文件,并将命令的常规输出发送到该文件,而不是显示在屏幕上。如果文件已经存在,> 会覆盖其中原有的内容,因此在处理重要数据时,使用前务必确认目标文件是否正确:
echo "Hello, Linux" > greeting.txt
这条命令不会在屏幕上显示任何内容,因为输出已经写入 greeting.txt。
使用 cat 读取保存的文件:
cat greeting.txt
再次看到 Hello, Linux,说明这段文本已经存在于 greeting.txt 中,而不仅仅是显示在终端屏幕上。
查看日期和日历
在本步骤中,你将让 Linux 提供时间信息,并了解命令输出可能会随环境变化。
不带任何选项运行 date:
date
Linux 会显示当前星期几、日期、时间、时区和年份。具体值每秒都会变化,因此你的输出可能与其他地方看到的示例不同。
命令通常支持用于改变输出内容的选项。以 + 开头的 date 格式可以让你选择需要显示的字段。%F 表示 ISO 日期格式 YYYY-MM-DD:
date +%F
保存今天的 ISO 日期。和上一步一样,> 会将输出重定向到文件;如果文件已存在,也会覆盖其中的内容:
date +%F > today.txt
cal 命令会以日历形式显示当前月份:
cal
月份和星期的排列方式取决于当前日期和区域设置。将这份输出也保存下来:
cal > calendar.txt
> 符号会将输出发送到文件,而不是显示在屏幕上。显示保存的日历,确认它已经成功写入:
cat calendar.txt
之后你会系统学习重定向。现在只需记住,终端输出既可以立即查看,也可以保存下来供日后使用。
使用 Expr 进行计算
在本步骤中,你将使用 expr 进行整数运算,并观察为什么 shell 命令中的空格很重要。
shell 会根据空格将命令行拆分成多个单词。expr 要求第一个数字、运算符和第二个数字分别作为独立参数传入。计算两个数字的和:
expr 5 + 3
结果为:
8
尝试进行减法和除法:
expr 20 - 7
expr 24 / 6
乘法需要额外注意一点。shell 会将 * 视为文件名通配符,因此需要使用反斜杠对它进行转义,才能将字面意义上的乘法运算符传递给 expr:
expr 6 \* 7
将乘法结果保存到文件中。这里使用了你之前练习过的相同输出重定向方式,因此终端不会显示结果,而是将 42 写入 calculation.txt:
expr 6 \* 7 > calculation.txt
显示该文件:
cat calculation.txt
你应该会看到 42。先从简单的练习开始,可以让你专注于命令的组成结构:命令名称、以空格分隔的参数,以及可选的输出目标。
将文本转换为 ASCII 艺术字
在本步骤中,你将使用命令选项改变 figlet 的文本格式。
figlet 会使用普通的终端字符生成放大的字母。先用一个简短的单词运行它:
figlet "LabEx"
输出会跨越多行。这种效果称为 ASCII 艺术字,因为它使用的是文本字符,而不是图像像素。
许多 Linux 选项以 - 开头。对于 figlet,-f 用于选择字体,slant 是字体名称。试试看:
figlet -f slant "Linux"
将第一种设计保存到文件中:
figlet "LabEx" > labex-art.txt
查看保存的艺术字开头部分:
head labex-art.txt
head 默认显示前十行。你应该会看到与终端中相同的多行设计。
清理杂乱的终端
在本步骤中,你将清除旧的输出,并区分清理屏幕与删除文件这两个不同的操作。
运行多条命令后,终端屏幕可能会变得十分拥挤。运行:
clear
clear 会将旧的终端输出移出当前视图,但不会删除命令、文件或目录。大多数终端还支持使用 Ctrl+L 快捷键完成同样的视觉清理。
列出工作目录,确认之前的文件仍然存在:
ls
你应该仍然可以看到 greeting.txt、today.txt、calendar.txt、calculations.txt 和 labex-art.txt。
清理屏幕后,创建一个最终标记文件:
echo "Terminal ready" > terminal-ready.txt
显示该标记,检查文件内容:
cat terminal-ready.txt
这条最后的命令再次说明了一个重要概念:清理显示内容只会改变你当前看到的画面,文件仍然会保存在磁盘上。
总结
你已经了解了终端的基本交互模式:输入命令、按下 Enter,然后理解命令结果。你练习了 pwd、echo、date、cal、expr、figlet 和 clear,使用了简单的命令选项,并将输出保存到了文件中。现在,你已经可以在学习更广泛的文件操作之前,先通过一个小型终端挑战来应用这些基础知识。



