天天看点

linux cp命令改名字,Linux cp命令复制文件

1. Linux cp简介

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

linux cp命令改名字,Linux cp命令复制文件

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

把当前目录上的cp1.txt,复制到上一级目录

[[email protected]]# cp cp1.txt ../

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

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

[[email protected]]# cp /etc/passwd /var/tmp/

linux cp命令改名字,Linux cp命令复制文件

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

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

[[email protected]]# cp cp1.txt cp2.txt

linux cp命令改名字,Linux cp命令复制文件

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

linux cp命令改名字,Linux cp命令复制文件

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

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

[[email protected]]# cp -r /etc/ ~

检查:

[[email protected]]# ll ~

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

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

[[email protected]]# du -sh ~/etc/

34M /root/etc/

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

[[email protected]]# du -sh /etc/

34M /etc/

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

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

linux cp命令改名字,Linux cp命令复制文件

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

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

[[email protected]]# cp -i *.txt ../

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

[[email protected]]# cp -i *.txt ../

cp: overwrite ‘../cp1.txt’? y

cp: overwrite ‘../cp2.txt’? y

linux cp命令改名字,Linux cp命令复制文件

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

[[email protected]]# \cp -r -a 源目录路径/* /目标目录路径

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

[[email protected]]# \cp -r -a /etc/* /root/

8. cp命令的常用选项

-a:此参数的效果和同时指定”-dpR”参数相同;

-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;

-i:交互式复制文件,每个文件都要询问一次,可以输入n或者y进行选择复制或者不复制;

-l:对源文件建立硬连接,实际上不复制文件;

-p:保留源文件或目录的属性;

-R/r:递归处理,复制指定目录里面的层层子目录和对应的文件;

-s:对源文件建立软连接,实际上不复制文件;

-u:复制时比较源文件与目标文件的更改时间,如果源比目标新,则进行复制。或者目标不存在同名时,也会进行复制。

-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;

-b:备份已存在的目标文件后再进行覆盖;

-v:显示执行情况的详细信息。

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