龙空技术网

Linux I/O重定向与管道的使用(附:练习+分析)

一起学习吗 189

前言:

目前小伙伴们对“iis 重定向”大体比较关心,小伙伴们都想要了解一些“iis 重定向”的相关资讯。那么小编也在网摘上汇集了一些关于“iis 重定向””的相关资讯,希望看官们能喜欢,我们一起来学习一下吧!

前言

在Linux系统中,默认的输入设备(标准输入)是键盘,默认的输出设备(标准输出)是屏幕。利用重定向操作符,我们可以重新定义命令涉及的默认的输入和输出设备对象。

在Linux系统中,管道是由符号“|”隔开的若干条命令组成的序列。

内容较多,希望大家耐心看完,谢谢~

目录

一、重定向操作符——“ > ”、“ >> ”、“ < ”、“ << ”

二、重定向操作符的使用方法及功能详解

三、I/O重定向练习

四、管道操作符 ——“ |

五、补充——echo

六、总结

一、重定向操作符——“ > ”、“ >> ”、“ < ”、“ << ”

1、在Linux操作系统中

默认的输入设备——键盘默认的输出设备——屏幕

2、利用重定向操作符,我们可以重新定义命令涉及的默认的输入和输出设备对象,即重定向操作符可以将命令输入和输出数据流从默认设备重定向到其他位置。

3、重定向操作符本身不是一条命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号。

“>”、“>>”——输出重定向操作符“<”、“<<”——输入重定向操作符

二、重定向操作符的使用方法及功能详解

1、输出重定向——“>”、“>>”

输出重定向 2-1

2、输入重定向——“<”、“<<”

输入重定向 2-2

三、I/O重定向练习练习1:

1、在屏幕上显示字符串“this is web”

2、将“this is web”写入到文件index.html中

3、将index.html文件中的内容写入file1

4、将index.html和file1文件内容合并到file2

mkdir p1    //创建一个目录,便于区分于后面的练习cd p1echo 'this is web'    //在屏幕上输出字符串“this is web”echo 'this is web' >index.html    //将“this is web”写入到文件index.html中cat index.html >file1    //将index.html文件中的内容写入file1cat index.html file1 >>file2    //将index.html和file1文件内容合并到file2

练习1 3-1

分析:从上述练习中,我们可以看到命令的输出结果在未使用重定向操作符和使用重定向操作符的对比。未使用重定向操作符的情况下,输出的结果将直接在屏幕上输出,而使用操作符之后将会以覆盖或追加的方式写入到指定的文件中。

练习2:

1、创建两个空文件f11, f22

2、向两个空文件中写入任意内容

3、使用cat命令查看f11, f22, f10的内容

4、将第3题的输出重定向,把正确的输出信息存放到文件f12,错误的输出信息存放到文件f00

5、将第3题的输出重定向,把所有输出信息存放到文件f33中

cd ~mkdir p2    //在家目录创建目录p2[root@localhost p2]# touch f11 f22    //1、创建两个空文件[root@localhost p2]# echo 1111111111 >f11[root@localhost p2]# echo 222222222 >f22     //2、向两个文件写入内容[root@localhost p2]# c    //3、查看f11, f22, f10的内容,结果如下1111111111222222222cat: f10: No such file or directory[root@localhost p2]# cat f11 f22 f10 >f12 2>f00    //4、把正确的输出信息存放到文件f12,错误的输出信息存放到文件f00[root@localhost p2]# cat f12    //查看存放正确信息的文件,结果如下1111111111222222222[root@localhost p2]# cat f00     //查砍存放错误信息的文件,结果如下cat: f10: No such file or directory[root@localhost p2]# cat f11 f22 f10 &>f33    //5、把所有输出信息存放到文件f33中[root@localhost p2]# cat f33     //查看存放所有输出信息的文件f33,结果如下1111111111222222222cat: f10: No such file or directory

练习2 3-2

分析:利用重定向操作符,我们可以将命令的正确的输出信息和错误的输出信息分别存放到不同的文件,也可以存放到同一个文件。

练习3:

1、读取练习1中index.html文件中的内容,并显示输出在屏幕上

2、从键盘上输入若干行字符,当输入的字符行为“end”时,在回车换行后,其读取动作就会结束,并将读取内容保存到f4文件中。

[root@localhost p1]# cat <index.html    //1、读取练习1中index.html文件中的内容,显示结果如下this is web[root@localhost p1]# cat <<end >f4  //2、从键盘输入若干行字符,end结尾,并将读取内容保存到f4中,操作如下> 44444> 444> end[root@localhost p1]# cat f4     //查看f4的内容,显示结果如下44444444

练习3 3-3

分析:从上述练习中我们知道,输入重定向操作符的功能是可以让命令从键盘以外的文件得到输入,这样我们可以将命令的信息保存到一个文件中,然后将文件作为命令的输入。而且,我们还可以通过捕捉用户键盘按键,记录下用户输入的内容,并且将记录下的内容保存到新的文件中。

四、管道操作符 ——“ | ”

1、管道是由符号“ | ”隔开的若干条命令组成的序列。

2、管道符“ | ”的作用:

将前一个命令的输出通过一个“管道”作为下一个命令的输入,即实现将前一个命令的输出的数据结果作为后一条命令所需要的数据源

3、管道符的使用:

当输出内容较多,为了便于浏览,可将输出内容,通过管道操作符,传递给more命令来分页查看,也可传递给grep命令实现对指定对象的过滤查看。

Example:

(1)[root@localhost etc]# ls -al /etc |more

管道符示例 4-1

(2)[root@localhost etc]# ls -al /etc | grep firewall

管道符示例 4-2

五、补充——echo

1、功能:在显示器上显示一段文字,一般起到一个提示的作用

2、命令格式:echo [ -n ] 字符串

n——表示输出文字后不换行字符串能加引号或先导符号``括起来(ESC键下面的键),也能不加引号。

PS:

用单引号时,能完全保证将字符串原样输出,特殊符号不转义

用双引号时,对有些特殊字符不能转义

如:echo “$PWD”会显示当前目录,而不会显示$PWD

不加引号时,将字符串中的各个单词作为字符串输出(不含特殊字符$、\、 ` 、!),各字符串之间用一个空格分割

如:echo (abc,会出错

用先导号``时,引用命令的执行结果

如:ls –al `pwd`,先执行pwd命令,后将结果作为ls命令的执行对象

六、总结I/O重定向操作符:“>”、“>>”、“<”、“<<”。通过重定向操作符,我们可以重新定义涉及的默认的输入和输出设备对象。重定向操作符本身不是一条命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号。管道操作符 ——“ | ”。管道符的作用:将前一个命令的输出通过一个“管道”作为下一个命令的输入。echo——在显示器上显示一段文字,一般起到一个提示的作用

标签: #iis 重定向