简介
终端是与 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 默认显示前 10 行。你应该会看到与终端中显示的相同的多行设计。
清理繁忙的终端
在这一步中,你将清除旧的输出,并区分清理屏幕与删除文件这两种操作。
运行多个命令后,终端屏幕可能会变得拥挤。运行:
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,使用了简单的选项,并将输出保存到文件中。现在,你已经可以在学习更广泛的文件操作之前,先通过一个小型终端挑战应用这些基础知识。



