Linux 入门

LinuxBeginner
立即练习

简介

终端是与 Linux 进行文本交互的一种方式。在命令行提示符后输入命令并按 Enter 键,Linux 就会显示输出或修改系统中的某些内容。刚开始时,命令行提示符可能看起来比较陌生,但每次交互都遵循同一个简单模式。

在本实验中,你将运行一些安全命令,用于打印文本、显示日期、查看日历、计算数字和创建文字艺术。你还会把一些结果保存到 /home/labex/project/first-commands 下,这样就能区分临时显示在终端中的输出和存储在文件中的信息。

运行第一个命令

提示: 如果你刚开始使用 LabEx,建议先学习 Linux 学习路径

在这一步中,你将学习如何识别终端命令行提示符、运行命令并读取命令输出。

闪烁的光标会出现在命令行提示符之后。命令行提示符表示 shell 已准备好接收命令;不要输入命令行提示符本身。首先进入为本实验准备的工作目录:

cd /home/labex/project/first-commands

在 Terminal 选项卡中闪烁的光标处输入命令

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.txttoday.txtcalendar.txtcalculations.txtlabex-art.txt

清理屏幕后创建一个最终标记文件:

echo "Terminal ready" > terminal-ready.txt

显示该标记,检查它是否正确写入:

cat terminal-ready.txt

最后这条命令强调了一个重要概念:清除显示内容只会改变你当前看到的屏幕,文件仍然存储在磁盘上。

总结

你学习了终端的基本交互模式:输入命令、按 Enter 键,然后理解命令结果。你练习了 pwdechodatecalexprfigletclear,使用了简单的选项,并将输出保存到文件中。现在,你已经可以在学习更广泛的文件操作之前,先通过一个小型终端挑战应用这些基础知识。