2011-02-23 191 views
0

是否可以通過shell腳本登錄到遠程計算機的特定文件夾: 而不是ssh然後cd。我能用一個命令做到嗎? 是否可以一次性通過scp將文件複製到遠程機器的兩個不同文件夾中?登錄遠程計算機

回答

1

您可以通過cp命令到SSH如下:

ssh [email protected] "cp /path/to/folder1/file /path/to/folder2" 

cd結合:

ssh [email protected] "cd /path/to/folder1; cp file /path/to/folder2" 
+1

它會執行命令並斷開你與遠程機器的連接。 – 2011-02-23 09:27:26

+0

感謝它的工作 – Shweta 2011-02-25 11:52:12

1

我覺得沒有真正解決這一點。如果你的shell是bash,你可以試試ssh [email protected] bash -c "cd /tmp; bash -i"。這看起來有點像它可以工作,但你很快就會發現它並不真正起作用。 (嘗試調用像vi這樣的編輯器,你會看到。)

你也可以把cd /tmp放到遠端的~/.bashrc。這樣,ssh [email protected]做你所要求的。但我想你想能夠去不同的目錄,所以這也不會飛。

我認爲最好的方法是讓它方便地輸入cd命令,例如,使用別名。然後它不那麼打字。

+0

什麼是ssh user @ host bash -c「cd/tmp; bash -i」命令在幹什麼? – Shweta 2011-02-23 09:55:19

+0

它連接到遠程主機,並在那裏對'/ tmp'目錄進行更改,然後調用交互式shell。在這之後,你可以通過'pwd'來驗證你是否在正確的目錄中,並且你可以使用'cd'和'ls'等。但正如我所說,當你調用一個編輯器時,錯覺就會崩潰。 – hibbelig 2011-03-09 22:31:28

1

關於第一個問題最徹底的方法是期待:

#!/usr/local/bin/expect 
spawn ssh [email protected] 
expect -re {\$ $} ;# adjust to suit your prompt 
send "cd some/dir\r" 
interact 

我不清楚你的第二個問題:你有,你要複製到本地計算機,或你想2個遠程文件將文件從一個遠程目錄複製到另一個遠程目錄?

scp [email protected]:/path/to/file1 [email protected]:/path/to/file2 . 
ssh [email protected] "cp /path/to/file1 /path/to/folder2/" 
相關問題