linux系统中~重定向以及管道符“|”的使用

1:系统中的输入输出重定向:

要了解系统中的输入输出重定向,首先要了解的是“文件描述符”这一含义。
系统中,内核(kernel)是利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。而在Linux 的shell命令,可以通过文件描述符来引用一些文件,通常使用到的文件描述符为0,1,2,文件描述符如:

文件文件描述符
输入文件—标准输入0(缺省是键盘,为0时是文件或者其他命令的输出)
输出文件—标准输出1(缺省是屏幕,为1时是文件)
错误输出文件—标准错误2(缺省是屏幕,为2时是文件)

而对于linux系统中的输入输出的管理,可以理解为对于文件的重定向,即就是改变系统中程序运行的输入和输出,也就是输入源和输出地点。可分为两部分学习:A:文件的重定向;B文件的追加重定向。在进行管理时,会使用不同的文件管理符号。
A:文件的重定向符号:

1> ###重定向正确输出
2> ###重定向错误输出

&> ###重定向所有输出

B:输出重定向:

命令含义
Command > filename把标准输出重定向到一个文件中
Command 2> filename把标准错误重定向到一个文件
Command > filename 2>&1把标准输出和错误一起重定向到一个文件中

如:重定向正确输出到test文件:

使用student用户,查找/etc/目录下,文件/目录包含passwd的文件。由于权限不够,因此会报错无权限查看。而正确输出则被重定向到了test文件中。
在这里插入图片描述

重定向错误输出到test.err中:
在这里插入图片描述

重定向所有输出到test.all中
在这里插入图片描述

C:文件的追加重定向:
追加重定向和重定向大概类似,二者的区别是:输出重复重定向到某一文件时,该文件的内容会被覆盖;追加重定向则如其名,重复 重定向时,会在该文件的尾部追加输出,不会覆盖。

追加重定向的符号:

命令含义
Command >> filename把标准输出重定向到一个文件中(追加)
Command 2 >> filename把标准输出重定向到一个文件中(追加)
Command >> filename2>&1把标准输出和错误一起重定向到一个文件(追加)

如:
首先创建文件“wuxie”并编辑,查看“wuxie”中的内容:
在这里插入图片描述

其次,使用student用户,查找/etc/目录下,文件/目录包含passwd的文件。由于权限不够,因此会报错无权限查看。然后将正确输出追加重定向到文件“wuxie”中:
在这里插入图片描述

将错误输出追加重定向到文件“wuxie”中:
在这里插入图片描述

将所有输出追加重定向到文件“wuxie”中:
在这里插入图片描述
D:文件的输入重定向:

输入重定向:

命令含义
Command < filename > filename2Command命令以filename文件作为标准输入,以filename2文件作为标准输出
Command < filenameCommand命令以filename文件作为标准输入

如:
单行输入重定向:
创建文件“west”并编辑其内容为:“westos”,然后使用输入重定向,将文件中的所有小写字母定向为大写字母:
在这里插入图片描述

多行输入重定向:利用多行输入重定向修改密码:
如:
创建文件“123”并编辑为:
passwd <<EOF
123
123
EOF
然后重命名为123.sh可执行文件(其实可以直接创建文件“123.sh”进行编辑),使用sh命令运行“123.sh”文件,会将第一个关键字“EOF”后的内容自动输入,知道遇到第二个关键字“EOF”则结束。
在这里插入图片描述

2:管道符“|”的使用:

管道的作用:将管道符左边的的输出 当做右边命令后面待处理的结果
在这里插入图片描述

注:图来自网络,侵删。

如:和上方重定向一样,查找/etc/目录下的文件,并统计正确输出的行数。

在这里插入图片描述

将查找的所有结果保存到文件“3”中,并统计一共有多少行。(理论上讲,管道符可以无限应用)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值