SCP(Secure Copy)
Linux中的scp命令是用來進行遠程檔案拷貝的,資料轉送使用ssh,並且和ssh使用相同的認證方式,提供相同的安全保證。這是一個非常方便有用的命令,在兩台伺服器之間直接傳送檔案,僅僅用 一個scp命令就完全解決了。scp在需要進行驗證時會要求你輸入對方的密碼或口令。
基本命令文法
從本地複製到遠程:scp [選擇性參數] 本機使用者名@IP地址:本地路徑 遠端使用者名@IP地址:遠程路徑
從遠程複製到本地:scp [選擇性參數] 遠端使用者名@IP地址:遠程路徑 本機使用者名@IP地址:本地路徑
- [本機使用者名@IP地址:]這一項可以不輸入。
- 如果不輸入[遠端使用者名@],那麼命令執行後會要求使用者輸入。
- 命令執行後可能需要輸入遠端使用者的密碼。通常第一次傳輸時需要輸入密碼,系統重啟後也會視為第一次傳輸。
- 選擇性參數 :
-v 和大多數linux命令中的-v意思一樣, 用來顯示命令執行過程中的具體資訊,可以用來查看串連、認證或是配置錯誤。
-C 啟用壓縮選項。
-P 選擇連接埠,注意-p已經被rcp使用。
-4 強行使用IPV4地址。
-6 強行使用IPV6地址。
-r 用於傳送目錄時,遞迴傳送子目錄與子檔案。
舉個栗子
從本地複製到遠程
- scp local_file remote_username@remote_ip:remote_folder
- scp local_file remote_username@remote_ip:remote_file
- scp local_file remote_ip:remote_folder
- scp local_file remote_ip:remote_file
第1、2個指定了遠端使用者名:第1個指定了遠程目錄名,即將本地檔案複製到遠程目錄下,檔案名稱字不變;第2個指定了遠程檔案名稱,即將本地檔案複製並重新命名成遠程檔案。
第3、4個沒有指定使用者名稱,命令執行後需要輸入使用者名稱:第3個指定了遠程目錄名,情況同上;第3個指定了遠程檔案名稱,情況同上。
- scp /home/dir/1.mp3 root@192.168.1.110:/home/root/others
- scp /home/dir/1.mp3 root@192.168.1.110:/home/root/others/001.mp3
- scp /home/dir/1.mp3 192.168.1.110:/home/root/others
- scp /home/dir/1.mp3 192.168.1.110:/home/root/others/001.mp3
- scp -r local_folder remote_username@remote_ip:remote_folder
- scp -r local_folder remote_ip:remote_folder
第1個指定了使用者名稱:將本地目錄遞迴複製到遠程目錄下。
第2個沒有指定使用者名稱,命令執行後需要輸入使用者名稱:將本地目錄遞迴複製到遠程目錄下。
- scp -r /home/dir root@192.168.1.110:/home/root/others/
- scp -r /home/dir 192.168.1.110:/home/root/others/
從遠程複製到本地
只要將“從本地複製到遠程”的命令中的本地與遠程資訊調換位置即可。
- scp root@192.168.1.110:/home/root/others /home
- scp -r 192.168.1.110:/home/root/others /home