使用scp命令在多個Linux系統間進行檔案複製

夢共裡醉發表於2019-04-25
一,什麼是scp

scp是 下基於ssh登陸進行安全的遠端檔案複製 。scp 可以在 伺服器之間複製檔案和目錄.scp使用ssh安全協議傳輸資料,具有和ssh一樣的驗證機制,從而安全的遠端複製檔案。

從一個linux系統中上傳,下載檔案或目錄時,用的最多的是ftp,用ftp的話,要登入,登入後要進行目錄的切換,在get和put,感覺挺麻煩的,並且用ftp比較慢的,特別是有圖形介面的ftp(例如:gftp)。當然我們可以用rsync,用它呢,就必須保持二個伺服器間的目錄啊,檔案要一樣,適用範圍就受到限制了,方法有很多。scp還是比較方便和快速的。

二,scp引數及說明
[root@tank test]# scp --help
usage: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2
-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)的選項。
三,scp例項
1,下載目錄
[root@test test]# scp -r root@172.30.4.42:/tmp/test2 ./

將172.30.4.42linux系統中/tmp/test2目錄copy到當前目錄下面,在這172.30.4.42前面加了root@,提示輸入密碼,如果不加呢,會提示你輸入使用者名稱和密碼

2,下載檔案
[root@test test]# scp 172.30.4.42:/tmp/test2/aaa.php ./

將172.30.4.42linux系統中/tmp/test2/aaa.php檔案copy到當前目錄下面

3,上傳目錄
[root@test test]# scp -r ./mytest 172.30.4.42:/tmp/test2

將當前目錄中的mytest目錄上傳到172.30.4.42伺服器/tmp/test2目錄下面。

4,上傳檔案
[root@test test]# scp ./mytest/password.php 172.30.4.42:/tmp/test2

將當前目錄中的mytest目錄下的 password.php 上傳到 172.30.4.42 伺服器 /tmp/test2 目錄下面。


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

相關文章