利用scp 遠端上傳下載檔案/資料夾

安全劍客發表於2019-02-01
scp是secure copy的簡寫,用於在 Linux 下進行遠端拷貝檔案的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨伺服器,而且scp傳輸是加密的。可能會稍微影響一下速度。當你伺服器硬碟變為只讀 read only system時,用scp可以幫你把檔案移出來。另外,scp還非常不佔資源,不會提高多少系統負荷,在這一點上,rsync就遠遠不及它了。雖然 rsync比scp會快一點,但當小檔案眾多的情況下,rsync會導致硬碟I/O非常高,而scp基本不影響系統正常使用。

利用scp 遠端上傳下載檔案/資料夾利用scp 遠端上傳下載檔案/資料夾

1.命令格式

scp [引數] [原路徑] [目標路徑]

命令功能

scp是 secure copy的縮寫, scp是 linux系統 下基於ssh登陸進行安全的遠端檔案拷貝命令。linux的scp命令可以在linux伺服器之間複製檔案和目錄。

命令引數
-1  強制scp命令使用協議ssh1
-2  強制scp命令使用協議ssh2
-4  強制scp命令只使用IPv4定址
-6  強制scp命令只使用IPv6定址
-B  使用批處理模式(傳輸過程中不詢問傳輸口令或短語)
-C  允許壓縮。(將-C標誌傳遞給ssh,從而開啟壓縮功能)
-p 保留原檔案的修改時間,訪問時間和訪問許可權。
-q  不顯示傳輸進度條。
-r  遞迴複製整個目錄。
-v 詳細方式顯示輸出。scp和ssh(1)會顯示出整個過程的除錯資訊。這些資訊用於除錯連線,驗證和配置問題。
-c cipher  以cipher將資料傳輸進行加密,這個選項將直接傳遞給ssh。
-F ssh_config  指定一個替代的ssh配置檔案,此引數直接傳遞給ssh。
-i identity_file  從指定檔案中讀取傳輸時使用的金鑰檔案,此引數直接傳遞給ssh。
-l limit  限定使用者所能使用的頻寬,以Kbit/s為單位。
-o ssh_option  如果習慣於使用ssh_config(5)中的引數傳遞方式,
-P port  注意是大寫的P, port是指定資料傳輸用到的埠號
-S program  指定加密傳輸時所使用的程式。此程式必須能夠理解ssh(1)的選項。
2、從伺服器下載檔案
scp username@servername:/path/filename /tmp/local_destination

例如scp root@192.168.0.101:/home/kimi/test.txt

把192.168.0.101上的/home/kimi/test.txt的檔案下載到 /tmp/local_destination

3、上傳本地檔案到伺服器
scp /path/local_filename username@servername:/path

例如scp /var/www/test.php root@192.168.0.101:/var/www/ 把本機/var/www/目錄下的test.php檔案
上傳到192.168.0.101這臺伺服器上的/var/www/目錄中

4、從伺服器下載整個目錄
scp -r username@servername:remote_dir/ /tmp/local_dir

例如:scp -r root@192.168.0.101 /home/kimi/test /tmp/local_dir

5、上傳目錄到伺服器
scp -r /tmp/local_dir username@servername:remote_dir

例如:scp -r test root@192.168.0.101:/var/www/ 把當前目錄下的test目錄上傳到伺服器的/var/www/ 目錄


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2565405/,如需轉載,請註明出處,否則將追究法律責任。

相關文章