Linux命令 --- cp與scp

工程師WWW發表於2014-02-07

Linux為我們提供了兩個用於檔案copy的命令,一個是cp,一個是scp,但是他們略有不同。

  • cp   --- 主要是用於在同一臺電腦上,在不同的目錄之間來回copy檔案
  • scp --- 主要是在不同的Linux系統之間來回copy檔案

關於cp的具體用法
命令基本格式:
         cp [OPTIONS] SOURCE DEST    --- 從源路徑copy檔案到目的路徑
         cp [OPTIONS] SOURCE...  DIRECTORY   --- 將多個原始檔copy到指定的目錄(多個原始檔用空格分隔)

OPTIONS:
         -a same as -dpR 儘可能將原始檔狀態、許可權等資料都照原裝予以複製,並且是遞迴copy;
         -r  表示遞迴copy,若source中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地;
         -f  表示force,若目的地已經有相同檔名的檔案存在,則在複製前先予以刪除再行復制;
範例:
         1. 將檔案 aaa 複製(已存在),並命名為 bbb:
                     cp aaa bbb
         2. 將所有的C語言程式拷貝至 Finished 子目錄中:
                     cp *.c Finished/

 

關於scp的具體用法

 

不同的Linux之間copy檔案常用有3種方法:

第一種就是ftp,也就是其中一臺Linux安裝ftp Server,這樣可以在另外一臺機器使用ftp的client程式來進行檔案的copy。
第二種方法就是採用samba服務,類似Windows檔案copy 的方式來操作,比較簡潔方便。
第三種就是利用scp命令來進行檔案複製。

scp是有Security的檔案copy,基於ssh登入。

命令基本格式: 
       scp [OPTIONS] file_source file_target

 

OPTIONS: 
-v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來檢視連線、認證、 或是配置錯誤
-C 使能壓縮選項
-P 選擇埠 . 注意 -p 已經被 rcp 使用


從 本地 複製到 遠端 
scp -P 22 /home/daisy/full.tar.gz      root@172.19.2.75:/home/root(然後會提示你輸入另外那臺172.19.2.75主機的root使用者的登入密碼,接著就開始copy了),複製目錄加引數 -r 即可

從 遠端 複製到 本地
scproot@/172.19.2.75:/home/root/full.tar.gz      /home/daisy/full.tar.gz

相關文章