Tim Blog

[Mac] Mac上傳下載檔案到遠端Linux主機

2023/02/04

SCP全稱Secure Copy,用於不同主機之間的網路傳輸方式,在Mac和Linux中是內建的語法,語法如下所示:

Syntax:

scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]

    [-l limit] [-o ssh_option] [-P port] [-S program]

    [user@host1:]file1 [user@host2:]file2

藍色字體主機位置的文件傳送到紅色字體主機位置,可以記憶為to,不管是主機是遠端還是本地端,依照前面位置往後面位置送檔案的概念記憶。然後其他黑色[ ]字體是可選參數,可用可不用。記得前後主機中間要空格,跟不同可選參數一樣要空格。以下是個參數說明:

常用參數介紹:

4 : 強制利用IPv4的協定傳輸

6:強制利用IPv6的協定傳輸

p : 保留複製檔案的原始權限和詳細資料

r :遞迴處理(傳輸資料夾底下所有檔案)

v :  顯示傳輸進度與資訊

l :限制網路頻寬,單位為 Kbit/s

P : 目標主機的埠號(一般SSH預設是22,如有不同請修改)

以下兩個簡易範例:

1. 把遠端主機檔案複製「下載」到本機

Syntax :

scp 使用者名稱@伺服器ip:遠端路徑檔名 本機目標路徑

EX:

scp ubuntu@122.116.110.1:/var/www/html/tw/blog/index.html /Users/tim/Desktop

2. 把本機端檔案複製「上傳」到遠端伺服器

Syntax :

scp 本機路徑檔名 使用者名稱@伺服器ip:遠端目標路徑(or檔名)

EX:

scp /Users/tim/Desktop/index.html ubuntu@122.116.110.1:/var/www/html/tw/blog/index.html

Reference :

[1] https://www.gushiciku.cn/pl/2G51/zh-tw

[2] https://jasminmin.com/2020-01-30-mac-terminal/

[3]https://it.givemepower.net/linux-command-scp-remote-encrypted-copy-directory-and-file/

Edit by http://www.hangsian.com/tw/blog/