ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Shell中的<,<<,>,>>介绍

2021-12-19 21:31:48  阅读:142  来源: 互联网

标签:输出 Shell self 介绍 fd ls txt proc


一、文件描述符

Linux启动后,会默认打开3个文件描述符,分别是:标准输入standard input 0;正确输出standard output 1;错误输出:error output 2

Linux Shell下常用输入输出操作符是:

  1. 标准输入 (stdin) :代码为 0 ,使用 < 或 << ; /dev/stdin -> /proc/self/fd/0 0代表:/dev/stdin
  2. 标准输出 (stdout):代码为 1 ,使用 > 或 >> ; /dev/stdout -> /proc/self/fd/1 1代表:/dev/stdout
  3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ; /dev/stderr -> /proc/self/fd/2 2代表:/dev/stderr

二、> ,>>

输出重定向:表示把将输出重定向到屏幕或者设备或者文件;其中, >> 表示追加新信息到文件

关闭正确输出和错误输出:ls test.txt test.txt1 1>&- 2>&-
&代表所有输出:ls t.txt t.txt1 &>te.txt
&[-,1,2] 分别表示 关闭对应的标识,正确输出,错误输出

三、<,<<

输入重定向

从文件test.txt获取输入给cat,然后cat输入重定向给text1.txt:cat > text1.txt < test.txt

<< 表示接受一个输入结束的标识,当输入这个标识时结束输入:

cat > t.txt << eof
> q
> a
> z
> eof
# 当控制台输入eof后,结束输入

四、exec绑定重定向

绑定一个新的文件描述符6,并且绑定标准输出(相当于给标准输出保存一个临时copy)

ls /proc/self/fd
0  1  2  3
exec 6>&1
ls /proc/self/fd
0  1  2  3  6
#把标准输出绑定回来:
exec 1>&6
ls /proc/self/fd
0  1  2  3  6
#关闭自定义的文件描述符
exec 6>&-
ls /proc/self/fd
0  1  2  3

⚠️注意:如果直接把标准输出绑定到文件,那么问题就是,再也变不回来了

标签:输出,Shell,self,介绍,fd,ls,txt,proc
来源: https://blog.csdn.net/sinat_34241861/article/details/122030200

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有