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