Linux 重定向
2013-10-18 14:10
288 查看
Linux 标准文件描述符
命令行重定向
解释
脚本重定向 shell 中使用如下命令
解释
第一个echo,会将 this is an error 这句话输出到标准错误中
第二个,则是使用的系统默认,输出到标准输出中,也就是我们能在执行脚本的时候看到的内容。
如果将这个脚本保存为 test.sh,执行下面的命令
再使用
就可以看到 this is an error 这句话了。
如果在 test.sh 脚本中第一句增加如下脚本:
直接执行 ./test.sh 命令,在errlog中也会看到内容。
如果在脚本中使用
这种形式,那么所有的错误都会输出到 errlog 中,可以使用
命令取消这种重定向。
描述符 | 缩写 | 描述 |
0 | STDIN | 标准输入 |
1 | STDOUT | 标准输出 |
2 | STDERR | 标准错误 |
3-9 | 应该是扩展的标准输出(待验证) |
ls -al existfile notexitfile 1> outfile 2> errlog
解释
ls -al | 这个命令不需要解释了 |
exitfile | 配合前面的ls,列出 exitfile 文件的信息 |
notexitfile | 配合前面的ls,列出 notexitfile 文件的信息 |
1> outfile | 将标准输出放到 outfile 文件中,可以使用cat outfile 查看内容 |
2> errlog | 将错误信息放到 errlog 文件中,可以使用 cat errlog 查看内容 |
echo "this is an error" >&2 echo "this is normal output"
解释
第一个echo,会将 this is an error 这句话输出到标准错误中
第二个,则是使用的系统默认,输出到标准输出中,也就是我们能在执行脚本的时候看到的内容。
如果将这个脚本保存为 test.sh,执行下面的命令
./test.sh 2> errlog
再使用
cat errlog
就可以看到 this is an error 这句话了。
如果在 test.sh 脚本中第一句增加如下脚本:
exec 2>errlog
直接执行 ./test.sh 命令,在errlog中也会看到内容。
如果在脚本中使用
exec 2>errlog
这种形式,那么所有的错误都会输出到 errlog 中,可以使用
exec 2>&-
命令取消这种重定向。
相关文章推荐
- linux 提权信息收集与命令
- linux上进程状态查询
- linux tasklet/软中断
- linux 下的*.o ,*.a ,*.so文件的区别
- Linux GNU GAS introduction
- centOS下配置php开发环境的一些常用路径
- Linux中的crontab命令安排自动运行的进程任务
- linux 内核修炼之道——系统调用
- Linux磁盘修复e2fsck,fsck命令
- Makefile之Linux内核模块的Makefile写法分析
- linux 文件系统命令
- Linux C语言连接MySQL 增删改查操作
- (转载)Linux 汇编语言(GNU GAS汇编)开发指南
- apche深入学习笔记(一)
- linux定时删除多余日志,以释放硬盘空间
- linux下读取cpu核温度。
- linux文件系统—inode及相关概念
- 自娱自乐10之Linux DMA使用2(DMA使用实例,用timer作DMA请求源实现流水灯)
- linux如何发送电子邮件
- Linux下配置Android NDK