访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

深入解析Linux 常用命令--cp

时间:2019-08-01

linux常用命令_linux命令中的head命令_linux压缩命令zip命令

cp常用于复制文件或目录。

cp命令复制时,有如下几种组合:

src:在这个目录下存放stm32固件库的.c文件linux常用命令,复制stm32f10x_stdperiph_lib_v3.5.0\libraries\stm32f10x_stdperiph_driver\src目录下文件(图10)到该目录下。从src复制count字节的字符到dest. 与memmove功能一样, 只是不能处理src和dest出现重叠. 返回dest的值.。2、如果在c:\windows\system32\config文件下,没有这个sam文件,复制会顺利进行,如果这个sam文件,只是损坏,但还存在,复制时,就会弹出提示框linux常用命令,询问是否覆盖文件,按是即可,如果在系统下无法覆盖, 被系统阻止,则到安全模式下去覆盖试试。

[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

cp -i

linux压缩命令zip命令_linux常用命令_linux命令中的head命令

[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。

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]# 

cp -R/-r

linux命令中的head命令_linux常用命令_linux压缩命令zip命令

[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

cp -v

[root@smart linux]# cp -v k.txt s.txt
`k.txt' -> `s.txt'

由于在linux下一切皆文件,因此linux命令行下无法区分目标路径or目标文件。

对于命令“ cp A B”注意下面几个区别:

linux常用命令_linux命令中的head命令_linux压缩命令zip命令

B不存在 B存在,且为文件 B存在,且为目录

A为文件

结果:同目录下出现B文件,内容同A

结果:直接复制失败,若加-r选项,同目录下不新增文件,B的旧内容将被覆盖为A文件内容

A为目录

linux常用命令_linux压缩命令zip命令_linux命令中的head命令

结果:直接复制失败,若加上-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