Centos
無法從遠端 scp 文件到本地
我閱讀了有關 scp 的一系列說明和答案
scp - 如何將文件從遠端伺服器複製到本地電腦?- Unix 和 Linux 堆棧交換
但我不能正確應用它
$ pwd #the local path on local machine pwd /Users/me/PubRepo/bash
當我嘗試將文件從遠端 scp 到本地時
[root@iz2ze9wve43n2nyuvmsfx5z ~]# echo "scp test message" > a_test_file.md [root@iz2ze9wve43n2nyuvmsfx5z ~]# cat a_test_file.md scp test message [root@iz2ze9wve43n2nyuvmsfx5z ~]# pwd /root [root@iz2ze9wve43n2nyuvmsfx5z ~]# scp root@icodehero.com:a_test_file.md . root@icodehero.com's password: a_test_file.md 100% 17 3.6KB/s 00:00 [root@iz2ze9wve43n2nyuvmsfx5z ~]#
表示轉移成功,但是我在本地沒有找到
ls | grep "a_test_file.md" #does not return
另外它在本地任何地方都不存在
find / -name "a_test_file.md" 2>/dev/null ## no match
我的使用有什麼問題?
從您的控制台日誌看來,您在創建
scp
的遠端主機上進行了呼叫a_test_file.md
,但您使用.
的是第二個參數,即目標。呼叫總是先有源,然後有目的地。就像評論中提到的@jimmij 一樣,這會從另一個遙控器複製另一個具有相同名稱的文件。所以你有兩種可能:
scp
從文件應該結束的機器(您的本地機器)呼叫。假設icodehero.com
是您的遠端機器,scp
您使用的呼叫是正確的,只是在錯誤的機器上。scp
將呼叫更改為scp a_test_file.md user@your_local_machine:.
,這只有在遠端也可以通過 ssh 訪問您的本地電腦時才有可能。如果您想知道,為什麼複製顯示為成功,我假設
icodehero.com
是您創建文件的機器,在這種情況下,您的遠端從自身複製了文件(它自己覆蓋了文件,實際上什麼都不做)。