1. 程式人生 > >Mac終端上傳、下載檔案到阿里雲伺服器Ubuntu18.04

Mac終端上傳、下載檔案到阿里雲伺服器Ubuntu18.04

這裡直接在終端用scp命令進行傳輸,scp是secure copy即安全傳輸的簡寫,是用於在Linux下進行遠端拷貝檔案的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝,而scp是跨伺服器傳輸並且是加密的。

scp的幫助資訊
ElonJelinek:Desktop ElonJelinek$ scp --help
scp: illegal option -- -
usage: scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[
[email protected]
]host1:]file1 ... [[[email protected]]host2:]file2 ElonJelinek:Desktop ElonJelinek$
引數釋義

-P大寫的P,表示指定埠,一般會使用預設埠,所以該引數可省略 -r小寫的r,用於傳輸資料夾,表示遞迴複製整個目錄 -l小寫的L,limit,限定使用者所能使用的頻寬,以Kbit/s為單位 -i小寫的i,identity_file,從指定檔案中讀取傳輸時使用的金鑰檔案,此引數直接傳遞給ssh -F ssh_config,指定一個替代的ssh配置檔案,此引數直接傳遞給ssh -c

小寫的c,cipher,以cipher將資料傳輸進行加密,這個選項將直接傳遞給ssh -o小寫的o,指定使用的ssh選項

上傳語法:scp /本地檔案路徑/本地檔名 伺服器使用者名稱@伺服器IP:路徑 冒號後面為空,表示上傳至根目錄

上傳示例

注意,這裡@後面,既可以寫伺服器地址,也可以寫與IP繫結的域名

ElonJelinek:Desktop ElonJelinek$ ls
mygo.go                                   螢幕快照 2018-03-27 下午5.55.57.png
mysql-apt-config_0.8.10-1_all.deb         螢幕快照 2018
-03-27 下午6.01.12.png ElonJelinek:Desktop ElonJelinek$ pwd mygo.go /Users/ElonJelinek/Desktop ElonJelinek:Desktop ElonJelinek$ cat /Users/ElonJelinek/Desktop/mygo.go package main import "fmt" func main() { fmt.Println("Hello world!") } ElonJelinek:Desktop ElonJelinek$ scp /Users/ElonJelinek/Desktop/mygo.go [email protected].com: [email protected].com's password: mygo.go 100% 74 9.4KB/s 00:00 ElonJelinek:Desktop ElonJelinek$
在伺服器檢視檔案
[email protected]:~# ls
go  main.go  mygo.go  test  update_source.sh  update_source.tgz
[email protected]:~# cat mygo.go
package main

import "fmt"

func main() {
  fmt.Println("Hello world!")
}
[email protected]:~# 
上傳MySQL依賴檔案
scp /Users/ElonJelinek/Desktop/mysql-apt-config_0.8.10-1_all.deb [email protected].com:

過程

ElonJelinek:Desktop ElonJelinek$ pwd mysql-apt-config_0.8.10-1_all.deb 
/Users/ElonJelinek/Desktop
ElonJelinek:Desktop ElonJelinek$ scp /Users/ElonJelinek/Desktop/mysql-apt-config_0.8.10-1_all.deb [email protected].com:
[email protected].com's password: 
mysql-apt-config_0.8.10-1_all.deb                  100%   35KB  95.6KB/s   00:00    
ElonJelinek:Desktop ElonJelinek$ 

在伺服器檢視

[email protected]:~# ls
go  mygo.go  mysql-apt-config_0.8.10-1_all.deb  update_source.sh  update_source.tgz
[email protected]:~# 

下載檔案語法:scp 伺服器使用者名稱@伺服器IP:路徑/檔名 /本地檔案路徑

下載示例
ElonJelinek:Desktop ElonJelinek$ pwd
/Users/ElonJelinek/Desktop
ElonJelinek:Desktop ElonJelinek$ scp [email protected].com:mygo.go /Users/ElonJelinek/Desktop
[email protected].com's password: 
mygo.go                                            100%   74    11.9KB/s   00:00    
ElonJelinek:Desktop ElonJelinek$ ls
mygo.go                                   螢幕快照 2018-09-27 下午6.01.12.png
螢幕快照 2018-09-27 下午5.55.57.png
ElonJelinek:Desktop ElonJelinek$ 
上傳資料夾

只需多加一個-r即可

ElonJelinek:~ ElonJelinek$ scp -r /Users/ElonJelinek/Desktop/newDir [email protected].com:
[email protected].com's password: 
test.txt                                           100%    0     0.0KB/s   00:00    
ElonJelinek:~ ElonJelinek$ 
下載資料夾
ElonJelinek:Desktop ElonJelinek$ scp -r [email protected].com:newDir /Users/ElonJelinek/Desktop/
[email protected].com's password: 
test.txt                                           100%    0     0.0KB/s   00:00    
ElonJelinek:Desktop ElonJelinek$