【Linux 命令】cp 命令详解

时间:2023-03-08 22:31:25
【Linux 命令】cp 命令详解

Linux 命令之 cp 命令详解


一、cp 命令简介

cp 命令主要用于复制文件或目录。即用来将一个或多个源文件或者目录复制到指定的目的文件或目录。

cp 命令可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。

cp 命令支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。


二、cp 命令语法

cp [-options] source_file dest_file
  • source_file:源文件,制定源文件列表。cp 命令默认情况下不能复制目录,除非使用 -r/-R选项。

  • dest_file:目标文件,指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。


三、参数说明:

  • -a :等于 “dpR” 参数组合,通常在复制目录时保留链接、文件属性,并复制目录下的所有内容。
  • -b:覆盖已存在的文件目标前将目标文件备份;
  • -d :复制时保留符号链接。
  • -f :强行复制文件或目录,覆盖已经存在的目标文件而不给出提示。
  • -i :与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖。
  • -l :不复制文件,只是生成源文件的硬链接文件。
  • -p :复制文件时保留源文件或目录的属性。
  • -r :递归复制目录,即复制该目录及其所有的子目录和文件。
  • -R :同 -r 选项参数。
  • -s:对源文件建立符号连接,而非复制文件;
  • -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
  • -u:同步复制源文件文件,只在源文件更新时或目标文件不存在时复制。
  • -v:详细显示命令执行的操作。

四、实例

1、复制文件
格式:
$ cp source_file dest_file
$ cp source_folder/*.* dest_folder
示例:
$ cp 123.tar /root/abc
$ cp *.tar /root/abc
  • cp 命令复制文件到目标文件,同名则会覆盖目标文件的内容,该目标文件的内容将被破坏。
  • cp 命令复制文件到目标文件,不同名则使用目标文件名,但目标文件内容变为源文件内容。
  • 文件路径可以是绝对路径名,也可以是相对路径名。通常会用到当前目录.或上一级目录..的形式。
2、复制目录
格式:
$ cp -r source_folder dest_folder
$ cp -R source_folder dest_folder
示例:
$ cp -r lsst/ /root/abc
$ cp -R lsst/ /root/abc
  • 所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录。

五、相关命令

1、Linux 命令之 rcp 命令详解

2、Linux 命令之 scp 命令详解

3、Linux 命令之 mv 命令详解

4、Linux 命令之 rcp 命令详解