Shell 编程基础1

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.txtmore,ps|sort>pssort.txt如果需要在屏幕上分页显示输出结果,可以再连接第三个命令,more, ps | sort | more
允许连接的进程的数目是没有限制的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值