Linux系统配置及服务管理之重定向管道

重定向管道

一、标准输入、标准输出、标准错误

FD:文件描述符、链接文件。进程使用文件描述符来管理打开的文件。

0:stdin    标准输入只读(链接键盘);

1:stdout  正确输出到终端显示屏;

2:stderr   错误输出到终端显示屏;

3+:是普通文件,可读可写。

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

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

3、在/proc目录中查看文本程序的FD:ll  /proc/PID/fd

Linux系统配置及服务管理之重定向管道

0:标准输入;

1:标准输出;

2:标准错误输出;

3:常规文件。

2825就是FD,程序通过描述符访问文件,可以是常规文件,也可以是设备文件。

二、重定向

1、输出重定向:1、2。

正确输出:1>  覆盖      1>>追加

错误输出:2>            2>>

例1:输出重定向

Linux系统配置及服务管理之重定向管道

例2:错误输出重定向

Linux系统配置及服务管理之重定向管道

例3:正确和错误都输入到相同位置

Linux系统配置及服务管理之重定向管道

2、输入重定向:标准输入:0<

例:输入重定向发送邮件

默认发邮件:mail  -s  "111"  user100

Linux系统配置及服务管理之重定向管道

编写邮件:mail:电子邮件;

-s:标题;

111:标题内容;

user100:邮件接收人;

.:邮件结束符号。、

查看邮件:mail

         按邮件编号即可查看邮件,q退出。

使用重定向快速创建邮件:利用输入重定向,把文件内容代替人为的输入。

Linux系统配置及服务管理之重定向管道

三、管道:管道命令可以将多条命令组合起来,一次性完成复杂的处理任务。

1、进程管道

语法:command1  |  command2  |  command3  |  ...

指令1的标准输出作为指令2的标准输入。

例:cat  /etc/passwd  |  tail  -3;

ps  aux  |  grep  ssh。

2、tee管道:三通管道,即交给另一个程序处理。又保存一份副本。

Linux系统配置及服务管理之重定向管道

1.txt文本中是/etc/passwd中的所有内容。

3、参数传递xargs

cp、rm等一些特殊命令不服其他程序,需通过xargs连接。

例:

Linux系统配置及服务管理之重定向管道