Linux 拷貝命令之高階拷貝scp命令詳解

jichuanlau07發表於2014-03-13
        首先,很感謝 ITPub網站,能提供這麼一個平臺,讓我能將自己平時工作、學習中的收穫與大家分享、一起進步,共同提高。

        話說 2013年的11月份,我離開了工作四年之久的單位,開始了新的求職之旅。
        經朋友介紹,去一家小有名氣的網際網路公司面試資料庫管理工作。面試的過程中,面試官一共問了三類問題:Linux作業系統、網路、資料庫。結果,自己死在了作業系統上。
        回家之後,經過總結、發現自己存在資料庫的短板,不想再出現類似的經歷,於是決定奮發圖強。下面將自己的心酸過程與大家分享。

        大致是經歷瞭如下幾個階段:
        1、放棄了Windows OS的使用,將個人的工作、學習環境換成了 OPENSuse 13.1 (Linux)。
        2、摸索、熟悉Linux環境的使用。
        3、漸漸熟悉、順手。
        4、習慣了Linux工作環境,感覺像使用Windows 一樣好使了。

       寫上面的內容,並沒有對任何技術的歧視,只是自己的習慣而已,大家不要噴我。
      
        就在我面試回來之後的第二天,我在網上找了一些資料學習Linux, 基本都是介紹命令的使用,本人搞技術出身,深知技術的學習需要一次一次的實踐,正印證了陸游的一句詩:“紙上得來終覺淺,絕知此事要躬行”。學習Linux,系統必不可少, 糾結於選擇哪個Linux Distribution, 通過各種搜尋,參考各種論壇,最終得到一個結論:各個發行版都是基於Linux 核心開發的,底層都是一樣的,只是上層略有不同。最後,選擇了開源、免費、個人使用者還算比較多的OPENSuse。

       確定好了發行版本,動手開始做吧。下載安裝介質,燒錄光碟,安裝系統,直到最後登入進Desktop。感覺不錯,總算用上了。
厄運終於開始了,檔案找不到,打不開Word文件等等。。。。。。。。
一個一個困難克服吧,安裝LibreOffice,開啟Word文件,適應Linux的檔案結構。。。。。。。
總之,感覺就是在自虐呢。

          人們都是在Windows上安裝Linux虛擬機器,我要反其道而行之。在Linux上面安裝Windows,工作、學習的時候用Linux,娛樂、寫Word 文件的時候用Windows。
通過幾天的嘗試,終於實現了以上的設想,在Linux上面安裝了Virtualbox, 在其上安裝Window作業系統,感覺不錯,贊一個。

          平時,開機的時候,啟動模式將預設的5修改成了 3, 輸入賬戶,口令,進入系統,執行命令,啟動X Window, 等等,總之,就是能用命令絕不點選滑鼠。

          說了半天無關的話題,下面該進入正題了。
          我計劃將Linux的常用命令通過聯機文件的方式,給大家翻譯出來,加入自己的一些例子,讓不太對英語感冒的夥伴們參考,也算是為IT 技術做了一點小小的貢獻吧。
至於能夠堅持做多少,我也不敢保證,先給自己下定一個初步的任務吧。
          Liuux 命令常用的有如下幾大類:
PRE.cjk { font-family: "WenQuanYi Micro Hei Mono",monospace; }PRE.ctl { font-family: "Droid Sans Devanagari",monospace; }P { margin-bottom: 0.08in; }
1、檔案系統
2、程式管理
3、系統環境 	
4、文字處理	
5、壓縮、解壓縮 	
6、網路	
7、其他 

