Linux

是否可以將目錄從遠端會話複製到本地電腦?

  • May 1, 2020

我一直在遠端伺服器上的螢幕會話中執行我的程式碼。我想使用 SCP 將遠端伺服器上此會話中生成的輸出目錄移動到我的本地伺服器,但我不能。

  1. 有沒有辦法做到這一點?
  2. 如果沒有,我如何將我的文件夾從螢幕會話複製到我的遠端伺服器(以便我可以 SCP 到我的本地伺服器)?

目前,這就是我所做的。

ssh ritu@i.p.address
ritu@i.p.address$ screen -r xxxx.pt
root@xxxxxx# ls media
Experiment_A

本地伺服器

scp ritu@xx.xx.xx.xxx:/media/Experiment_A/features /Users/local/ExpResult

(輸出)

scp: /media/Experiment_A/features: No such file or directory

看起來您正在重新加入由 root 啟動的會話。文件可能位於/root.

無論它們在哪裡,您都可能必須更改文件權限才能讀取它們。請參閱在 gnu/linux 上設置文件權限等的不同方法是什麼

它們也可能位於僅限單個使用者的安裝點上。如果是這樣,那麼如果文件很小,則將它們複製到遠端電腦上的自己,然後 scp.

我看起來好像你的scp命令中的路徑有點錯誤。

以下應該有效:

scp ritu@xx.xx.xx.xxx:media/Experiment_A/features /Users/local/ExpResult

說明:當您登錄到遠端機器時,您最終會進入您的主目錄。這很可能/home/usernameusername您的使用者名在哪裡)。在您的主目錄中,您擁有該media子目錄。

scp命令中,如果您指定相對路徑,即不以 開頭的路徑,則/該路徑將相對於您的主目錄。因此,只需/從您在命令中使用的路徑中刪除 ,您就可以得到一個最有可能正確複製media/Experiment_A/features文件的路徑。

如果這不起作用,那是因為screen會話已將其目前目錄更改為其他位置。然後你可以做的是pwd在會話中發出命令,然後在你的命令中使用這個輸出的路徑scp

要嘗試的另一件事是scp遠端機器上執行以將文件傳輸到本地機器。這顯然只有在您被允許使用 SSH 從該機器本地登錄時才有效。

引用自:https://unix.stackexchange.com/questions/537602