上次我们说到的是Linux下的软件包的安装管理,今天我们说一说Linux下的管道
- 关于管道: 将两个或者多个命令连接起来,一个命令的输出可作为下一个命令的输入
- 关于重定向: 将本要显示到命令行的结果输送到别的地方或者文件中,亦或是作为下一个命令的输入传递给命令运行
- 输出重定向符号: > 和 >>
用法:
第一个需要执行的命令 > 需要重定向到的文件地址或者命令
符号: > 和 >> 的区别:
“>” : 表示会将命令的执行结果覆盖到重定向到的文件中
“>>” : 将命令执行的结果以追加的形式定向到指定的文件中
- 关于 stdin && stdout && stderr
- stdin: 标准输入流(终端接收的输入命令)
- stdout: 标准输出流(终端信息的输出显示,不包含错误输出)
- stderr: 标准错误输出(终端输出错误信息)
- 2> 符号可将标准错误输出(stderr)重定向到指定的位置
- 2>&1 符号可将标准输出(stdin)和标准错误输出(stderr)均重定向到指定的位置
输入重定向符号: > 和 >> (指定命令的输入来自哪里)
< : 文件输入(会直接将文件的内容作为命令的输入执行,对于文件的打开等操作则会由终端执行)
<< : 从键盘读取(将键盘的输入重定向为某个文件的输入,键盘的输入是以逐行输入的形式,回车换行,直到输入结束符为止)
示例:
sort -n << END # 最后的结束符号就是 END
管道的符号: |
将两个命令使用管道符号连接将会将第一个命令的输出作为第二个命令的输入
或者是将第一个命令的输出用管道输出到文件中:
使用:
cat file.txt | grep "abc" # 查找文件file.txt中的abc字符串,同时可以进行多个命令的连接
好了,关于今天的管道和重定向我们就说到这里了,内容不多,但是却极其的重要!! 大家 加油!!!!!