概述
cp
命令主要可用于复制文件或目录。
cp
是单词
copy
的缩写。
语法
cp
命令的语法如下:
cp [选项] source dest
。即复制 source 文件到 dest。
该命令支持的选项有:
选项说明-r递归复制整个文件夹-i若目标文件已经存在,则会询问是否覆盖-p保留源文件或目录的所有属性-d当复制符号链接时,把目标文件或目录也建立为符号链接,并指向与源文件或目录连接的原始文件或目录。如果不加上该选项,则复制的仍然是源文件而不是符号链接文件,并且对硬链接文件无效-l对源文件建立硬链接,而非复制文件-s对源文件建立符号链接,而非复制文件-b覆盖已存在的目标文件前将目标文件进行备份-v详细显示
cp
命令执行的操作过程
该命令的参数说明:
参数说明source源文件或目录dest目标文件或目录
注:该命令最常用的是就算复制文件和复制文件夹功能。
使用
复制文件
所谓的复制文件,就是将一个文件复制到另外一个目录下,其中
source
表示源文件,而
dest
表示目标目录。语法如下:
# 语法cp 源文件 目标目录
# 实例,将 test.txt 文件复制到 /root/ 目录下cp /home/lighthouse/test.txt /root/
复制目录
通常情况下,待复制的目录都不是空文件夹,如果直接使用
cp
命令进行复制会失败,如果想要把指定目录及该目录下的子文件和子文件夹都复制过去,则需要加上
-r
选项。其中
src
是源目录;
dest
表示目标目录。
# 语法cp -r 源目录 目标目录
# 实例,将 /home/lighthouse 目录复制到 /root 下cp -r /home/lighthouse /root/
覆盖文件
当将一个文件或目录复制到另外一个目录下时,如果该目录下已经存在同名文件或目录,那么复制操作就会询问你是否覆盖,如果想要覆盖就回答
y
。但每个文件都要回答一次就会很麻烦,所以可以使用
\cp
命令。语法如下:
# 语法\cp 源文件 目标文件
# 实例\cp /home/lighthouse/test.txt /root/test.txt
注意,此时
source
表示源文件;
dest
表示目标文件,而不是目录。
因为
cp
命令实际上是
cp -i
的别名,而
-i
选项表示在覆盖前询问进行询问。而
\cp
表示使用原始的
cp
命令,而不是这别名表示的命令。
当前目录下复制文件
在当前工作目录中,将某个文件复制一份,并重新定义名称,通常用来备份文件:
cp 源文件名 目标文件名
同样,也可以这样复制一个目录,但必须加上
-r
选项。
显示复制过程
可以加上
-v
选项显示
cp
命令详细的执行过程:
复制多个文件
即源文件
source
可以有多个,但目标文件必须是目录才可以。语法如下:
cp 源文件1 源文件2 源文件3 ... 目标目录
复制软链接文件
如果要复制软连接文件,则需要使用
-d
选项,否则
cp
命令复制的就算源文件本身,而不是软链接文件。只有加上
-d
选项,才会复制软链接文件。语法如下:
cp -d 软连接文件 目标目录或目标文件
复制保留源文件属性
当我们执行完复制命令后,目标文件的时间会变成复制命令的执行时间,而非源文件的时间。所以如果要复制后仍然保留源文件的属性,则需要加上
-p
选项,会保留源文件的所有属性。
建立源文件的硬链接和软链接
可以通过
-l
选项,将目标文件建立成源文件的硬链接;可以通过
-s
选项将目标文件建立成源文件的软链接。同
-d
选项不同,
-d
选项要求源文件必须是软链接才能复制成软链接,这两个选项要求源文件是普通文件就可以了。
# 将目标文件建立为源文件的硬链接文件cp -l 源文件 目标文件
# 将目标文件建立为源文件的软链接文件cp -s 源文件 目标文件
版权归原作者 二木成林 所有, 如有侵权,请联系我们删除。