模块课程(1/2)
输出和重定向(echo、cat、>)
在 Linux 中,几乎所有命令都从输入流读取数据并将结果写入输出流。这些通道称为标准流:
- 标准输入 (stdin):命令从中读取输入的流(默认为键盘)。
- 标准输出 (stdout):命令将其成功输出写入的流(默认为终端屏幕)。
- 标准错误 (stderr):命令写入错误消息的流(默认为屏幕)。
使用命令行,我们可以重定向这些流以将结果直接保存到文件中。
打印文本:echo
echo 命令只是将其参数写入其标准输出(屏幕):
echo "Hello everyone"重定向输出(覆盖):>
如果要将命令的输出保存到文件而不是将其显示在屏幕上,可以使用大于重定向运算符 >:
echo "Hello everyone" > greetings.txt此命令运行 echo 并将其输出重定向到文件 greetings.txt。
[!重要] 如果文件
greetings.txt不存在,则会创建该文件。如果它已经存在,其现有内容将被完全删除并用新输出覆盖。
读取文件内容:cat
要即时查看一个或多个文本文件的内容,请使用 cat 命令(concatenate 的缩写):
cat greetings.txt附加输出:>>
如果您想将新行追加到现有文件的末尾而不是覆盖它,则必须使用追加运算符 >>:
echo "New line of text" >> greetings.txt现在,使用 cat greetings.txt 读取文件将显示第一行和第二行。
使用示例和常见错误
您可以同时将多个文件传递给 cat 以按顺序显示它们(串联):
cat notes.txt info.txt
# Output:
# Keep learning Linux!
# Linux is awesome.您可以使用 > 运算符将组合输出重定向到第三个文件:
cat notes.txt info.txt > combined.txt如果您尝试读取不存在的文件,cat 将写入错误消息:
cat nonexistent_file.txt
# Output:
# cat: nonexistent_file.txt: No such file or directory自己尝试一下
练习 1:创建包含问候语的文件
使用 echo 和 > 运算符创建一个名为“hello.txt”的文件,其中包含文本“Hello World”。
显示提示
使用 echo 后跟引号中的字符串、> 运算符和 hello.txt。
3 次尝试后可用的解决方案
练习 2:将注释附加到文件
将行“Linux is fun”附加到现有“notes.txt”文件的末尾,而不删除其当前内容。
显示提示
使用>> 运算符将文本附加到notes.txt 文件中。
3 次尝试后可用的解决方案
练习 3:连接文件
连接文件“notes.txt”和“info.txt”的内容,并将组合输出保存到名为“combined.txt”的新文件中。
显示提示
使用 cat 后跟两个源文件的名称,并使用 > 将输出重定向到目标文件。
3 次尝试后可用的解决方案