每天一命令(7)cp (copy files and directories)

cp (copy files and directories)

man cp 查看更多命令

cp  [-aifprud] source target
        -a : 相當於 -pdr
        -d : 源文件爲鏈接文件,則複製過去也是鏈接文件,而不是源文檔
        -i : 複製的文件的,覆蓋文件的時候,提示
        -f : 強制,如果目標文件已經存在且無法開啓,則移除後在嘗試
        -p : 連同檔案的屬性一起復制過去,而非使用默認的屬性
        -r : 遞歸複製,用於複製目錄
        -u : 如果目標文件已近存在,則目標文件要比源文件要舊的時候在複製。

cp 文件 目標目錄 只是複製文件

root@guofeng  ~
# ll
total 84
-rw-------. 1 root root  2404 Nov  8  2014 anaconda-ks.cfg
-rw-r--r--  1 root root     0 Jun  6 18:47 b-ba-c.txt
-rw-r--r--  1 root root     0 Jun 11 20:48 b.txt
drwxr-xr-x  2 root root  4096 Jun 11 23:19 css
-rw-r--r--  1 root root   868 Jun  9 21:06 dump.rdb
-rw-r--r--  1 root root     0 May 17 07:00 EOF
-rw-r--r--  1 root root     0 Jun 11 23:20 Hello.java
drwxr-xr-x  2 root root  4096 Jun 11 23:20 html
-rw-r--r--  1 root root     0 Jun 11 23:20 index.css
-rw-r--r--. 1 root root 39004 Nov  8  2014 install.log
-rw-r--r--. 1 root root  9154 Nov  8  2014 install.log.syslog
drwxr-xr-x  2 root root  4096 Jun 11 23:19 java
-rw-r--r--  1 root root     0 Jun 12  2016 mm.txt
drwxr-xr-x  2 root root  4096 Jun 11 23:19 test
-rw-r--r--  1 root root     0 Jun 11 20:06 test.txt
drwxr-xr-x  2 root root  4096 Jun 11 23:20 web

root@guofeng  ~
# cp b.txt test

root@guofeng  ~
# ll
total 84
-rw-------. 1 root root  2404 Nov  8  2014 anaconda-ks.cfg
-rw-r--r--  1 root root     0 Jun  6 18:47 b-ba-c.txt
-rw-r--r--  1 root root     0 Jun 11 20:48 b.txt
drwxr-xr-x  2 root root  4096 Jun 11 23:19 css
-rw-r--r--  1 root root   868 Jun  9 21:06 dump.rdb
-rw-r--r--  1 root root     0 May 17 07:00 EOF
-rw-r--r--  1 root root     0 Jun 11 23:20 Hello.java
drwxr-xr-x  2 root root  4096 Jun 11 23:20 html
-rw-r--r--  1 root root     0 Jun 11 23:20 index.css
-rw-r--r--. 1 root root 39004 Nov  8  2014 install.log
-rw-r--r--. 1 root root  9154 Nov  8  2014 install.log.syslog
drwxr-xr-x  2 root root  4096 Jun 11 23:19 java
-rw-r--r--  1 root root     0 Jun 12  2016 mm.txt
drwxr-xr-x  2 root root  4096 Jun 11 23:21 test
-rw-r--r--  1 root root     0 Jun 11 20:06 test.txt
drwxr-xr-x  2 root root  4096 Jun 11 23:20 web

root@guofeng  ~
# cd test

root@guofeng  ~/test
# ll
total 0
-rw-r--r-- 1 root root 0 Jun 11 23:21 b.txt

cp -r 源碼目錄 目標目錄 複製目錄 cp -a

root@guofeng  ~
# ll
total 84
-rw-------. 1 root root  2404 Nov  8  2014 anaconda-ks.cfg
-rw-r--r--  1 root root     0 Jun  6 18:47 b-ba-c.txt
-rw-r--r--  1 root root     0 Jun 11 20:48 b.txt
drwxr-xr-x  2 root root  4096 Jun 11 23:19 css
-rw-r--r--  1 root root   868 Jun  9 21:06 dump.rdb
-rw-r--r--  1 root root     0 May 17 07:00 EOF
-rw-r--r--  1 root root     0 Jun 11 23:20 Hello.java
drwxr-xr-x  3 root root  4096 Jun 11 23:32 html
-rw-r--r--  1 root root     0 Jun 11 23:20 index.css
-rw-r--r--. 1 root root 39004 Nov  8  2014 install.log
-rw-r--r--. 1 root root  9154 Nov  8  2014 install.log.syslog
drwxr-xr-x  2 root root  4096 Jun 11 23:19 java
-rw-r--r--  1 root root     0 Jun 12  2016 mm.txt
drwxr-xr-x  2 root root  4096 Jun 11 23:21 test
-rw-r--r--  1 root root     0 Jun 11 20:06 test.txt
drwxr-xr-x  2 root root  4096 Jun 11 23:20 web

root@guofeng  ~
# cp -r css html/

root@guofeng  ~
# ls -l html
total 4
drwxr-xr-x 2 root root 4096 Jun 11 23:32 css

root@guofeng  ~
# cp -a test html/

root@guofeng  ~
# ls -l html
total 8
drwxr-xr-x 2 root root 4096 Jun 11 23:32 css
drwxr-xr-x 2 root root 4096 Jun 11 23:21 test

複製文件,如果有文件,提示是否覆蓋 cp -i

root@guofeng  ~
# cp -i Hello.java web/

root@guofeng  ~
# cp -i Hello.java web/
cp: overwrite `web/Hello.java'? y
發佈了43 篇原創文章 · 獲贊 8 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章