12個scp傳輸檔案的命令栗子
一直在用scp進行簡單的遠端複製檔案的功能,今天無意間看到一篇介紹scp的文章,便想著學習學習並將其翻譯了過來。原文戳這裡。翻譯不對的地方,敬請指正。
另外我最近搭建了個新的部落格。戳這裡進去:voidy's blog。歡迎在新部落格留下足跡~以後也會不定時在此更新。好了,開始講scp傳輸。
安全複製
scp(secure copy)是乙個在各個主機之間進行複製或者檔案傳輸的乙個命令列工具。它使用一種同ssh一樣的安全機制。事實上,它在後台使用ssh連線來進行檔案的傳輸。scp既指一種定義安全複製應該如何工作的協議,也指一種可以被安裝的作為openssh工具套的一部分的軟體或是指令。
在這篇簡單的教程中,我們可以看到一些scp指令的栗子以及如何使用它進行安全的檔案傳輸。
使用scp
scp的基礎語法很容易記憶,它看起來就像醬紫:
1 $ scp source_file_path destination_file_path根據不同的主機,檔案路徑應該包擴:完整的主機位址,埠號,使用者名稱,密碼以及檔案路徑。
所以如果你正在從你的本地計算機「傳送」檔案到遠端計算機(上傳)的語法是這樣的:
1 $ scp ~/my_local_file.txt user@remote_host.com:/some/remote/directory
1 $ scp user@remote_host.com:/some/remote/directory ~/my_local_file.txt這裡很多是有關用scp來完成常規任務的。除了這些,scp也支援很多其他的選項和功能。讓我們快速看一下他們的綜述。23 # just download the file
4 $ scp [email protected]:/some/path/file.txt .
沒錯,預設情況下,scp總是覆蓋目標位址的檔案。如果你想避免它,那就使用功能更為強大的rsync工具吧。
一、詳細輸出
有了詳細的輸出,scp的程式將輸出大量關於它在後台做什麼的資訊。當程式失敗或無法完成請求時這是非常有用的。詳細的輸出將正確的指明該程式**出了問題。
栗子:
1 $ scp -v ~/test.txt [email protected]:/root/help2356.txt輸出的資訊將會很多,而且包含有關連線如何建立,正在使用什麼配置和認證檔案等等的詳細資訊。2 executing: program /usr/bin/ssh host 192.168.1.3, user root, command scp -v -t /root/help2356.txt
3 openssh_6.2p2 ubuntu-6ubuntu0.1, openssl 1.0.1e 11 feb 2013
4 debug1: reading configuration data /home/enlightened/.ssh/config
5 debug1: reading configuration data /etc/ssh/ssh_config
7 debug1: connecting to 192.168.1.3 [192.168.1.3] port 22.
8 debug1: connection established.
9 ..... output truncated
二、多檔案傳輸
多個檔案可以像下面那樣用空格分隔開
栗子:
1 $ scp foo.txt bar.txt username@remotehost:/path/directory/從遠端主機複製多個檔案到當前目錄
栗子:
1 $ scp username@remotehost:/path/directory/\ .三、複製整個資料夾(遞迴)23 $ scp [email protected]:~/\ .
為了從乙個主機往另乙個主機複製整個資料夾,需要使用r switch並且指定目錄
栗子如下:
1 $ scp -v -r ~/downloads [email protected]:/root/downloads四、在兩個遠端主機之間複製檔案
scp也可以把檔案從乙個遠端主機複製到另乙個遠端主機。
舉個栗子:
1 $ scp user1@remotehost1:/some/remote/dir/foobar.txt user2@remotehost2:/some/remote/dir/乙個用於加快傳輸,節省時間和頻寬的超酷的選項!你所需要做的就是用c選項來啟用壓縮功能。該檔案在傳輸過程中被壓縮,在目的主機上被解壓縮。
栗子如下:
1 $ scp -vrc ~/downloads [email protected]:/root/downloads在上面的栗子中我們開啟壓縮選項移動了整個資料夾。速度的增長取決於多少檔案能被壓縮。
如果你不想scp占用所有的頻寬,那麼用選項「l」來限制最大傳輸速度,kbit/s
栗子如下:
1 $ scp -vrc -l 400 ~/downloads [email protected]:/root/downloads如果遠端伺服器有ssh守護程序執行在不同的埠上(預設是22),那麼你需要告訴scp使用「-p」選項來使用指定的埠。
栗子如下:
1 $ scp -vc -p 2200 ~/test.txt [email protected]:/some/path/test.txt「-p」選項(小寫),將會儲存原始檔的修改時間,訪問時間以及方式。
舉例如下:
1 $ scp -c -p ~/test.txt [email protected]:/some/path/test.txt在安靜模式(「-p」選項),scp輸出將會減少,並且不再顯示進度表以及警告和診斷資訊。
栗子如下:
1 $ scp -vcq ~/test.txt [email protected]:/some/path/test.txt當使用基於秘鑰認證(無密碼)。你將使用特殊的包含私有秘鑰的標識檔案。這個選項直接傳遞到ssh命令並且以同樣的方式工作。
舉個栗子:
1 $ scp -vcq -i private_key.pem ~/test.txt [email protected]:/some/path/test.txt用」f」選項指定不同的ssh_config檔案
栗子如下:
1 $ scp -vc -f /home/user/my_ssh_config ~/test.txt [email protected]:/some/path/test.txtscp預設使用aes加密,有時候你可能想使用不同的加密。用不同的加密可能會加快轉移過程,舉例來說,blowfish和arcfour被認為比aes更快的存在(但是安全上不如aes)。
舉個栗子:
1 $ scp -c blowfish -c ~/local_file.txt username@remotehost:/remote/path/file.txt在上面的栗子中我們用blowfish加密並同時壓縮,這可以得到顯著的速度上的提公升,當然也取決於可用的頻寬。
儘管scp在安全地傳輸檔案方面是非常有效的,它缺乏乙個檔案同步工具必要的功能。它所能做的就是複製貼上上述所有檔案從乙個位置到另乙個位置。
乙個更強大的工具的rsync它不僅具有scp的所有功能,而且增加了更多的功能用來在2個主機智慧型同步檔案。例如,它可以檢查並上傳只有修改過的檔案,忽略現有的檔案等等。
##################################
**:
12個scp傳輸檔案的命令栗子
12個scp傳輸檔案的命令栗子 一直在用scp進行簡單的遠端複製檔案的功能,今天無意間看到一篇介紹scp的文章,便想著學習學習並將其翻譯了過來。安全複製 scp secure copy 是乙個在各個主機之間進行複製或者檔案傳輸的乙個命令列工具。它使用一種同ssh一樣的安全機制。事實上,它在後台使用s...
12個scp傳輸檔案的命令栗子
12個scp傳輸檔案的命令栗子 一直在用scp進行簡單的遠端複製檔案的功能,今天無意間看到一篇介紹scp的文章,便想著學習學習並將其翻譯了過來。原文戳這裡。翻譯不對的地方,敬請指正。另外我最近搭建了個新的部落格。戳這裡進去 voidy s blog。歡迎在新部落格留下足跡 以後也會不定時在此更新。好...
12個scp命令傳輸檔案的例子
scp secure copy 是乙個在各個主機之間進行複製或者檔案傳輸的乙個命令列工具。它使用一種同ssh一樣的安全機制。事實上,它在後台使用ssh連線來進行檔案的傳輸。scp既指一種定義安全複製應該如何工作的協議,也指一種可以被安裝的作為openssh工具套的一部分的軟體或是指令。在這篇簡單的教...