星空网 > 软件开发 > 操作系统

Linux 文件描述符和重定向

介绍

文件描述符是与文件输入、输出相关联的整数,在编写脚本时会经常使用标准的文件描述符来将内容重定向输出,0、1、2是文件描述符(分别对应stdin、stdout、stderr),< 、>, >>叫做操作符。

 

概念

stdin(0):标准输入,这个概念有点不太容易理解比如:1.使用<从文件中读取内容,2.当前命令将内容通过管道传输给下一个命令而下一个命令,而实际内容是传输给了stdin所以下一个命令也是从stdin中读取内容。

stdout(1):标准输出;这是默认选项。使用方法:1>等价于>  或者 1>>等价于>>,;如果想使用其它文件描述符,必须将文件描述符放在操作符之前。

stderr(2):标准错误,使用方法2>或者2>>,标准错误可以将错误信息插入到文件而不在终端显示  。

<:从文件中读取内容。

>:将内容插入到文件,每次插入前都会清空文件内容。

>>:将内容插入到文件, 将内容追加到现有文件的末尾。

 

实例

 生成测试数据

echo "hello word" > test1cp test1 test2chmod 000 test2

stdin(0)

1.从文本中读取内容

cat <test1

Linux 文件描述符和重定向images/loading.gif' data-original="http://images2015.cnblogs.com/blog/135426/201604/135426-20160412115229988-739769381.png" width="45%" />

2.将读取到的内容通过管道传输给下一个命令

cat test1 |tr -t 'a-z' 'A-Z' >test1.new

Linux 文件描述符和重定向

stdin(1) 

将内容重定向到文件

echo "this is stdout 1" >std1

Linux 文件描述符和重定向

追加内容到文件

Linux 文件描述符和重定向 

stderr(2)

遇到报错的时候终端会显示错误,可以将将错误信息写入文件不让终端显示

Linux 文件描述符和重定向

Linux 文件描述符和重定向

同时将stderr和stdout信息都插入到文件,使用&

Linux 文件描述符和重定向

 

重定向脚本内部文本块,cat <<EOF>>log.txt EOF

 

自定义文件描述符

自定义文件描述符也需要用到exec;< ,>,>>意思和前面解释的一样,当调用自定义的描述符时需要在自定义的描述符前加上&。

1.自定义stdin,将3定义为stdin从文件中读取内容,然后就可以调用3了,调用3和直接调用文件结果是一样的,有点类似赋值。

exec 3<test1

Linux 文件描述符和重定向

2.自定义stdout,测试结果发现在自定义描述符中使用>往文件中重复写数据并不会清空之前的内容,但是在标准的描述符中是会清空再写入的。

Linux 文件描述符和重定向

Linux 文件描述符和重定向

总结

 文件描述符在脚本中使用的非常频繁,常用的使用方法就是标准输出和标准错误。

 

 

 

备注:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》






原标题:Linux 文件描述符和重定向

关键词:linux

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

印尼海外仓收费标准:https://www.goluckyvip.com/tag/47870.html
印尼海运专线:https://www.goluckyvip.com/tag/47871.html
印尼节日:https://www.goluckyvip.com/tag/47872.html
印尼节日大全:https://www.goluckyvip.com/tag/47873.html
印尼专线:https://www.goluckyvip.com/tag/47875.html
印态跨境:https://www.goluckyvip.com/tag/47876.html
去日本入住酒店,东西随意用却有一个特殊“要:https://www.vstour.cn/a/411241.html
中国有哪些著名的酒店品牌。:https://www.vstour.cn/a/411242.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流