一、重定向
linux启动后,会默认打开3个文件描述符,分别是:
- 标准输入:standard input 0
- 正确输出:standard output 1
- 错误输出:error output 2
命令执行完成:成功了,会把成功结果输出到屏幕:standard output默认是屏幕
命令执行有错误:会把错误也输出到屏幕上面:standard error默认也是指的屏幕
所用命令指令
- echo: echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
- cat:后面不接其他命令时,默认从标准输入读取
1.1 输出重定向
1.1.2 重定向
使用>可以将本来出现在屏幕的标准输出信息重定向到一个文件中。
格式: command-line [1-n] > file或文件操作符或设备
上面命令意思是:将一条命令执行结果(标准输出,或者错误输出,本来都要打印到屏幕上面的) 重定向其它输出设备(文件,打开文件操作符,或打印机等等)1,2分别是标准输出,错误输出。
上面的1可以省略
注意:输出重定向是清除文件原有内容再写入的。
1.1.2 追加重定向
- 用>>可以在实现重定向时不覆盖原有内容,而是在文件末尾追加内容.
1.2 输入重定向
格式: command-line <file或文件描述符&设备
命令默认从键盘获得的输入,改成从文件,或者其它打开文件以及设备输入。执行这个命令,将标准输入0,与文件或设备绑定。将由它进行输入。
二、管道
将一个程序的标准输出写到一个文件中去,再将这个文件作为另一个程序的输入。管道要解决的就是不需要临时文件就能将两条命令结合在一起。
Linux提供|操作符,该操作符可以将一个命令的输出作为另一个命令的输入,这样通过多个命令的协作来完成一些比较复杂的内容。