Linux命令之遠程文件傳輸-scp

轉載自:http://www.vpser.net/manage/scp.html
一、scp是什麼?

scp是secure copy的簡寫,用於在Linux下進行遠程拷貝文件,scp傳輸是加密的,數據傳輸使用 ssh1, 並且和 ssh1 使用相同的認證方式,提供相同的安全保證。與rcp不同的是,scp會要求你輸入密碼。

二、scp有什麼用?

1、我們需要獲得遠程服務器上的某個文件,遠程服務器既沒有配置ftp服務器,沒有開啓web服務器,也沒有做共享,無法通過常規途徑獲得文件時,只需要通過scp命令便可輕鬆的達到目的。

2、我們需要將本機上的文件上傳到遠程服務器上,遠程服務器沒有開啓ftp服務器或共享,無法通過常規途徑上傳是,只需要通過scp命令便可以輕鬆的達到目的。

三、scp使用方法

1、獲取遠程服務器上的文件

scp root@host_ip:/root/tmp.log /home/tmp.log

root@host_ip 表示使用root用戶登錄遠程服務器host_ip;

:/root/tmp.log 表示遠程服務器上的文件;

/home/tmp.log 表示保存在本地上的路徑和文件名;

2、獲取遠程服務器上的目錄

scp -r root@host_ip:/root/tmp/ /home/tmp/
-r 參數表示遞歸複製(即複製該目錄下面的文件和目錄);

注意,傳輸文件夾時,要使用 -r 參數,不然會出現"not a regular file"錯誤!!

:/root/tmp/ 表示遠程服務器上的目錄;

/home/tmp/ 表示保存在本地上的路徑;

3、將本地文件上傳到服務器上

scp /home/tmp.log root@host_ip:/root/tmp.log

/home/tmp.log 表示本地上準備上傳文件的路徑和文件名;

:/root/tmp.log 表示保存在遠程服務器上目錄和文件名;

4、將本地目錄上傳到服務器上

scp -P 2222 -r /home/tmp/ root@host_ip:/root/tmp/

/home/tmp/ 表示準備要上傳的目錄;

5、可能有用的幾個參數 :

-v 和大多數linux命令中的-v意思一樣,用來顯示進度,可以用來查看連接,認證,或是配置錯誤;

-C 使能壓縮選項;

-4 強行使用IPV4地址;

-6 強行使用IPV6地址;

-P 選擇端口,注意-p已經被rcp使用;
-r 遞歸查找;

注意:

使用scp傳輸“文件夾”時,出現 not a regular file;其原因是傳輸文件夾時沒有加參數-r 導致。

所以在傳輸文件夾的時候,要使用 scp -r folder_dir user@host:folder_dir 來傳輸!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章