一、重定向
1、标准输入,标准输出,标准错误
FD(文件描述符)简介:进程使用文件描述符来管理打开的文件。
0、stdin 标准输入只读(链接键盘)
- stdout 正确输出到终端显示屏
- stderr 错误输出到终端显示屏
3+、是普通文件,可读可写
实验示例:
1、通过一个终端打开文本 vim 1.txt
2、通过另一个终端,查询文本程序的进程号 ps aux |grep vim
3、在/proc 目录查看进程号下的文本程序FD(通常在/proc/pid/fd下就能看到文件的fd调用情况)
2、输出重定向
案例1:正确输出重定向
# date 1> date.txt
# cat date.txt
mkdir 888 不能显示信息
mkdir -v 888 能显示信息
案例2:错误输出
#ls /aaaaaaa 2> file1.txt
#cat file1.txt
案例3:正确和错误一起输出
#ls /home /aaaaaaaa &> 1.txt
#cat 1.txt
#yum -y install &> /dev/null(放到垃圾箱中)
案例4:发送邮件
(1)普通方式:mail -s ‘sss’ jack
输入内容,以“.”结束
输入重定向方式:#vim word.txt
#mail -s ‘sss’ jack < word.txt
(2)su - jack
(3)mail 输入号码按回车
(4)exit 退出
二、管道
1、进程管道:可以将命令组合起来,一次性的完成复杂的处理任务
语法:command1|command2|command3 指令1的标准输出作指令2的标准输入
示例:cat /etc/passwd |tail -3 | head -1
查看倒数第三行的信息
- tee 管道:三通管道 ,既交给另一个程序处理,又保存一份副本
示例: cat /etc/passwd | tee 8.txt | tail -1
8.txt 保留了命令1的结果,最后结果查看了最后一行信息
3、参数传递:Xargs :cp ,rm一些特殊命令就是不服从其他程序
#ls /home
#touch /home/file{1..5} 快速创建1到5文件
#vim 2.txt 编写进要删的文件名
#cat 2.txt
#cat 2.txt | rm -rvf 删除失败
#cat 2.txt | xargs rm -rvf
#ls /home 查看,2.txt中内容删除成功