马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在 Linux 或类 Unix 体系的命令行中,>>、<<、> 和 < 是用于重定向输入输出的操作符。它们允许你控制命令的输入和输出,改变数据流的方向。这些符号是常见的 I/O 重定向符号,在 shell 脚本和命令行操作中非常有用。
用于将命令的标准输出(stdout)重定向到一个文件。假如目标文件已存在,> 会覆盖文件内容。假如文件不存在,则会创建该文件。
示例:
- echo "Hello, World!" > output.txt
复制代码 表明:将 “Hello, World!” 写入 output.txt 文件。假如 output.txt 已存在,它将被覆盖。
2. >>(输出重定向,追加到文件)
用于将命令的标准输出追加到一个文件。假如文件不存在,则会创建该文件。假如文件已存在,数据会被追加到文件末尾,而不是覆盖原有内容。
示例:
- echo "New line of text" >> output.txt
复制代码 表明:将 “New line of text” 追加到 output.txt 文件的末尾。假如 output.txt 不存在,则会创建它。
3. <(输入重定向)
< 用于将文件的内容作为命令的标准输入(stdin)。与 > 差别,< 是用来从文件中读取数据,而不是将数据输出到文件。
示例:
表明:从 input.txt 文件中读取数据并将其传递给 sort 命令进行排序。
4. <<(Here Document)
<< 用于从命令行中输入多行文本,称为 Here Document。在 << 后面,通常跟一个定界符(标识符),直到遇到该定界符为止,所有的输入行都会作为输入传递给命令。
- 示例:
- cat << EOF
- This is line 1
- This is line 2
- EOF
- 解释:cat 命令将从 << EOF 后的文本作为输入,直到遇到 EOF 为止。输出将是:
- arduino
- This is line 1
- This is line 2
- 进阶示例:使用 << 在脚本中动态提供输入
- #!/bin/bash
- cat << END
- Welcome to the script!
- This is an example of using here document.
- END
- 解释:这个脚本将输出:
- vbnet
- Welcome to the script!
- This is an example of using here document.
- 综合示例:
- 使用 > 和 < 进行文件重定向:
- # 将命令输出写入文件
- echo "This is a test" > file.txt
- # 从文件中读取并输出
- cat < file.txt
- 使用 >> 进行日志记录:
- # 记录输出到日志文件中
- echo "New log entry" >> /var/log/mylog.log
- 使用 << 进行多行输入:
- # 使用 Here Document 提供多行输入
- grep "pattern" << EOF
- line 1
- line 2
- pattern found in this line
- EOF
- 输出将是:
- arduino
- pattern found in this line
复制代码 总结:
: 输出重定向,覆盖文件内容。
: 输出重定向,追加内容到文件。
<: 输入重定向,从文件读取输入。
<<: Here Document,用于输入多行内容。
这些重定向符号非常有用,能帮助你更机动地操作文件和命令行输入输出,尤其是在脚本编写和日志管理中。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |