【轉載】原文:https://blog.csdn.net/u013091013/article/details/68941250 通常情況下,我門在同一臺伺服器拷貝數據最常用的命令便是cp,如果要在不同伺服器之間拷貝的話可以用scp命令。1、命令格式:scp [參數] [原路徑] [目標路徑]或者s ...
【轉載】原文:https://blog.csdn.net/u013091013/article/details/68941250
通常情況下,我門在同一臺伺服器拷貝數據最常用的命令便是cp,如果要在不同伺服器之間拷貝的話可以用scp命令。
1、命令格式:
scp [參數] [原路徑] [目標路徑]
或者
scp [參數] [目標路徑] [原路徑]
2、命令參數:
-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)的選項。
3、使用
從本地拷貝文件到伺服器
scp local_file remote_username@remote_ip:remote_folder
從伺服器拷貝文件到本地
scp remote_username@remote_ip:remote_file local_folder
從本地拷貝文件夾到伺服器
scp -r remote_username@remote_ip:remote_folder local_folder
從伺服器拷貝文件夾到本地
scp -r local_folder remote_username@remote_ip:remote_folder
4、後臺運行
一般,我們拷貝的文件都很大,想讓scp在後臺運行。通常我們要建立ssh 信任關係。即不輸入密碼就能拷貝,但是通常情況下這樣的條件不能滿足。可以用下麵的方法來實現後臺運行scp:
4.1 scp remote_username@remote_ip:remote_file local_folder
4.2 輸入密碼,回車。
4.3 Ctrl+z,掛起當前進程。
4.4 bg,讓掛起的進程繼續運行。
當然你也可以使用下麵的命令查看後臺任務或者將任務切換到前臺:
# jobs //查看任務,返回任務編號n和進程號
# bg %n //將編號為n的任務轉後臺運行
# fg %n //將編號為n的任務轉前臺運行
# ctrl+z //掛起當前任務
# ctrl+c //結束當前任務