Chinaunix首页 | 论坛 | 博客
  • 博客访问: 112437
  • 博文数量: 61
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 261
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-08 11:29
文章分类

全部博文(61)

文章存档

2016年(9)

2015年(36)

2014年(16)

我的朋友

分类:

2014-07-08 11:32:06

原文地址:管道和重定向 作者:FreedomXura

一.重定向
所谓重定向就是指:重新定义请求,将其转向其他位置。
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命令将结果分页在屏幕上显示出来。
阅读(174) | 评论(0) | 转发(0) |
0

上一篇:字符串逆序

下一篇:vi的几个常用命令

给主人留下些什么吧!~~