若常使用 Linux 作業系統的人,應該會常常需要使用 scp
指令來傳輸檔案和目錄,這個指令全稱「Secure Copy」,即「安全複製」的意思,它是命令列上頭相當常用的程式,使用 SSH 安全加密傳輸的方式(請記得確認遠端伺服器有啟用 SSH,才可以使用 SCP 喔!),可將本地端的資料複製(上傳)到遠端,也能將將遠端的資料複製(下載)到本地端,甚至能將遠端的資料複製(傳輸)到另一台遠端伺服器上頭,簡單來說就是兩台機器間的檔案傳輸都可以用上它,非常方便。
指令:scp [options] user@src_server:src_file user@dest_server:dest_file
說明
[options]
是 scp 支援的選項,以下列出幾個:
- -B 批次模式(可防止索取密碼或通行碼)
- -C 壓縮模式(傳輸檔案時啟用壓縮,可節省傳輸量)
- -c 用於加密數據傳輸的密碼
- -i 使用公開金鑰認證(私鑰檔)登入伺服器
- -l 使用 Kbit/s 單位指令頻寬限制
- -P 指定遠端的 SSH 傳輸埠(預設傳輸埠為 22)
- -p 保留檔案修改時間與權限
- -r 連同所含子目錄之複製,否則將只傳輸該目錄底下的檔案(遞迴複製檔案)
- -v 顯示傳輸進度與相關資訊(本地複製無法顯示進度)
- -4 強制使用 IPv4 來傳輸
- -6 強制使用 IPv6 來傳輸
user@src_server:src_file
即來源使用者帳號、伺服器位址及檔案或目錄的完整路徑,舉例:root@192.168.1.105:test.txt
。
user@dest_server:dest_file
即目的地使用者帳號、伺服器位址及檔案或目錄的完整路徑,若是本地,可忽略使用者帳號、伺服器位置,舉例:C:\Users\user\Desktop\
,這樣就代表要將檔案傳輸至本機 Windows 作業系統的桌面上。
若用公開金鑰認證(私鑰檔)登入伺服器,就可以不用輸入密碼進行傳輸,更加方便!舉例:scp -i C:\Users\user\Desktop\key\key root@192.168.1.105:test.txt C:\Users\user\Desktop\test
,指令詳細解釋是用指定路徑中的私鑰檔來登入 192.168.1.105 的 root 帳號,接著將 test.txt 檔案傳輸至本機的 C:\Users\user\Desktop\test,即桌面下的 test 目錄。
若要限速傳輸,可以在 [options]
中加入 -l 500
,即限速為 500 Kbit/s。其他選項也是一樣的做法喔!
附上 scp 傳輸 test.txt 時留下的預設資訊:test.txt 100% 5 0.1KB/s 00:00
▲ 本文精選圖片。
[完]
留言區 / Comments
萌芽論壇