文件描述符和重定向

【系统预留描述符】

0:stdin  标准输入

1:stdout  标准输出

2:stderr  标准错误


标准错误输出的重定向方法:

方法一:cat linux.txt 2>  out.txt

方法二:cat linux.txt &>  out.txt


【tee命令】

tee命令可以将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin

在终端打印stdout同时重定向到文件中:

ls | tee out.txt

ls | tee out.txt | cat  -n


【重定向脚本内的文件片段(多行文本)】

#!/bin/bash

cat <<EOF>text.log

this is a text line1

this is a text line2

this is a text line3

EOF

【自定义文件描述符】

可以使用exec命令创建自定义文件描述符,文件的打开模式有只读模式,截断模式和追加模式。

<  操作符用于从文件中读取至stdin:

echo this is a test line > input.txt

exec 3<input.txt  //自定义文件描述符3打开并读取文件

在命令中使用文件描述符3:

cat <&3

this is a test line.

注意:这里只能读取一次,要再次读取需要重新创建文件描述符。

> 操作符用于截断模式的文件写入(数据在文件内容被截断之后写入)

exec 4 >output.txt

echo this is a new line >&4

cat output.txt

this is a new line.

>>  操作符用于追加模式的文件写入(添加内容到文件中,原有内容不会丢失)

exec 5>output.txt

echo  this is a new line >&5

cat output.txt

this is a new line

this is a appended line

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.文件描述符是与文件输入、输出相关联的整数。它们用来跟踪已打开的文件。最常见的文件描述符是stdin、stdou...
    ChiangCMBA阅读 2,773评论 0 0
  • 为何叫做 shell ? shell prompt(PS1) 与 Carriage Return(CR) 的关系?...
    Zero___阅读 8,413评论 3 49
  • 本文笔记源自这里——[实验楼]欢迎大家在下面交流其中有问题的地方喜欢请点收藏,每日更新(全部已亲自实践). 一. ...
    东皇Amrzs阅读 9,597评论 7 54
  • 亲爱的表弟,刚上大学的生活过得怎么样?是不是平时有很多属于自己的空闲时间,再也没有高中那么忙碌了,上课也没有固定的...
    夏夜说投资阅读 4,383评论 4 5
  • 心理群里玩卡不卡的热浪于8月7日再次袭来,群里热闹非凡,各抒己见。沉默寡言的我被图片上“闹钟+蜗牛”的组合所吸引,...
    卓娅xyz阅读 3,803评论 8 15

友情链接更多精彩内容