下表是管道与重定向符的作用
符号 | 作用 |
---|---|
| | 将一个命令的标准输出重定向给下一个命令,并作为该命令的标准输入 |
> | 将输出导入至文件 |
>> | 将输出追加至文件 |
< | 从文件中提取输入信息 |
<< | 从标准输入中读入,直到遇见分界符才停止 |
2>或2>> | 错误信息的重定向 |
下面通过几个实例演示重定向的使用方法(其中标准输入的文件描述符为0,标准输出的文件描述为1,错误输出的文件描述为2)
[root@localhost 桌面]# rpm -qa |grep gcc //查询计算机是否安装了gcc软件
[root@localhost 桌面]# echo "hello" |passwd --stdin root //设置root的密码为hello
[root@localhost test]# cat /etc/selinux/config > 1.txt //将输出保存至1.txt,屏幕无输出
[root@localhost test]# hostname >> 1.txt //将主机名追加至1.txt的末尾
[root@localhost test]# mail -s test xx@gmail.com < 1.txt //发送邮件,邮件内容来自文件
[root@localhost test]# ls -l 1.txt 3.txt //查看文件详细信息,3.txt并不存在
ls: 无法访问3.txt: 没有那个文件或目录
-rw-r--r-- 1 root root 49 6月 19 20:02 1.txt
[root@localhost test]# ls -l 1.txt 3.txt 2> 4.txt //将错误重定向,不影响正确输出
-rw-r--r-- 1 root root 49 6月 19 20:02 1.txt