标准输入
本课属于 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。处理需要从标准输入获取数据,而不是通过文件名参数获取数据的命令时,输入重定向会特别有用。
挑战
简单使用 < 运算符进行输入重定向,以按数字顺序对 numbers.txt 的内容排序。
运行一条命令,完成以下操作:
- 使用
<将numbers.txt重定向到sort命令 - 使用
-n标志按数字顺序排序
提示:格式为
sort -n < filename。Shell 会打开文件,并将其连接到命令的标准输入。
亲手试试
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Terminal 在线编辑器