按照每週3個的進度,一年下來150多個,基本可以將常用到的命令都涵蓋到。現在,開始我的第一個Linux命令scp吧。
scp — secure copy (remote file copy program):她是一個安全的遠端檔案拷貝程式。

            SYNOPSIS :語法如下
            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
           
            看到上面各種引數、選項蒙了吧。不過,沒有關係,我們化整為零,一個一個來分析。
            其實,這個命令和我們平時使用的cp 十分的相似。

          scp 最簡單的用法就是 scp [[user@]host1:]file1 ... [[user@]host2:]file2 ,能看懂麼?
          看不懂也沒有關係,舉個例子吧: 我要從192.168.1.2的Linux 主機的/home/oracle/*.tar 檔案 拷貝到 192.168.1.3 的Linux主機的 /home/siebel下,就可以仿照上面的格式寫成:
          scp oracle@192.168.1.2:/home/oracle/*.tar  siebel@192.168.1.3:/siebel/
          輸入完了以上命令,回車換行確認,可能會讓你輸入口令,根據提示輸入口令吧。
          第一次執行的時候,出現如下錯誤:ssh: connect to host 192.168.1.99 port 22: Connection refused, 於是將 sshd 程式啟動,執行指令碼: # /etc/init.d/sshd start, 成功解決以上問題。

          至於該命令的其他引數,平時工作之中基本用不到,所以,不舉例了,簡單給大家翻譯一下吧,以做參考。

DESCRIPTION : 描述
     scp copies files between hosts on a network.  It uses ssh(1) for data transfer, and uses the same authentication and provides the same security as ssh(1).  Unlike rcp(1), scp will ask for passwords or passphrases if they are needed for authentication.
     scp 在網路主機之間拷貝資料,她使用ssh(1)來進行資料傳輸,同時使用相同的安全驗證方式。不象 rcp(1), scp 在必要的時候,會詢問口令。

    The options are as follows:
     具體的選項如下所示:
     -1      Forces scp to use protocol 1.
               強制 scp 使用協議1

     -2      Forces scp to use protocol 2.
              強制 scp 使用協議2

     -3      Copies between two remote hosts are transferred through the local host.  Without this option the data is copied
             directly between the two remote hosts.  Note that this option disables the progress meter.
              通過本機主機在兩個遠端主機之間傳輸資料。沒有這個選項,資料將直接在遠端主機間拷貝資料。 注意:這個選項不支援進度條顯示。

     -4      Forces scp to use IPv4 addresses only.
              強制scp只使用IPV4地址。

     -6      Forces scp to use IPv6 addresses only.
               強制scp只使用IPV6地址。


     -B      Selects batch mode (prevents asking for passwords or passphrases).
               使用批量模式(避免詢問金鑰或者口令)

     -C      Compression enable.  Passes the -C flag to ssh(1) to enable compression.
              啟用壓縮。傳遞-C引數給SSH以啟用壓縮

     -c cipher
             Selects the cipher to use for encrypting the data transfer.  This option is directly passed to ssh(1).
             選擇密碼加密資料傳輸,這個選項被直接傳遞給ssh(1)。

     -F ssh_config
             Specifies an alternative per-user configuration file for ssh.  This option is directly passed to ssh(1).
            為ssh指定一個互動的使用者配置檔案,這個選項被直接傳遞給ssh(1)。

     -l limit
             Limits the used bandwidth, specified in Kbit/s.
             限制使用的頻寬,以Kb為單位。

 
     -P port
             Specifies the port to connect to on the remote host. 
             在遠端主機上指定連結埠
 
     -q      Quiet mode
               靜默模式:

     -r      Recursively copy entire directories
              遞迴拷貝整個目錄

     -S program
             Name of program to use for the encrypted connection.  The program must understand ssh(1) options.
              用來加密連結的程式。這個程式需要能夠識別ssh(1)的選項。

EXIT STATUS
執行後狀態
     The scp utility exits 0 on success, and >0 if an error occurs.
     scp 工具命令當成功執行後,返回程式碼為0, 任何錯誤出現返回程式碼都大於0.

     好啦,以上的翻譯有一些刪減,大家見諒。

       今天的部落格暫時寫到這裡吧,我也該回家了,女朋友一個人在家做飯,再不回去我要批評我了,做個好孩子啦。
   







來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23628945/viewspace-1118090/,如需轉載,請註明出處,否則將追究法律責任。

相關文章