每天一命令(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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章