云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)

云计算基础大课笔记

第五章 重定向和管道

简介:其实就是常见的两种符号  >  和  |  本章着重讲述FD句柄的概念。进程读取文件的方法。通过对文件描述符的控制,可以把进程的信息保存至新的位置,或者丢弃。以及管道程序,可将多程序组合起来,完成更复杂的管理任务。

目标:通过对文件描述符的控制的学习,可以把进程的信息保存至新的位置,或者丢弃。以及可以使用管道程序,将多程序组合起来,完成更复杂的管理任务。

进程

思考:date输出的结果,能否在下一次开机查看

答案:否 解决方法:date>date.txt

(1)重定向

01.标准输入 标准输出 标准错误
01.FD简介

file descriptors FD 文件描述符,文件句柄

进程使用文件描述符来管理打开的文件 → 链接文件

02.图示

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第1张图片

数字就是文件描述符(文件句柄)这些数字来完成一些基本信息 可以通俗理解成进程序 出程序 例如:在敲date命令时 则有相应的FD链接到终端(终端在这里可以通俗理解成上面的屏幕)

03.FD(File Description)是访问文件的表示,即链接文件(实际上就是一种快捷方式)

0是标准输入 是键盘只读的

1,2是标准输出 标准错误 是终端可以理解为屏幕

3以后都是其它文件 可读可写

04.示例

通过一个终端,打开一个文本 vim 1.txt

通过另一个终端,查询文本程序的进程号 ps aux | grep vim

在/proc目录中查看文本程序的FD

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第2张图片

02.重定向案例-输出重定向
01.输出重定向

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第3张图片

  1. FD:1和2 是默认覆盖行为 输入两个大于号就为追加 具体情况如下:

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第4张图片

  1. mkdir命令是需要添加上-v参数显示
  2. 程序需要输出
02.错误输出重定向
  1. 当某条命令产生错误时,才有错误输出
  2. 错误都在日志里面

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第5张图片

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第6张图片

03.正确和错误都输出到相同位置

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第7张图片

03.重定向案例-输入重定向
01.简介:标准输入 < 等价0 <
02. 输入重定向发送邮件
  1. 发送邮件

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第8张图片

  1. 查看mail

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第9张图片

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第10张图片

  1. 使用重定向快速创建邮件

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第11张图片

(2)管道 |

01.进程管道Piping
01.简介:就是一个符号  |  
02.作用:使用这个符号(管道) 可以将多条命令组合起来。一次性完成复杂的处理任务
03.语法

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第12张图片

04.案例

02.tee管道(三通管道)
01. 简介:即交给另一个程序处理,又保存一份副本 用于在原有管道传递信息,又用于在连续管道里抓取信息

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第13张图片

02. 案例

03.参数传递Xargs
01.cp rm一些特殊命令就是不服从其他程序
02.案例

云计算工程师系列 Day05 第五章 重定向和管道(超详细 持续更新中....)_第14张图片

-v是显示删除过程

第五章总结:

第五章详细讲述了Linux重定向和管道的使用,包括文件描述符的概念,如何通过重定向控制进程的输入输出流,以及如何将多个命令通过管道组合起来执行复杂的任务。本章的要点包括:

  1. 文件描述符(FD)是链接到文件的句柄,代表着对文件的操作。
  2. 标准输入(STDIN)、标准输出(STDOUT)和标准错误(STDERR)的文件描述符分别为0、1和2。
  3. 重定向允许用户将命令输出重定向到文件中(>>>),也可将文件内容重定向到命令中(<)。
  4. 错误输出可以单独重定向(2>)或者和标准输出一起重定向(&>)到文件。
  5. 管道(|)可以将一个命令的输出作为另一个命令的输入。
  6. tee命令可以在将输出传递到下一个命令的同时,保存一份到文件中。
  7. xargs可以将标准输入数据转化为命令行参数。

课后思考:

如何同时重定向一个命令的标准输出和标准错误输出?

可以使用&>或者>&将标准输出和标准错误输出重定向到同一个文件中。例如,命令command &> output.txt会将标准输出和标准错误输出都重定向到output.txt文件。

使用管道有什么限制,或者说什么情况下不能使用管道?

管道通常用于将一个命令的输出直接作为另一个命令的输入,但是它不能用于将数据同时传送给多个命令,也不能将同一数据传送给同一个命令的多个不同参数。此外,如果前一个命令没有输出,则后一个命令不会执行。

tee命令在开发和系统管理员工作中有哪些常见的用法?

tee命令常用于调试脚本,在执行命令时同时将输出保存到文件中,这样既可以在终端看到输出,也可以存档以供后续分析。

xargs命令在什么情况下特别有用?

xargs命令在处理生成的数据或者文本文件中的字符串作为命令行参数时特别有用。它可以用来组合命令行参数,使其可以在诸如find命令的输出中一次性处理多个文件。

你可能感兴趣的:(Linux,linux,云计算,笔记,开发语言,服务器)