跨越主机的管道和重定向

原地址:http://blog.wsdd.org/?p=1992

linux的shell下,经常要用管道和重定向,不过你知道吗?有办法可以让管道和重定向跨越主机。
就是hosta上的某个命令的输出管道到hostb上的某个命令,或者hosta上的某个输出重定向到hostb的某个文件里。
很简单,依赖于ssh,这里举个例子,你就明白了:

date | ssh host "cat >> abc.txt"

把当前主机上date的执行结果append到host机器的abc.txt文件后。

ssh host "free" >> abc.txt

把host机器上free的执行结果append到本地 abc.txt 的末尾。
看到这里,你应该掌握要点了,ssh host “command” 是 ssh到host,并执行命令,命令的输出是在本地的。
也可以管道到ssh命令,则是作为ssh host后的命令的stdin的,可以cat出来(cat默认是从stdin读的),再管道到其它命令。

另:如果想vim编辑其它机器上的一个命令,有方便的方法:

vim scp://host//tmp/abc.txt

是编辑host上/tmp/abc.txt文件。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值