当前位置:   article > 正文

利用dos管道命令获取屏幕内容_Linux I/O重定向与管道的使用(附:练习+分析)...

.从键盘上输入若干行字符,当输入的字符行为“end”时,在回车换行后,其读取动作就

前言

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

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

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

目录

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

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

三、I/O重定向练习

四、管道操作符 ——“ |

五、补充——echo

六、总结

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

1、在Linux操作系统中

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

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

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

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

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

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

73687fe973ef0133eb8f8a48f47e1eb5.png

输出重定向 2-1

2、输入重定向——“

c94b27423f8a20a13dcad0508c68bb2e.png

输入重定向 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
40f9c77314e19065b7c0b5b23800e53c.png

练习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
71235541bd5b375cceaa24b9c86228e7.png

练习2 3-2

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

  • 练习3:

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

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

[root@localhost p1]# cat f4  //2、从键盘输入若干行字符,end结尾,并将读取内容保存到f4中,操作如下> 44444> 444> end[root@localhost p1]# cat f4     //查看f4的内容,显示结果如下44444444
9e3243f82ae607ee67102fbf33725943.png

练习3 3-3

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

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

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

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

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

3、管道符的使用:

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

Example:

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

f6b26f60417ab1cf3ce0d44057a0e100.png

管道符示例 4-1

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

c99741faa1cb4de86130941faf58054b.png

管道符示例 4-2

五、补充——echo

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

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

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

PS:

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

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

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

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

如:echo (abc,会出错

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

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

六、总结

  1. I/O重定向操作符:“>”、“>>”、“
  2. 通过重定向操作符,我们可以重新定义涉及的默认的输入和输出设备对象。
  3. 重定向操作符本身不是一条命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号。
  4. 管道操作符 ——“ | ”。
  5. 管道符的作用:将前一个命令的输出通过一个“管道”作为下一个命令的输入。
  6. echo——在显示器上显示一段文字,一般起到一个提示的作用
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/76636
推荐阅读
相关标签
  

闽ICP备14008679号