Chinaunix首页 | 论坛 | 博客
  • 博客访问: 917567
  • 博文数量: 84
  • 博客积分: 4334
  • 博客等级: 上校
  • 技术积分: 1610
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-27 07:49
文章分类

全部博文(84)

文章存档

2012年(5)

2011年(21)

2010年(58)

分类:

2010-11-08 19:27:19

一.重定向
所谓重定向就是指:重新定义请求,将其转向其他位置。
eg:ls -l >lsoutput.txt
这条语句,ls -l这个指令(请求)本来是在终端上显示当前目录的内容的,执行完这条语句之后便完成了ls -l指令的重定向:不在终端显示,而是把显示内容保存在文件lsoutput.txt文件中
假如你在一个脚本程序里想用kill命令终止一个进程,但是有可能当你执行kill命令的时候那个进程就已经结束了,这时它会在终端上输出恼人的error信息,咋办?给它重定向输出吧!即:不让它在终端上显示,而是重定向输出到一个文件中。可在脚本中这样写:

kill -HUP 1234 >killout.txt 2>killerr.txt

因为标准错误输出的文件描述符编号是2,所以使用“2>”操作符.
上面的命令即将标准输出和错误输出分别重定向到killout.txt和killerr.txt中了。如果想把两组输出都重定向到一个文件中,可以用">&"操作符来结合两个输出。如下所示:

kill -1 1234 >killouterr.txt 2>&1


二.管道
可以用管道操作符"|"来连接进程。

ps -xo comm | sort | uniq | grep -v sh | more

这个命令首先按字母顺序排序(sort命令是排序)ps命令的输出,再用uniq命令除去名字相同的进程,然后用grep -v sh删除名字为sh的进程.然后用more命令将结果分页在屏幕上显示出来。
阅读(3597) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~