title: 01-输入输出重定向
order: 1
icon: lightbulb
输入数处重定向:输入重定向是指把文件导入到命令中,而输出重定向则是指把原本要输出到屏幕 的数据信息写入到指定文件中。
标准输入重定向( STDIN,文件描述符为 0):默认从键盘输入,也可从其他文件或命令中输入。 2 、标准输出重定向( STDOUT,文件描述符为 1):默认输出到屏幕。
错误输出重定向( STDERR,文件描述符为 2):默认输出到屏幕。
输入重定向中用到的符号及其作用
输出重定向中用到的符号及其作用
实例1:我们通过标准的输出重定向乡man bash命令原本要输出到屏幕的信息写入到当前目录下的 readme.txt文件中,然后显示该文件内容:
[root@host-172-16-0-115 ~]# man bash > readme.txt && cat readme.txt
说明: “&&”表示先执行“&&”前的命令,完成后然后在执行“&&”后的命令, “&&”作用在真实存在的基础 上。上面命令表示我们将man的刷新信息通过输出重定向到readme.txt文件后,在使用cat命令查看 readme.txt文件内容。
实例2:我们通过标准输出重定向技术将“welcome to zhangxuewe”这句话覆盖到当前目录下新建的 zxw.txt中,并查看它:
[root@host-172-16-0-115 ~]# echo "welcome to zhangxuewen" > zxw.txt && cat zxw.txt
实例3:紧接着我们在zxw.txt中通过输出重定向技术末尾在添加“ilove linux”这句话,并查看它:
[root@host-172-16-0-115 ~]# echo "i love linux " >> zxw.txt && cat zxw.txt
虽然都是输出重定向技术,但是不同命令的标准输出和错误输出还是有区别的。例如查看当前目录中某 个文件的信息,这里以zxw.txt 文件为例。因为这个文件是真实存在的,因此使用标准输出即可将原本 要输出到屏幕的信息写入到文件中,而错误的输出重定向则依然把信息输出到了屏幕上。
实例4:查看文件zxw.txt的权限及属性情况并输出到zxw.txt中,并查看它(zxw.txt文件真实存在):
[root@host-172-16-0-115 ~]# ls -l zxw.txt > zxw.txt && cat zxw.txt
实例5:查看文件wxz.txt的权限及属性情况并输出到zxw.txt中,并查看它(wxz.txt文件不存在会有报 错信息,将报错信息写入到zxw.txt中)
[root@host-172-16-0-115 ~]# ls -l wxz.txt 2> zxw.txt | cat zxw.txt
说明: “|”为管道符,其作用表示紧接着执行“|”后的命令,即在执行“|”前的命令的基础上再执行“|”后面 的命令。为什么我们不用“&&”这个呢,因为“&&”作用再真实存在的文件,因为wxz.txt本身不存在,会 产生报错信息,是将报错信息写入到zxw.txt中而不是正确信息写入到zxw.txt中。
输入重定向相对来说有些冷门,在工作中遇到的概率会小一点。输入重定向的作用是把文件直接导入到 命令中。
实例6:我们把zxw.txt输入重定向给wc -l命令,统计一下zxw.txt文件有多少行内容:
[root@host-172-16-0-115 ~]# wc -l < zxw.txt
总结:
1、首先搞清楚输入和输出的概念:
输入重定向:输入重定向是指把文件导入到命令中。
输出重定向:输出重定向则是指把原本要输出到屏幕的数据信息写入到指定文件中。
2、在生活中我们常用的是第二个输出重定向技术。
评论区