Linux命令如何输入输出重定向、追加
简介
本文介绍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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Linux下设置防火墙白名单(RHEL 6和CentOS 7)的步骤
下面小编就为大家带来一篇Linux下设置防火墙白名单(RHEL 6和CentOS 7)的步骤。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-11-11Easypanel免费的VPS主机面板 可跨平台Linux和Windows
Easypanel是一款免费的功能强大集开通虚拟主机,ftp空间,数据库等功能为一体的主机控制面板,具备跨平台(windows,linux),安全稳定、操作简便等特点,感兴趣的小伙伴们可以关注一下2017-07-07覆盖原先的PATH导致命令失效提示command not found的解决方法
今天小编就为大家分享一篇关于覆盖原先的PATH导致命令失效提示command not found的解决方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-03-03使用Apache ab工具对Apache服务器进行简单的压力测试
这篇文章主要介绍了使用Apache ab工具对Apache服务器进行简单的压力测试的方法,文中还对如何查看当前Apache的连接数的方法作了介绍,需要的朋友可以参考下2016-03-03
最新评论