五分钟学会使用Linux cp命令

Linux中使用cp命令复制文件(夹),本文就日常工作中常用的cp命令整理如下。

一、复制一个源文件到目标文件(夹)。

命令格式为:cp 源文件 目标文件(夹)

这个是使用频率最多的命令,负责把一个源文件复制到目标文件(夹)下。如下图所示,复制到文件夹下,则文件名保持不变,复制到文件中,则文件名变更。如果目标文件已经存在或目标文件夹中含有同名文件,则复制之后目标文件或目标文件夹中的同名文件会被覆盖。
cp命令复制一个文件
linux cp命令_第1张图片

二、同时复制多个文件到目标文件(夹)下。

命令格式为:cp 源文件1 源文件2 目标文件夹 或 cp 文件* 目标文件夹

这个命令使用频率也很高。第一种命令格式可以把列出来的多个文件一次性复制到目标文件夹下,每个文件直接用空格分隔;第二种命令格式使用了通配符*,如下图所示,可以将所有以“.txt”结尾的文件都复制到文件夹testDir下。
cp命令复制多个文件
linux cp命令_第2张图片
cp命令复制多个文件
linux cp命令_第3张图片
三、复制源文件夹到目标文件夹下。

命令格式为:cp -r 源文件夹 目标文件夹

这个也是使用频率很高的命令,只需要记住复制文件夹一定要加“-r”参数,否则会出现“cp: omitting directory”错误。
cp命令复制文件夹
linux cp命令_第4张图片
四、只有源文件较目标文件新时复制。

命令格式为:cp -u 源文件 目标文件

这个命令很实用,尤其是在更新文件时。如下图所示,只有源文件比目标文件新时,才会将源文件复制给目标文件,否则,及时执行了命令,也不会执行复制。
cp命令只文件较新时复制
linux cp命令_第5张图片

五、创建文件的软链接。

命令格式为:cp -s 源文件 目标文件

也可以用ln命令实现同样的功能。当一个文件路径太深(如下述的a/b/c/d/e/orginalFile.txt),访问起来十分不方便时,就会创建这个文件的软链接,使之访问起来更方便些。软链接就相当于windows上的快捷方式。
cp命令创建软链接
linux cp命令_第6张图片

六、创建文件的硬链接。

命令格式为:cp -l 源文件 目标文件

也可以用ln命令实现同样的功能。有时候,为了某种原因,需要创建一个硬链接,如下图所示。
linux cp命令_第7张图片
cp命令创建硬链接

这里简单介绍下硬链接和软链接的区别。如下图所示,软连接文件(softLink.txt)和被链接文件(orginalFile.txt)所拥有的inode不相同(133827和139819),硬链接文件(hardLink.txt)和被链接的文件(orginalFile22.txt)拥有相同的inode(156981)。当被链接的文件删除时,软链接文件也无法访问了,而硬链接文件仍能正常访问。
linux cp命令_第8张图片