重定向管道
首先思考
date输出的结果,能否在下一次开机查看。
答案是不能
解决办法
date > date.txt
重定向案例
1.输出重定向及综合案例
输出重定向分为:正确输出,错误输出
正确输出
1> 等价于 > 覆盖
1>> 等价于 >> 追加
错误输出(没有简写)
2>
2>>
(1)案例1:输出重定向
date 1> date.txt
date >> date.txt
(2)案例2:错误输出重定向
错误示范
ls /home/ 2> list.txt
list.txt文件中没有新的内容,因为没有错误信息
正确示范
ls /sadjsakdhasd 2> list.txt
ls: 无法访问/sadjsakdhasd: 没有那个文件或目录
(3)案例3:正确和错误都输入到相同位置
ls /home/ /sadjsakdhasd &> list.txt
2.输入重定向及结合案例
标准输入:< 等价于 0<
案例:输入重定向发送邮件
(1)观察默认发送邮件的过程
mail -s "ssss" alice
查看邮件
su - alice
mail
按邮件编号:1.即可看邮件。
按q 退出。
(2) 使用重定向快速创建邮件(已有现成的邮件内容)
先准备一段邮件内容
vim word.txt
mail -s "test01" alice < word.txt
管道
管道就是 |
1.进程管道Piping
(1)简介
管道命令可以将多条命令组合起来,一次性完成复杂的处理任务。
(2)语法
command1 | command2 | command3 |...
(3)案例
cat /etc/passwd | tail -3 #看用户信息文件的后三行
ps aux | grep 'sshd' #过滤出进程中带有字母“sshd”的进程
2.tee管道
(1)简介
三通管道,即交给另一个程序处理。又保存一份副本
(2)案例
cat /etc/passwd |tee 88.txt | tail -1
88.txt文本中是的内容所有行,因为是命令1 (cat)处理的结果
3.参数传递xargs
cp rm一些特殊命令就是不服其他程序
案例
(1)环境准备,准备一些文件
touch /home/file{1..5}
ls /home
(2)部分文件需要删除
vim files.txt
(3)使用管道
cat files.txt | rm -rvf
ls /home/
(4)貌似之前的不行,下面加上xargs
cat files.txt |xargs rm -rvf
ls /home/