深入解析Linux 常用命令--cp
2017-11-10 20:31
711 查看
1.概述
cp常用于复制文件或目录。2.格式
cp命令复制时,有如下几种组合:cp [OPTION] 源文件 目标文件
cp [OPTION] 源文件 目标路径
cp [OPTION] 源文件 目标路径/目标文件
cp [OPTION] 源路径 目标路径
cp [OPTION] 源路径 目标路径
3.强制复制
cp -f SRC DEST,把SRC复制到DEST。当DEST文件存在时,将去先移除DEST,再把SRC复制到DEST。[root@smart linux]# cp b.txt k.txt [root@smart linux]# cp b.txt k.txt cp: overwrite `k.txt'? y [root@smart linux]# cp -f b.txt k.txt cp: overwrite `k.txt'? y [root@smart linux]# \cp -f b.txt k.txt [root@smart linux]# alias cp='cp' [root@smart linux]# cp -r b.txt k.txt
4.替换前交互询问
cp -i[root@smart Desktop]# cp k.txt s.txt [root@smart Desktop]# cp -i k.txt s.txt cp: overwrite `s.txt'? y
此处要注意,默认情况下,Linux系统一般都会alias cp为交互模式,可以查看~/.bashrc。
5.有重复文件不复制
cp -n[root@smart Desktop]# cp k.txt n.txt cp: overwrite `n.txt'? n [root@smart Desktop]# cp -n k.txt n.txt [root@smart Desktop]#
6.复制文件夹及子文件
cp -R/-r[root@smart linux]# cp abcde/ ss cp: omitting directory `abcde/' [root@smart linux]# cp -r abcde/ ss [root@smart linux]# ls a abcde a.txt b b.c b.c~ b.txt c d e f g h k.txt ss
7.显示复制详细信息
cp -v[root@smart linux]# cp -v k.txt s.txt `k.txt' -> `s.txt'
8.注意事项
由于在linux下一切皆文件,因此linux命令行下无法区分目标路径or目标文件。对于命令“ cp A B”注意下面几个区别:
B不存在 | B存在,且为文件 | B存在,且为目录 |
---|---|---|
A为文件 | 结果:同目录下出现B文件,内容同A | 结果:直接复制失败,若加-r选项,同目录下不新增文件,B的旧内容将被覆盖为A文件内容 |
A为目录 | 结果:直接复制失败,若加上-r选项,同目录下将会产生B目录,目录下内容同A | 结果:直接复制失败,加-r选项也无法复制。 |
1.A为文件,B不存在,结果同目录下出现B文件,内容同A: [root@smart test]# ls -p A [root@smart test]# cp A B [root@smart test]# ls -p A B 2.A为文件,B存在,且为文件,结果直接复制失败,若加-r选项,同目录下不新增文件,B的旧内容将被覆盖为A文件内容 [root@smart test]# cp -n A B [root@smart test]# ll total 4 -rw-r--r--. 1 root root 0 Nov 5 21:51 A -rw-r--r--. 1 root root 4 Nov 5 22:03 B [root@smart test]# cp -r A B cp: overwrite `B'? y [root@smart test]# ll total 0 -rw-r--r--. 1 root root 0 Nov 5 21:51 A -rw-r--r--. 1 root root 0 Nov 5 22:05 B 3.A为文件,B存在,B为目录。结果A将复制到B文件夹下,文件名为A [root@smart test]# ls -lRt .: total 4 drwxr-xr-x. 2 root root 4096 Nov 5 22:06 B -rw-r--r--. 1 root root 0 Nov 5 21:51 A ./B: total 0 -rw-r--r--. 1 root root 0 Nov 5 22:06 A [root@smart test]# rm -rf B/A [root@smart test]# ls A B [root@smart test]# ls -lRt .: total 4 drwxr-xr-x. 2 root root 4096 Nov 5 22:07 B -rw-r--r--. 1 root root 0 Nov 5 21:51 A ./B: total 0 [root@smart test]# cp A B [root@smart test]# ls -lRt .: total 4 drwxr-xr-x. 2 root root 4096 Nov 5 22:07 B -rw-r--r--. 1 root root 0 Nov 5 21:51 A ./B: total 0 -rw-r--r--. 1 root root 0 Nov 5 22:07 A 4.A为目录,B不存在。结果:直接复制失败,若加上-r选项,同目录下将会产生B目录,目录下内容同A [root@smart test]# cp A B cp: omitting directory `A' [root@smart test]# cp -r A B [root@smart test]# ls A B [root@smart test]# ls -p A/ B/ 5.A为目录,B为文件,直接复制失败,加-r选项也无法复制。 [root@smart test]# ls -p A/ B [root@smart test]# cp A B cp: omitting directory `A' [root@smart test]# cp -r A B cp: cannot overwrite non-directory `B' with directory `A' 6.A、B均为目录,且B存在 [root@smart test]# ls A B [root@smart test]# ls -p A/ B/ [root@smart test]# cp A B cp: omitting directory `A' [root@smart test]# cp -r A B [root@smart test]# ls A B
Enjoy!
2017/11/10
相关文章推荐
- 深入解析Linux 常用命令--alias
- 深入解析Linux 常用命令--ps
- 深入解析Linux 常用命令--route
- 深入解析Linux 常用命令--lsof
- 深入解析Linux 常用命令--arping
- 深入解析Linux 常用命令--ip
- 深入解析Linux 常用命令--ping
- 深入解析Linux 常用命令--cat
- 深入解析Linux 常用命令--cd
- 深入解析Linux 常用命令--cut
- 深入解析Linux 常用命令--df
- 深入解析Linux 常用命令--ls
- 深入解析Linux 常用命令--du
- 深入解析Linux 常用命令--mv
- 深入解析Linux 常用命令--rm
- 深入解析Linux 常用命令--top
- Linux 常用命令与解析
- linux常用的简单命令(二) cp/mv、rm、passwd、su、groupadd/useradd、chgrp/chown、chmod
- Linux常用命令汇总--cp
- linux常用命令(8):cp命令