首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux输入重定向

概述

在Linux系统中,输入重定向是一种将命令的标准输入从文件或其他命令的输出中获取的技术。输入重定向通常使用以下符号:

1. < 符号

< 符号用于将文件的内容作为命令的标准输入。

示例:

cat < file.txt

这个命令会将 file.txt 文件的内容作为 cat 命令的输入。

2. << 符号(Here Document)

<< 符号用于将多行文本作为命令的标准输入。通常用于脚本中。

示例:

cat << EOF

This is line 1

This is line 2

EOF

这个命令会将 EOF 之间的文本作为 cat 命令的输入。

3. <<< 符号(Here String)

<<< 符号用于将单行字符串作为命令的标准输入。

示例:

bc <<< "2 + 2"

这个命令会将 2 + 2 作为 bc 命令的输入,并计算结果。

4. | 符号(管道)

虽然 | 符号通常用于输出重定向,但它也可以用于输入重定向。它将前一个命令的输出作为后一个命令的输入。

示例:

cat file.txt | grep "keyword"

这个命令会将 file.txt 的内容通过管道传递给 grep 命令,并搜索包含 keyword 的行。

5. /dev/null

/dev/null 是一个特殊的文件,用于丢弃输入或输出。

示例:

cat < /dev/null

这个命令会从 /dev/null 读取输入,但由于 /dev/null 是空文件,所以不会有任何输出。

6. 组合使用

输入重定向可以与其他重定向符号组合使用,以实现更复杂的操作。

示例:

command1 < input.txt | command2 > output.txt

这个命令会将 input.txt 的内容作为 command1 的输入,然后将 command1 的输出通过管道传递给 command2,最后将 command2 的输出重定向到 output.txt 文件中。

总结

输入重定向是Linux中非常有用的工具,它允许你灵活地控制命令的输入源。通过结合不同的重定向符号,你可以实现各种复杂的操作。

实践

command < input.txt 命令

我们现在有以下文件:

如图,其中有一个 20241015.txt,我们使用输出重定向,将其中的内容输出给 cat 命令,即执行:“cat < 20241015.txt”。

如图,执行完 cat < 20241015.txt 命令后,输出重定向将文本文件中的内容输出给了 cat,其效果同 cat 20241015.txt 。

command << string 命令

<< 符号用于将多行文本作为命令的标准输入。当遇到 string 时,中断输入。

在此,我们将 123 作为中断输入的字符串,然后输入多组文本,使用 cat 命令作为 command 输出文本:

如图,可见,当遇到 123 就中断了输入,cat 命令输出了其中输入的多行文本。

command <<< string 命令

<<< 符号用于将单行字符串作为命令的标准输入。

在此,我们使用 cat 命令输出一行字符串,即 cat <<< "123456789":

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O3DzjNI9lC9ZP_pq02Kw8l0Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券