Linux常用命令——输入输出重定向 详解

Linux常用命令——输入输出重定向 详解


命令介绍: 在Linux系统中,输入输出重定向是一个强大的功能,用于将命令的输入和输出重定向到文件或其他命令。通过重定向,可以将标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)重定向到不同的地方。


标准输入和输出:
1、标准输入(stdin): 文件描述符为 0,通常从键盘输入。
2、标准输出(stdout): 文件描述符为 1,通常输出到终端。
3、标准错误输出(stderr): 文件描述符为 2,通常输出到终端,用于输出错误信息。


输入输出重定向规则和标准
1、重定向标准输出

  • 使用 > 重定向标准输出到文件,会覆盖原来文件内容。
  • 例: 把 “Hello, World!” 输出到 output.txt 文件,如果文件存在将覆盖内容。
echo "Hello, World!" > output.txt
  • 使用 >> 重定向标准输出到文件,会追加到原来文件末尾。
  • 例: 把 “Append this line” 追加到 output.txt 文件的末尾。
echo "Append this line" >> output.txt

 
2、重定向标准错误输出

  • 使用 2> 重定向标准错误输出到文件,会覆盖原来文件内容。
  • 例: 这将把错误信息输出到 error.log 文件。
ls non_existing_file 2> error.log
  • 使用 2>> 重定向标准错误输出到文件,会追加到原来文件末尾。
  • 例: 把错误信息追加到 error.log 文件的末尾。
ls another_non_existing_file 2>> error.log

 
3、重定向标准输入

  • 使用 < 将文件内容作为命令的标准输入。
  • 例: 将把 input.txt 文件的内容作为 wc -l 命令的输入,并计算文件的行数。
wc -l < input.txt

 
4、同时重定向标准输出和标准错误输出

  • 使用 &> 或者 command > 文件 2>&1 同时重定向标准输出和标准错误输出到同一个文件,会覆盖原来文件内容。。
  • 例: 把标准输出和标准错误输出都重定向到 output_and_error.log 文件。
command &> output_and_error.log
command > output_and_error.log 2>&1
  • 使用 &>> 或者 command >> 文件 2>&1 同时重定向标准输出和标准错误输出到同一个文件,会追加到原来文件末尾。
  • 例: 把标准输出和标准错误输出都追加到 output_and_error.log 文件。
command &>> output_and_error.log
command >> output_and_error.log 2>&1

 
5、将标准输出和标准错误输出分开重定向

  • 使用 >2> 分开重定向标准输出和标准错误输出到不同的文件。
  • 例: 把标准输出重定向到 output.log 文件,标准错误输出重定向到 error.log 文件。
覆盖:
command > output.log 2> error.log

追加:
command >> output.log 2>> error.log

6、将标准输出和标准错误输出既输出到屏幕也输出到指定文件

  • 需要结合管道符搭配 tee 命令。
  • 例: 把标准输出和标准错误输出都追加到 output_and_error.log 文件,同时也在屏幕上输出。
command 2>&1 | tee -a output_and_error.log

 
 
更多命令请参考 Linux命令大全 专栏。
 
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Darrich

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值