1. 程式人生 > 其它 >從Linux伺服器下載資料夾或檔案到本地,本地上傳檔案或資料夾至伺服器

從Linux伺服器下載資料夾或檔案到本地,本地上傳檔案或資料夾至伺服器

技術標籤:linuxssh

要實現這些功能,需要使用到 scp

Linux scp 命令用於 Linux 之間複製檔案和目錄。
scp 是 secure copy 的縮寫, scp 是 linux 系統下基於 ssh 登陸進行安全的遠端檔案拷貝命令。

一. 從本地複製到遠端伺服器

  • 複製檔案至遠端伺服器
scp local_file [email protected]_ip:remote_folder 

用例如下
1.保持檔名不變 ; 2.重新命名檔案

 1. scp /home/my_work/hello_word.php [email protected].202.
151.8:/home/project 2. scp /home/my_work/hello_word.php [email protected].202.151.8:/home/project/hello_word_new_name.php
  • 複製資料夾至遠端伺服器
scp -r local_folder [email protected]_ip:remote_folder 

用例如下
下面命令將本地 my_work 目錄複製到遠端 project 目錄下。

scp -r /home/my_work/ [email protected].202.151.8:/home/project/

二. 從遠端伺服器複製到本地

從遠端複製到本地,只要將從本地複製到遠端的命令的後2個引數調換順序即可,如下例項

 1. scp [email protected].202.151.8:/home/project/hello_word.php /home/my_work/
 2. scp -r [email protected].202.151.8:/home/project/ /home/my_work/ 

三.說明

1.如果遠端伺服器防火牆有為scp命令設定了指定的埠,我們需要使用 -P 引數來設定命令的埠號,命令格式如下:

#scp 命令使用埠號 4588
scp -P 4588 [email protected]
.202.151.8:/home/project/hello_word.php /home/my_work/

2.使用scp命令要確保使用的使用者具有可讀取遠端伺服器相應檔案的許可權,否則scp命令是無法起作用的。

四. SCP引數說明

  • -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)的選項。