Linux命令的执行过程

首先是输入:stdin输入可以从键盘,也可以从文件得到

命令执行完成:把成功结果输出到屏幕,stout默认是屏幕

命令执行有错误:把错误也输出到屏幕上面,stderr默认也是屏幕

文件描述符

标准输入stdin:对应的文件描述符是0,符号是<和<<,/dev/stdin -> /proc/self/fd/0

标准输出stdout:对应的文件描述符是1,符号是>和>>,/dev/stdout -> /proc/self/fd/1

标准错误stderr:对应的文件描述符是2,符号是2>和2>>,/dev/stderr -> /proc/self/fd/2

输出重定向实例

#默认情况下,stdout和stderr默认输出到屏幕
[root@st ~]# ls ks.cfg wrongfile
ls: cannot access wrongfile: No such file or directory
ks.cfg
#标准输出重定向到stdout.txt文件中,错误输出默认到屏幕。1>与>等价
[root@st ~]# ls ks.cfg wrongfile >stdout.txt
ls: cannot access wrongfile: No such file or directory
[root@st ~]# cat stdout.txt
ks.cfg
#标准输出重定向到stdout.txt,错误输出到err.txt。也可以使用追加>>模式。
[root@st ~]# ls ks.cfg wrongfile >stdout.txt >err.txt
[root@st ~]# cat stdout.txt err.txt
ks.cfg
ls: cannot access wrongfile: No such file or directory
#将错误输出关闭,输出到null。同样也可以将stdout重定向到null或关闭
# &1代表标准输出,&2代表标准错误,&-代表关闭与它绑定的描述符
[root@st ~]# ls ks.cfg wrongfile >&-
ks.cfg
[root@st ~]# ls ks.cfg wrongfile >/dev/null
ks.cfg
#将错误输出传递给stdout,然后stdout重定向给xx.txt,也可以重定向给null。顺序为stderr的内容先到xx.txt,stdout后到。
[root@st ~]# ls ks.cfg wrongfile >xx.txt >&
#将stdout和stderr重定向到null
[root@st ~]# ls ks.cfg wrongfile &>/dev/null

输入重定向

#从stdin(键盘)获取数据,然后输出到catfile文件,按Ctrl+d结束
[root@st ~]# cat >catfile
this
is
catfile
[root@st ~]# cat catfile
this
is
catfile
#输入特定字符eof,自动结束stdin
[root@st ~]# cat >catfile <<eof
> this
> is
> catfile
> eof
[root@st ~]# cat catfile
this
is
catfile

参考:http://www.cnblogs.com/chengmo/archive/2010/10/20/1855805.html

最新文章

  1. React Native系列文章
  2. ORM系列之二:EF(2)Code First
  3. HDFS的Trash回收站功能
  4. 如何用ZBrush快速雕刻LOL中的Lissandra
  5. Stanford大学机器学习公开课(六):朴素贝叶斯多项式模型、神经网络、SVM初步
  6. NetworkComms框架介绍 序列化并发送对象
  7. oralce索引和分区索引的使用
  8. POJ 3922 A simple stone game
  9. C#实训 打字游戏
  10. 30天自制操作系统第八天学习笔记(u盘软盘双启动版本)
  11. Javascript闭包与作用域this
  12. Abp.NHibernate连接PostgreSQl数据库
  13. java原子操作的实现原理--转载
  14. python学习日记(OOP访问限制)
  15. 越光后端开发——ygapi(2.新建Model)
  16. EXSI6怎么设置虚拟机从光驱启动
  17. io 的一些简单说明及使用
  18. 价格战拉上了Android平板电脑
  19. juqery和dom对象互换
  20. Found 1 slaves: Use of uninitialized value in printf at /usr/local/percona-toolkit/bin/pt-online-schema-change line 8489

热门文章

  1. java集合系列——Set之HashSet和TreeSet介绍(十)
  2. jdk版本查看,以及java -version 和JAVA_HOME不一致问题
  3. Vi快捷操作 vim配置【shell文件格式从windows转换为linux】
  4. hdu4578 线段树 三次方,二次方,一次方的值
  5. SpringMVC的一点理解
  6. 像 npm 一样在 Andriod 项目中引入 Gradle 依赖
  7. mysql中将时间转为秒
  8. Ubuntu12.04 Firefox安装flash
  9. ZOJ2185 简单分块 找规律
  10. sublime addons backup