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
0:标准输入;
1:标准输出;
2:标准错误输出;
3:常规文件。
2825就是FD,程序通过描述符访问文件,可以是常规文件,也可以是设备文件。
二、重定向
1、输出重定向:1、2。
正确输出:1> 覆盖 1>>追加
错误输出:2> 2>>
例1:输出重定向
例2:错误输出重定向
例3:正确和错误都输入到相同位置
2、输入重定向:标准输入:0<
例:输入重定向发送邮件
默认发邮件:mail -s "111" user100
编写邮件:mail:电子邮件;
-s:标题;
111:标题内容;
user100:邮件接收人;
.:邮件结束符号。、
查看邮件:mail
按邮件编号即可查看邮件,q退出。
使用重定向快速创建邮件:利用输入重定向,把文件内容代替人为的输入。
三、管道:管道命令可以将多条命令组合起来,一次性完成复杂的处理任务。
1、进程管道
语法:command1 | command2 | command3 | ...
指令1的标准输出作为指令2的标准输入。
例:cat /etc/passwd | tail -3;
ps aux | grep ssh。
2、tee管道:三通管道,即交给另一个程序处理。又保存一份副本。
例
1.txt文本中是/etc/passwd中的所有内容。
3、参数传递xargs
cp、rm等一些特殊命令不服其他程序,需通过xargs连接。
例: