Redian新闻
>
Linux I/O重定向详细介绍

Linux I/O重定向详细介绍

公众号新闻

推荐关注↓

作者:执着的花猫Jp

Linux I/O重定向

Linux I/O重定向可以定义为,更改从命令读取输入到命令发送输出的方式。你可以重定向命令的输入和输出。对于重定向符号,可以是<、> 或者 | 。

I/O重定向中的标准流

Bash shell在I/O重定向中有三个标准流:

标准输入(stdin):stdin流编号为stdin0)。bash shell从stdin获取输入。默认情况下,键盘用作输入。
标准输出(stdout):stdout流编号为stdout1)。bash shell将输出发送到stdout。输出将显示。
标准错误(stderr):stderr流编号为stderr2)。bash shell向stderr发送错误消息。显示错误消息。

重定向到文件

每个流都使用重定向命令。单括号'>'或双括号'>>'可用于重定向标准输出。如果目标文件不存在,将创建一个具有相同名称的新文件。

覆盖:带有单括号“>”的命令将覆盖现有的文件内容。

>:标准输出
<:标准输入
2>:标准错误

注意:写“1>”或“>”和“0<”或“<”是一回事。但对于stderr,必须编写“2>”。

用法:
cat > <fileName>

追加: 带有双括号“>>”的附加命令不会覆盖现有的文件内容。

>>-标准输出
<<-标准输入
2>>-标准错误
用法:
cat >> <fileName>

重定向到程序

重定向到程序管道将流从一个程序重定向到另一个程序。当管道用于将一个程序的标准输出发送到另一个程序时,第一个程序的数据将不会显示在终端上,只显示第二个程序的信息。尽管管道的功能看起来可能与“>”和“>>”相似,但有显著差异。管道将数据从一个程序重定向到另一个程序,而括号仅用于文件的重定向。

用法:
ls *.txt | cat > txtFile


Linux input 重定向

<stdin

bash shell使用stdin获取输入。在输入重定向中,将文件输入命令,并在“<”符号的帮助下执行此重定向。

Syntax:
cat < <fileName>
[root@localhost ~]# cat   < f.txt 
aa
[root@localhost ~]#

<<文档

EOF(文件结束)可以键入,也可以通过按(ctrl+d)键调用。任何单词都可以代替“EOF”,就像我们使用的“last”一样。

Syntax:
cat <<EOF> <fileName>

<<字符串

字符串用于将字符串直接传递给命令。

Example:
base64 <<< format.txt


Linux输出重定向

输出重定向用于将一个命令的输出放入文件或另一个命令。

> stdout

stdout使用大于号'>'重定向。当shell遇到'>'号时,它将清除文件:

Example:
echo Hello everyone. > afile.txt

输出文件被擦除

在输出重定向中,在扫描命令行的过程中,shell将遇到“>”符号,并将清除文件。

Example:
zcho Welcome > afile.txt

nolobber

我们可以在nolobber选项的帮助下,在使用'>'符号时防止文件删除。

Syntax:
set -o noclobber (防止覆盖)
set +o noclobber (覆盖)
Example:
echo Learn Linux. > newfile.txt

否定noclobber

重写nolobber意味着您可以在使用'>|'符号设置nolobber时覆盖现有文件。

Syntax:
command >| <fileName>

Example:
echo Welcome to JavaTpoint. >| newfile.txt

>>append

append'>>不允许覆盖文件内容,因此显示新的和旧的文件内容。

Syntax:
command >> <fileName>
Example:
echo You all are welcome here. >> newfile.txt


Linux错误重定向

2> stderr

命令'2>'重定向输出的错误,它可以通过重定向错误消息来帮助我们减少显示的混乱。

Example:
zcho hyii 2> /dev/null

2> &1

此命令有助于重定向同一文件中的stdout和stderr。

Example:
newfile.txt > abc.txt and error.txt 2>&1

注意:重定向的顺序非常重要:

ls > dirlist 2>&1  

然后,stdout和stderr都将被定向到文件目录列表:

ls 2>&1 > dirlist

然后,只有stdout会重定向到目录列表。这是因为,在将stdout重定向到目录列表之前,stderr已经复制了stdout。


- EOF -


加主页君微信,不仅Linux技能+1

主页君日常还会在个人微信分享Linux相关工具资源精选技术文章,不定期分享一些有意思的活动岗位内推以及如何用技术做业余项目

加个微信,打开一扇窗


推荐阅读  点击标题可跳转

1、系统性能分析之|iowait是什么?

2、六款常用 SSH 远程连接工具

3、详细讲解MMU——为什么嵌入式 linux 没他不行?


看完本文有收获?请分享给更多人

推荐关注「Linux 爱好者」,提升Linux技能

点赞和在看就是最大的支持❤️

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
blendOS 的目标:取代所有的 Linux 发行版 | Linux 中国Garuda Linux “Raptor” 230305 版本发布 | Linux 中国大家最喜欢的 Linux 终端字体 | Linux 中国世界上只有两个 Linux 发行版:Arch Linux 与其它 | Linux 中国里斯本客轮码头(Terreiro do Pa?o Ferry terminal),出乎意料美国25个“鬼城”详细介绍!为什么人们要逃离这里?扔下空房子不住?如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM | Linux 中国Kali Linux 推出用于防御性安全加固的 “Kali Purple” | Linux 中国为什么程序员喜欢为 Linux 打包 | Linux 中国Flathub 计划发展为通用的 Linux 应用商店 | Linux 中国Linux 只是一个内核:这是什么意思? | Linux 中国在 Linux 命令行上使用 dict 文字工具 | Linux 中国第九届上交会筹备进展如何?今天的新闻发布会详细介绍向IBM索赔50亿美元、起诉Linux用户——回顾长达20年曾威胁Linux存亡的诉讼如何在 Linux 中使用旧相机作为网络摄像头 | Linux 中国Agustín Hernández:中美洲建筑背景下的未来主义巨构高含金量机器人竞赛详细介绍!(上)TUXEDO Stellaris 16(Gen5)是目前所能找到的终极 Linux 笔记本电脑 | Linux 中国5 个有用的 Linux Shell 转义序列 | Linux 中国如何在 Ubuntu 和其他 Linux 下安装 IDLE Python IDE | Linux 中国终端基础:在 Linux 终端中创建目录 | Linux 中国值得收藏!一文详细介绍美国留学签证!院校定向班 | 30+院校432定向班开启报名啦!2月末8折优惠~基本粒子的半径真为零吗?变色的情人节新版 Linux QQ,打破操作系统生态壁垒 | Linux 中国关于 Linux 内存管理的详细介绍,这篇万字长文值得你的收藏点赞!万字长文,GPU Render Engine详细介绍重访西班牙(14)-基督世界的圣城5 个最好的 Arch Linux 衍生发行版,适合所有人 | Linux 中国院校定向班 | 30+院校432定向班开启报名啦!近期或者六月入住的2B2B现房【Greenhouse 免中介费】接受本科生|近NEU最热公寓详细介绍Linux 上 5 款最好的 EPUB 阅读器 | Linux 中国终端基础:在 Linux 中创建文件 | Linux 中国【庭院种菜】最好吃的番茄,最高产的番茄
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。