Linux I/O重定向详细介绍
来源:良许Linux教程网
时间:2025-01-20 18:45:58 397浏览 收藏
对于一个文章开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《Linux I/O重定向详细介绍》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!
Linux的I/O重定向可被视为调整命令输入和输出传输方式的行为。它允许你重新定义命令的输入和输出流。在此过程中,你可以使用一系列重定向符号,包括以及|。
标准流中的I/O重定向
在Bash shell中,I/O重定向涉及三个标准流:
标准输入(stdin):stdin流编号为stdin(0)。bash shell从stdin获取输入。默认情况下,键盘用作输入。 标准输出(stdout):stdout流编号为stdout(1)。bash shell将输出发送到stdout。输出将显示。 标准错误(stderr):stderr流编号为stderr(2)。bash shell向stderr发送错误消息。显示错误消息。
重定向到文件
每个流都使用重定向命令。单括号’>’或双括号’>>’可用于重定向标准输出。如果目标文件不存在,将创建一个具有相同名称的新文件。
覆盖:带有单括号“>”的命令将覆盖现有的文件内容。
>:标准输出 :标准错误
注意:写“1>”或“>”和“0”。
用法: cat >
追加: 带有双括号“>>”的附加命令不会覆盖现有的文件内容。
>>-标准输出 >-标准错误 用法: cat >>
重定向到程序
重定向到程序管道将流从一个程序重定向到另一个程序。当管道用于将一个程序的标准输出发送到另一个程序时,第一个程序的数据将不会显示在终端上,只显示第二个程序的信息。尽管管道的功能看起来可能与“>”和“>>”相似,但有显著差异。管道将数据从一个程序重定向到另一个程序,而括号仅用于文件的重定向。
用法: ls *.txt | cat > txtFile
Linux input 重定向
bash shell使用stdin获取输入。在输入重定向中,将文件输入命令,并在“
Syntax: cat [root@localhost ~]# cat aa [root@localhost ~]#
EOF(文件结束)可以键入,也可以通过按(ctrl+d)键调用。任何单词都可以代替“EOF”,就像我们使用的“last”一样。
Syntax: cat
字符串用于将字符串直接传递给命令。
Example: base64
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 >| Example: echo Welcome to JavaTpoint. >| newfile.txt
>>append
append’>>‘ 不允许覆盖文件内容,因此显示新的和旧的文件内容。
Syntax: command >> 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。
今天关于《Linux I/O重定向详细介绍》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于Linux,Linux系统,Shell脚本,Linux命令,linux入门,linux教程,linux学习,嵌入式Linux的内容请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
500 收藏
-
220 收藏
-
483 收藏
-
394 收藏
-
273 收藏
-
402 收藏
-
222 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习