流、管道和重定向

本文介绍了Linux Shell中的流概念,包括标准输入(stdin)、标准输出(stdout)和标准错误(stderr)。详细讲解了如何重定向输出(> 和 >>)以及输入(<),并探讨了管道(|)操作如何将一个命令的stdout作为另一个命令的stdin。同时,文章指出了重定向和管道的区别。
摘要由CSDN通过智能技术生成

Linux shell(比如 Bash)接收或发送序列和字符串流形式的输入或输出。每个字符都独立于与之相邻的字符。字符没有被组织成结构化记录或固定大小的块。不管实际的字符串流进入或来自文件、键盘、显示窗口或其他 I/O 设备,都使用文件 I/O 技术来访问流。

Linux shell 使用 3 种标准的 I/O 流,每种流都与一个文件描述符相关联
1. stdout 是标准输出流,它显示来自命令的输出。它的文件描述符为 1。
2. stderr 是标准错误流,它显示来自命令的错误输出。它的文件描述符为 2。
3. stdin 是标准输入流,它为命令提供输入。它的文件描述符为 0。

输入流通常通过终端击键为程序提供输入。输出流通常向终端输出文本字符。最初的终端是 ASCII 打字机或显示终端,但现在更多是指图形桌面上的文本窗口

重定向

重定向输出

可以通过两种方法将输出重定向到文件。
n>
将输出从文件描述符 n 重定向到文件。您必须具有该文件的写权限。如果该文件不存在,将创建它。如果该文件已经存在,通常将覆盖所有现有内容,并且没有任何警告
n>>
还可以将输出从文件描述符 n 重定向到一个文件中。这里也一样要求您具有该文件的写权限。如果该文件不存在,将创建它。如果该文件已经存在,输出将附加到现有的内容后面

在 n> 或 n>> 中的 n 引用文件描述符。如果省略它,将执行标准输出

&> 或 &>> 同时将标准输出和标准

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值