[Linux] cp指令的用法 - 痞客興的部落格
文章推薦指數: 80 %
cp命令用來複製檔或者目錄,是Linux系統中最常用的命令之一。
一般情況下,shell會設置一個別名,在命令列下複製檔時,如果目的檔案已經存在,就會詢問 ...
關閉廣告
痞客興的部落格
跳到主文
歡迎光臨痞客興(CharlesLin)在痞客邦的小天地,這裡留下的是我做過,我看過,我感興趣的一些文章,記錄備忘也和大家分享.
部落格全站分類:數位生活
相簿
部落格
留言
名片
Aug08Sat201511:08
[Linux]cp指令的用法
cp命令用來複製檔或者目錄,是Linux系統中最常用的命令之一。
一般情況下,shell會設置一個別名,在命令列下複製檔時,如果目的檔案已經存在,就會詢問是否覆蓋,不管你是否使用-i參數。
但是如果是在shell腳本中執行cp時,沒有-i參數時不會詢問是否覆蓋。
這說明命令列和shell腳本的執行方式有些不同。
1.命令格式:
用法:
cp [選項]... [-T] 源 目的
或:cp [選項]... 源... 目錄
或:cp [選項]... -t 目錄 源...
2.命令功能:
將原始檔案複製至目的檔案,或將多個原始檔案複製至目標目錄。
3.命令參數:
-a, --archive 等於-dR --preserve=all
--backup[=CONTROL 為每個已存在的目的檔案創建備份
-b 類似--backup 但不接受參數
--copy-contents 在遞迴處理是複製特殊檔內容
-d 等於--no-dereference --preserve=links
-f, --force 如果目的檔案無法打開則將其移除並重試(當 -n 選項
存在時則不需再選此項)
-i, --interactive 覆蓋前詢問(使前面的 -n 選項失效)
-H 跟隨原始檔案中的命令列符號連結
-l, --link 連結檔而不複製
-L, --dereference 總是跟隨符號連結
-n, --no-clobber 不要覆蓋已存在的檔(使前面的 -i 選項失效)
-P, --no-dereference 不跟隨原始檔案中的符號連結
-p 等於--preserve=模式,所有權,時間戳記
--preserve[=屬性清單 保持指定的屬性(預設:模式,所有權,時間戳記),如果
可能保持附加屬性:環境、連結、xattr 等
-R, -r, --recursive 複製目錄及目錄內的所有專案
4.命令實例:
實例一:複製單個檔到目標目錄,檔在目的檔案中不存在
命令:
cp log.log test5
輸出:
[root@localhost test]# cp log.log test5
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 14:48 log.log
drwxr-xr-x 6 root root 4096 10-27 01:58 scf
drwxrwxrwx 2 root root 4096 10-28 14:47 test3
drwxr-xr-x 2 root root 4096 10-28 14:53 test5
[root@localhost test]# cd test5
[root@localhost test5]# ll
-rw-r--r-- 1 root root 0 10-28 14:46 log5-1.log
-rw-r--r-- 1 root root 0 10-28 14:46 log5-2.log
-rw-r--r-- 1 root root 0 10-28 14:46 log5-3.log
-rw-r--r-- 1 root root 0 10-28 14:53 log.log
說明:
在沒有帶-a參數時,兩個檔的時間是不一樣的。
在帶了-a參數時,兩個檔的時間是一致的。
實例二:目的檔案存在時,會詢問是否覆蓋
命令:
cp log.log test5
輸出:
[root@localhost test]# cp log.log test5
cp:是否覆蓋“test5/log.log”? n
[root@localhost test]# cp -a log.log test5
cp:是否覆蓋“test5/log.log”? y
[root@localhost test]# cd test5/
[root@localhost test5]# ll
-rw-r--r-- 1 root root 0 10-28 14:46 log5-1.log
-rw-r--r-- 1 root root 0 10-28 14:46 log5-2.log
-rw-r--r-- 1 root root 0 10-28 14:46 log5-3.log
-rw-r--r-- 1 root root 0 10-28 14:48 log.log
說明:
目的檔案存在時,會詢問是否覆蓋。
這是因為cp是cp -i的別名。
目的檔案存在時,即使加了-f標誌,也還會詢問是否覆蓋。
實例三:複製整個目錄
命令:
輸出:
目標目錄存在時:
[root@localhost test]# cp -a test3 test5
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 14:48 log.log
drwxr-xr-x 6 root root 4096 10-27 01:58 scf
drwxrwxrwx 2 root root 4096 10-28 14:47 test3
drwxr-xr-x 3 root root 4096 10-28 15:11 test5
[root@localhost test]# cd test5/
[root@localhost test5]# ll
-rw-r--r-- 1 root root 0 10-28 14:46 log5-1.log
-rw-r--r-- 1 root root 0 10-28 14:46 log5-2.log
-rw-r--r-- 1 root root 0 10-28 14:46 log5-3.log
-rw-r--r-- 1 root root 0 10-28 14:48 log.log
drwxrwxrwx 2 root root 4096 10-28 14:47 test3
目標目錄不存在是:
[root@localhost test]# cp -a test3 test4
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 14:48 log.log
drwxr-xr-x 6 root root 4096 10-27 01:58 scf
drwxrwxrwx 2 root root 4096 10-28 14:47 test3
drwxrwxrwx 2 root root 4096 10-28 14:47 test4
drwxr-xr-x 3 root root 4096 10-28 15:11 test5
[root@localhost test]#
說明:
注意目標目錄存在與否結果是不一樣的。
目標目錄存在時,整個原始目錄被複製到目標目錄裡面。
實例四:複製的 log.log 建立一個連結檔 log_link.log
命令:
cp -s log.log log_link.log
輸出:
[root@localhost test]# cp -s log.log log_link.log
[root@localhost test]# ll
lrwxrwxrwx 1 root root 7 10-28 15:18 log_link.log -> log.log
-rw-r--r-- 1 root root 0 10-28 14:48 log.log
drwxr-xr-x 6 root root 4096 10-27 01:58 scf
drwxrwxrwx 2 root root 4096 10-28 14:47 test3
drwxrwxrwx 2 root root 4096 10-28 14:47 test4
drwxr-xr-x 3 root root 4096 10-28 15:11 test5
說明:
那個 log_link.log 是由 -s 的參數造成的,建立的是一個『快捷方式』,所以您會看到在檔的最右邊,會顯示這個檔是『連結』到哪裡去的!
轉自http://www.cnblogs.com/peida/archive/2012/10/29/2744185.html
文章標籤
linux
command
cp
全站熱搜
創作者介紹
痞客興
痞客興的部落格
痞客興發表在痞客邦留言(0)人氣()
E-mail轉寄
全站分類:數位生活個人分類:來玩Linux此分類上一篇:[Linux]nl指令的用法
此分類下一篇:[Linux]自動telnet免輸入密碼
上一篇:[Linux]nl指令的用法
下一篇:[English]A開頭的單字背誦20個字
歷史上的今天
2015:[Android]Android基本功-旋轉圖片postRotate
2015:[Android]Android基本功-顯示圖片ImageView
2015:[Android]Android基本功-AlertDialogPositiveButtonNegativeButtonNeutralButton使用
2015:[English]D開頭的單字背誦20個字
2015:[English]C開頭的單字背誦20個字
2015:[English]B開頭的單字背誦20個字
2015:[English]A開頭的單字背誦20個字
2015:[Linux]nl指令的用法
2015:[Linux]less指令的用法
2015:[Linux]whereis指令的用法
2015:[Linux]locate指令的用法
2015:[Linux]tar指令的用法
2015:[Linux]gzip指令的用法
2015:[Linux]wget指令的用法
2015:[Linux]scp指令的用法
2015:[Linux]traceroute的用法
2015:[Linux]ping指令的用法
2015:[Linux]route指令的用法
2015:[Linux]ifconfig指令的用法
2015:[Linux]lsof指令的用法
2015:[Linux]iostat指令的用法
2015:[Linux]vmstat指令的用法
2015:[Linux]top指令的用法
2015:[Linux]killall指令的用法
2015:[Android]Android基本功-AlertDialogPositiveButton的使用
▲top
留言列表
發表留言
C組廣告版面
活動快報
臺南牽手創作祭
創作分享臺南遊記,就有機會獲得旅遊獎勵金,總獎勵...
看更多活動好康
文章分類
綜合知識(3)
鄉土靈異(1)電的知識(7)綜合知識(143)
WEB應用(14)
來玩JQM(3)來玩Flash(1)ASP.NET(2)EasyUI(5)CGI(1)來玩CSS(5)來玩HTML(10)來玩drupal(29)來玩Nginx(8)來玩JavaScript(50)WEB應用(13)來玩Node.js(5)來玩PHP(31)來玩Apache(3)
資料庫應用(5)
來玩MSSQL(11)來玩SQLite(1)來玩MongoDB(10)來玩MySQL(21)來玩SQLRelay(2)
影音多媒體應用(5)
影音多媒體應用(12)來玩vlc(4)來玩RED5(1)來玩Wowza(32)FFmpeg(33)
來玩Linux(5)
來玩DHCP(1)來玩iptables(5)來玩Memcache(1)來玩Linux(147)shell(12)
來玩docker(22)成人話題(0)股市知識(2)程式設計(2)邦邦星3C共和國(2)時事記評(0)奇人奇事(3)手機測試(1)個人感想(3)外行看文學(1)來玩Arduino(1)健身減肥(46)免費資源(10)來玩C#(92)C語言的嫩咖行(15)雲端應用(13)趣味人生(29)來起七桃(6)來玩英文(7)電腦軟體(9)來玩JAVA(17)來玩Android(56)公司會計(2)手機應用(3)電腦硬體(2)來玩Winodws(48)來玩Bananapi(9)網管應用(21)來玩git(1)
QRCode
POWEREDBY
(登入)
參觀人氣
本日人氣:
累積人氣:
誰來我家
最新文章
回到頁首
回到主文
免費註冊
客服中心
痞客邦首頁
©2003-2021PIXNET
關閉視窗
延伸文章資訊
- 1第六章、Linux 檔案與目錄管理
說明在Linux 底下處理檔案與目錄的相關指令啊~^_^ ... 6.2.1 檔案與目錄的檢視: ls; 6.2.2 複製、刪除與移動: cp, rm, mv; 6.2.3 取得路徑的檔案 ...
- 2Linux 複製檔案cp 指令用法教學與範例 - GT Wang
在Linux 系統之中若要進行檔案或目錄的複製,可以使用 cp 指令,而除了簡單的複製檔案之外,此指令也具有額外的建立連結、自動備份等附加功能,以下是 cp ...
- 3如何使用Linux 終端複製檔案和目錄 - Delft Stack
我們在Linux 和Unix 作業系統中使用 cp 命令來複制檔案和目錄。 要將檔案 abc.txt 的內容複製到另一個檔案 backup.txt 中,我們使用以下命令。
- 4linux 怎麼樣複製資料夾內所有檔案到另一個資料夾? - IT閱讀
cp -Rf /home/user1/* /root/temp/ 將/home/user1目錄下的所有東西拷到/root/temp/下而不拷貝user1目錄本身。 即格式為:cp -Rf 原路徑...
- 5Linux cp 命令 - 菜鸟教程
Linux cp 命令Linux 命令大全Linux cp(英文全拼:copy file)命令主要用于复制文件或目录。 语法cp [options] source dest 或cp [optio...