1.重定向输出
如下命令是对输出重定向的例子:
$ ls -al > lsoutput.txt
上述命令将ls 的输出重定向到 lsoutput.txt 文件中。
标准文件描述符
文件描述符 0 : 表示一个程序的标准输入。
文件描述符 1 : 表示一个程序的标准输出。
文件描述符 2 : 表示标准错误输出。
使用 >> 可以将输出附件到文件中(> 将一个文件覆盖)。
$ ps >> lsoutput.txt
上述命令将ps命令的输出附加到 文件 lsoutput.txt中。
如果需要将标准错误输出重定向,则需要将对应的文件描述符加在> 符号的前面。如下:
2>
重定向输出的一个例子
如果在脚本中使用kill命令终止一个进程,当该进程已经结束时,使用kill命令终止该进程就会产生错误,并且kill命令会向标准输出写一条错误信息,这条信息会显现在屏幕上,通过对标准输出和标准错误都进行重定向,可以阻止kill向屏幕写任何信息。
$ kill -HUP 1234 >killout.txt 2>killer.txt
上述命令将标准输出和标准错误输出分别重定向到不同的文件中。
也可以将两组输出都重定向到一个文件中,可以使用 >& 操作符来结合两个输出。
$ kill -1 1234 >killouterr.txt 2>&1
上述命令的含义是 : 将标准输出重定向到 killouterr.txt 文件中,然后将标准错误输出重定向到与标准输出相同的地方。
在linux中,可以使用通用的回收站丢弃 不需要的信息:
$ kill -1 1234 > /dev/null
2 管道操作符 |
可以使用管道操作符来连接进程 ,在linux中,使用管道操作符连接的进程可以同时运行,并且随着数据流在它们之间传递可以自动地协调。
如果需要使用sort命令对ps命令的输出进行排序,则需要使用以下命令:
$ ps > psout.txt
$ sort psout.txt > pssort.txt
上述命令可以使用更加简便的命令实现:
ps|sort>pssort.txt如果需要在屏幕上分页显示输出结果,可以再连接第三个命令,more,ps|sort>pssort.txt如果需要在屏幕上分页显示输出结果,可以再连接第三个命令,more, ps | sort | more
允许连接的进程的数目是没有限制的。