远程登录(ssh差异)

时间:2017-05-16 11:28:54

标签: bash ubuntu ssh grep

我想知道以下命令之间有什么区别:

ssh vagrant@someipaddress
cd /home/vagrant/
grep -i "something" data.txt

ssh vagrant@someipaddress 'cd /home/vagrant; cat data.txt' | grep -i "something"

从它提到的website,您可以向远程服务器发送多个命令。第二个选项是否实际登录到服务器?第二种方法有什么好处?

1 个答案:

答案 0 :(得分:0)

从提供的示例

严格说话

第一个命令:

  • 登录远程服务器
  • 执行一些命令,
  • 登录服务器

第二个命令在远程计算机上运行一半,从远程计算机注销,然后在一台命令行中将输出通过管道传输到本地计算机上的grep。 / p>

分解正在发生的事情:

ssh vagrant@someipaddress 'cd /home/vagrant; cat data.txt' | grep -i "something"

  • 根据ssh会话

  • 的输出,粗体部分在您的本地PC上运行
  • '引号“包含”整个命令块

  • "引号“包含”命令块中的各个参数

您可能打算这样做:

ssh vagrant@someipaddress 'cd /home/vagrant; cat data.txt' | grep -i "something"

  • 粗体部分在本地运行

或者您可能故意这样做:

 ssh vagrant@someipaddress 'cd /home/vagrant/ | grep -i "something" data.txt'

  • 整个命令在服务器上运行的位置。

无论哪种方式,最终结果:

  • 您是否自动退出远程计算机,并且一次性执行整个命令序列。