2.11 cp命令

时间:2022-04-27
本文章向大家介绍2.11 cp命令,主要内容包括使用方法、cp例子、cp拷贝目录加/、总结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

cp = copy

使用方法

将源文件 拷贝成目标文件
cp -r 拷贝目录
统一约定, 使用cp 和其他命令的时候,把 路径后的/补充完整
!$  上一条命令中最后的一个参数,以空格或叹号分割

[root@hf-01 ~]# which cp
alias cp='cp -i'
	/usr/bin/cp
这里会看到cp  命令默认带有一个 -i 选项,
它是属于安全选项,询问操作是否进行下一步操作

若不想复制的时候,每天去询问,可以按如下复制
[root@hf-01 ~]# /usr/bin/cp /etc/passwd /tmp/1.txt

cp例子

[root@hf-01 ~]# cp /etc/passwd /tmp/1.txt      拷贝文件直接复制即可
cp:是否覆盖"/tmp/1.txt"? y
[root@hf-01 ~]# cp -r /tmp/aminglinux/ /tmp/amning       拷贝目录需要加-r选项
[root@hf-01 ~]# cp -r /tmp/aminglinux/ /tmp/aming1/
[root@hf-01 ~]# tree !$     这表示上一条命令的最后一条参数
tree /tmp/aming1/
/tmp/aming1/
└── 2
    └── 2.txt

1 directory, 1 file
[root@hf-01 ~]# !tree
tree /tmp/aming1/
/tmp/aming1/
└── 2
    └── 2.txt

1 directory, 1 file
[root@hf-01 ~]# tree /tmp/aming1/
/tmp/aming1/
└── 2
    └── 2.txt

1 directory, 1 file
[root@hf-01 ~]# cp -r /tmp/aminglinux/ /tmp/aming1/
[root@hf-01 ~]# ls /tmp/aming1/
2  aminglinux   这说明,当目标目录已经存在的时候,他会把源目录放在目标目录下面去,
如果目标目录不存在,他会把源目录拷贝过来,并修改名称
[root@hf-01 ~]# tree /tmp/aming1/
/tmp/aming1/
├── 2
│   └── 2.txt
└── aminglinux
    └── 2
        └── 2.txt

3 directories, 2 files
[root@hf-01 ~]# cp -r /tmp/aminglinux/ /tmp/aming1/
cp:是否覆盖"/tmp/aming1/aminglinux/2/2.txt"? n
当再次拷贝相同目录的时候,就会提示是否需要覆盖,这时因为源目录已经存在

!$和!tree命令的含义

  • !$ 执行上一条命令的最后一条参数
  • !tree 执行历史中,最后一次执行tree的命令

cp拷贝目录加/

在cp拷贝目录的时候,在目录后面统一加上/,因为在后面有一种命令中加/和不加/是有很大区别的

总结

  • 当目标目录已经存在的时候,他会把源目录放在目标目录下面去,如果目标目录不存在,他会把源目录拷贝过来,并修改名称
  • 当再次拷贝相同目录的时候,就会提示是否需要覆盖,这时因为源目录已经存在