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.75WordPress 主機的 root 使用者的登入密碼,接著就開始 copy 了),複製目錄加引數 -r 即可
從 遠端 複製到 本地
scp root@/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz