本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。
如需学习视频,请复制以下信息到手机浏览器或电脑浏览器上:
zcwyou.com
1. Linux cp简介
Linux上最常用的命令之一,用于复制文件。支持文件复制、复制后重命名、建立软链接、建立硬链接、递归复制子目录等功能。
Linux上使用cp命令复制文件
2. 使用例子1:cp结合相当路径把当前目录上的cp1.txt,复制到上一级目录
[root@zcwyou]#cpcp1.txt../
3. 使用例子2:复制一个文件到指定目录
把/etc/passwd这个文件复制到/var/tmp/,新文件的绝对路径为/var/tmp/passwd
[root@zcwyou]#cp/etc/passwd/var/tmp/
Linux复制一个文件到指定目录
4. 使用例子3:复制并另存为新的文件名把cp1.txt复制一份,重命名为cp2.txt,源文件和目标文件都在当前目录。
[root@zcwyou]#cpcp1.txtcp2.txt
复制并另存为新的文件名
复制/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 ‘../cp1.txt’? y
cp: overwrite ‘../cp2.txt’? 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:显示执行情况的详细信息。
cp命令其实有很多复杂的功能可以满足用户日常使用的需求。
如果喜欢本文,欢迎转发。本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/cyml/47.html