Linux Shell I/O重定向

linux 文件描述符

linux系统启动后会默认生成3个文件描述符, 标准输入0, 正确输出1和错误输出2,另外3-9是保留的标识符,可以将这些指定成标准输入,输出或者错误.
➜  ~  ls /dev/std* -alt
lrwxrwxrwx 1 root root 15  5月  5 09:14 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root 15  5月  5 09:14 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15  5月  5 09:14 /dev/stdout -> /proc/self/fd/1

文件描述符可以理解成linux跟踪打开的文件,而数字类似于C 语言的句柄.

重定向

bash使用<和>实现输入输出的重定向. 其中: <相当于0<, > 相当于1>.
shell 在遇到">"操作符首先判断右边的文件是否存在,如果存在先删除再创建新文件. ">>"判断右边文件,若不存在则先创建, 以追加的方式打开文件并分配一个文件描述符(默认为1和2),然后与左边的标准输出和错误输出绑定.

使用文件描述符的重定向

  • cmd >&n    输出重定向到文件描述符n
  • cmd m>&n 输出到m文件的信息重定向到文件描述符n
  • cmd >&-      关闭标准输出
  • cmd <&-      关闭标准输入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值