美文网首页
xy总结linux的标准输入标准输出

xy总结linux的标准输入标准输出

作者: __XY__ | 来源:发表于2017-06-19 18:31 被阅读0次

在shell执行命令时,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆,shell同时也给出了相应的文件名:

文件&文件描述符

  • 输入文件—标准输入
    0(缺省是键盘,为0时是文件或者其他命令的输出)

  • 输出文件—标准输出
    1(缺省是屏幕,为1时是文件)

  • 错误输出文件—标准错误
    2(缺省是屏幕,为2时是文件)

  • 系统中实际上有12个文件描述符,我们可以任意使用文件描述符3到9.

文件重定向:改变程序运行的输入来源和输出地点

  • 输出重定向:

Command > filename
把标准输出重定向到一个新文件中

Command >> filename
把标准输出重定向到一个文件中(追加)

Command > filename
把标准输出重定向到一个文件中

Command > filename 2>&1
把标准输出和错误一起重定向到一个文件中
可以把2>&1理解为一个参数(2&1),为了转义,&前加>

Command 2 > filename
把标准错误重定向到一个文件中

Command 2 >> filename
把标准输出重定向到一个文件中(追加)

Command >> filename2>&1
把标准输出和错误一起重定向到一个文件(追加)

  • 输入重定向:

Command < filename > filename2
Command命令以filename文件作为标准输入,以filename2文件作为标准输出

Command < filename
Command命令以filename文件作为标准输入

Command << delimiter
从标准输入中读入,直到遇到delimiter分界符

绑定重定向

Command >&m
把标准输出重定向到文件描述符m中

Command < &-
关闭标准输入

Command 0>&-
同上

shell重定向的一些常用用法

  • 重定向标准错误
    例子1:command 2> /dev/null如果command执行出错,将错误的信息重定向到空设备
    例子2:command > out.put 2>&1将command执行的标准输出和标准错误重定向到out.put(也就是说不管command执行正确还是错误,输出都打印到out.put)。
  • 一般因为单元测试耗时时间长,我会选择把测试过程后台运行,并把结果放在一个特定的文件中
    例如: nosetests tests/test_sys.py -v > ../nosetest.txt 2>&1
    只需要回头看那个文件结果即可

参考:
http://zqwt.012.blog.163.com/blog/static/1204468420103272857116/
http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html
http://blog.csdn.net/flowingflying/article/details/5201199

相关文章

  • xy总结linux的标准输入标准输出

    在shell执行命令时,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆...

  • linux重定向输入输出总结

    标准输入输出 在 Linux 系统中:标准输入(stdin)默认为键盘输入;标准输出(stdout)默认为屏幕输出...

  • Shell | 标准输入输出重定向

    一、Linux 标准输入输出 二、标准输入输出重定向 1. 标准输入输出重定向是什么? 2. 标准输入输出重定向的...

  • Linux学习 -> 数据重定向

    linux有三种标准输出设备, 分别是 标准输出, 标准错误输出, 标准输入 标准输出, 标准错误输出对应的物理设...

  • Linux定向输入和定向输出

    Linux下的标准输入和标准输出: 常用文件重定向命令:

  • linux重定向及nohup不输出的方法

    先说一下linux重定向:0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入...

  • 2017-4-10 数据流、信息展示

    标准输出 --屏幕标准输入 --键盘、鼠标 echo 是从参数获得输入(不是标准输入),输出是屏幕,是标准输出...

  • 标准输入输出(I/O)和管道

    一、标准的输入输出: (1)linux给程序提供三种I/O设备:1、标准输入 STDIN:-0 默认...

  • 标准I/O与管道

    1. Linux一共三种I/O设备: 标准输入---0(默认接收键盘)标准输出---1(默认输出到终端)标准错误-...

  • linux基础指令以及权限管理

    基础指令 标准输入输出 标准输入,stdin,即键盘、鼠标输入 标准输出,stdout,即输出到终端 标准错误流,...

网友评论

      本文标题:xy总结linux的标准输入标准输出

      本文链接:https://www.haomeiwen.com/subject/tkknqxtx.html