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 /home/daisy/full.tar.gz root@172.19.2.75:/home/root (然後會提示你輸入另外那台172.19.2.75主機的root使用者的登入密碼,接著就開始copy了),複製目錄加參數 -r 即可
從 遠程 複製到 本地scp root@/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz