本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。

如需学习视频,请复制以下信息到手机浏览器或电脑浏览器上:

zcwyou.com

1. Linux cp简介

Linux上最常用的命令之一,用于复制文件。支持文件复制、复制后重命名、建立软链接、建立硬链接、递归复制子目录等功能。

Linux上使用cp命令复制文件

2. 使用例子1:cp结合相当路径

把当前目录上的c,复制到上一级目录

[root@zcwyou]# cp c ../

3. 使用例子2:复制一个文件到指定目录

把/etc/passwd这个文件复制到/var/tmp/,新文件的绝对路径为/var/tmp/passwd

[root@zcwyou]# cp /etc/passwd /var/tmp/

Linux复制一个文件到指定目录

4. 使用例子3:复制并另存为新的文件名

把c复制一份,重命名为c,源文件和目标文件都在当前目录。

[root@zcwyou]# cp c c

复制并另存为新的文件名

复制/root/zip/目录里所有以txt后缀结尾的文件复制到当前目录:

Linux cp命令案例

5. 使用例子4:复制指定路径里的文件和目录,并递归复制指定目录里的层层子目录

把/etc/目录里的所有内容复制一份到当前用户家目录,~表示当前用户家目录

[root@zcwyou]# cp -r /etc/ ~

检查:

[root@zcwyou]# ll ~

drwxr-xr-x. 73 root root 8192 Oct 10 21:32 etc

可以看到用户家目录确认有一个新的目录etc

[root@zcwyou]# du -sh ~/etc/

34M /root/etc/

使用du命令看到目标目录/root/etc的大小为34M

[root@zcwyou]# du -sh /etc/

34M /etc/

源目录/etc/的大小也等于34M

表明复制成功,因为源和目标是一样大小。

linux复制指定路径里的文件和目录,并递归复制指定目录里的层层子目录

6. 使用例子5:交互式确认复制加-i选项

把当前目录的所有.txt后缀文件复制到上一级目录

[root@zcwyou]# cp -i *.txt ../

执行时,需要输入y或者yes确认:

[root@zcwyou]# cp -i *.txt ../

cp: overwrite ‘../c’? y
cp: overwrite ‘../c’? y

linux交互式确认复制文件

7. 使用例子6:复制时,强制覆盖旧文件,不需要提示,包括递归子目录和传递属性

[root@zcwyou]# cp -r -a 源目录路径/* /目标目录路径

比如/etc/里的所有目录和文件复制一份到/root/,复制之前/root中已经有了etc的内容,现在再次覆盖。

[root@zcwyou]# cp -r -a /etc/* /root/

8. cp命令的常用选项

-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-i:交互式复制文件,每个文件都要询问一次,可以输入n或者y进行选择复制或者不复制;
-l:对源文件建立硬连接,实际上不复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,复制指定目录里面的层层子目录和对应的文件;
-s:对源文件建立软连接,实际上不复制文件;
-u:复制时比较源文件与目标文件的更改时间,如果源比目标新,则进行复制。或者目标不存在同名时,也会进行复制。
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:备份已存在的目标文件后再进行覆盖;
-v:显示执行情况的详细信息。

9. 总结

cp命令其实有很多复杂的功能可以满足用户日常使用的需求。


如果喜欢本文,欢迎转发。本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:

相关推荐