Menu
CoddyTech

标准输入

本课属于 Coddy Terminal 学习旅程的“基础知识”单元。第 40 课,共 82 课。

第二个数据流是标准输入,缩写为 stdin。标准输出是命令发送结果的地方,而标准输入是命令接收数据的地方。

许多命令可以通过将文件名作为参数来读取文件:

cat notes.txt
sort names.txt

不过,你也可以使用 < 运算符,将文件内容直接重定向到命令中:

sort < names.txt

这会通过标准输入将 names.txt 的内容传递给 sort 命令。结果与 sort names.txt 相同,但实现方式不同:shell 会打开文件并将其连接到标准输入,而不是由命令按文件名打开文件。

你可以在一条命令中组合使用输入重定向和输出重定向:

sort < names.txt > sorted_names.txt

这会从 names.txt 中读取内容,对内容进行排序,然后将结果写入 sorted_names.txt。处理需要从标准输入获取数据,而不是通过文件名参数获取数据的命令时,输入重定向会特别有用。

challenge icon

挑战

简单

使用 < 运算符进行输入重定向,以按数字顺序对 numbers.txt 的内容排序。

运行一条命令,完成以下操作:

  • 使用 < 将 numbers.txt 重定向到 sort 命令
  • 使用 -n 标志按数字顺序排序

提示:格式为 sort -n < filename。Shell 会打开文件,并将其连接到命令的标准输入。

亲手试试

终端
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Terminal 在线编辑器