当前位置: 代码网 > 服务器>服务器>Linux > Linux命令如何输入输出重定向、追加

Linux命令如何输入输出重定向、追加

2024年12月25日 Linux 我要评论
简介本文介绍linux中的输入输出重定向、追加。linux是通过文件描述符来控制输入和输出的,如下:字段描述文件描述符默认设备stdin标准输入流0终端(键盘)stdout标准输出流1终端(显示屏)s

简介

本文介绍linux中的输入输出重定向、追加。

linux是通过文件描述符来控制输入和输出的,如下:

字段描述文件描述符默认设备
stdin标准输入流0终端(键盘)
stdout标准输出流1终端(显示屏)
stderr标准错误输出流2终端(显示屏)

重定向符号

重定向符号

含义

使用方法

解释

<

输入重定向

command1 < file

command命令操作内容会从file文件中读取,替代了键盘输入

<<

输入重定向,多行录入

command1 << flag

将开始标记flag和结束标记flag之间的内容作为输入

>

输出重定向,覆盖式

command > file

将输出重定向到file

>>

输出重定向,追加式

command >> file

将输出以追加的方式重定向到file

2>

错误输出重定向,覆盖式

command 2> file

将错误输出重定向到file

2>

错误输出重定向,追加式

command 2> file

将错误输出以追加的方式重定向到file

&>

输出与错误输出重定向,覆盖式

command &> file

输出与错误输出重定向到file

&>>

输出与错误输出重定向,追加式

command &>> file

输出与错误输出以追加的方式重定向到file

&合并command > file 2>&1将标准输出写到file,标准错误也写到file。

输入重定向

<

目标

  • 把test文件中的内容定向到tr程序中,将小写字母转换为大写字母。

命令

tr 'a-z' 'a-z' < file1
  • 重定向符号将file1里的内容放到tr程序文件下的/fd/0里进行相应的处理。
  • tr命令用于转换或删除文件中的字符。

执行结果

<<

例1:展示在屏幕上

目标

  • 把多行录入内容定向到tr程序中,将小写字母转换为大写字母。

命令

tr 'a-z' 'a-z' <<eof
  • eof可以用任意字符替换。

执行结果

例2:转换后输出到文件

输出重定向

>

>会覆盖原文件内容。

示例

1.将正常输出写入文件

./test.sh >log.txt

等价于

./test.sh 1>log.txt

2. 将错误输出写入文件

./test.sh 2>log.txt

3.将所有输出(正常和错误输出)都写入文件

./test.sh &>log.txt

>>

>>会追加到原文件的最后。

1.将正常输出写入文件

./test.sh >>log.txt

等价于

./test.sh 1>>log.txt

2. 将错误输出写入文件

./test.sh 2>>log.txt

3.将所有输出(正常和错误输出)都写入文件

./test.sh &>>log.txt

cmd >/dev/null 2>&1

  • >/dev/null 2>&1 的含义是:不输出任何信息。
  • 其实也就等价于:&>/dev/null

详解

  • >/dev/null:表示标准输出重定向到空设备文件,也就是不输出任何信息。
  • 2>&1:标准错误输出重定向和标准输出合并,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。

cmd >> file 2>&1

  • 把尼奥准输出和标准错误一起重定向到 file文件中(追加)。
  • 其实也就等价于:&>>file

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com