云网牛站
所在位置:首页 > Linux命令 > 教你在Linux中用cp命令,使用cp复制文件和目录及复制多个文件和目录

教你在Linux中用cp命令,使用cp复制文件和目录及复制多个文件和目录

2019-08-26 21:40:21作者:令华稿源:云网牛站

本文教你在Linux操作系统中使用cp命令的方法,可以使用cp命令复制目录及复制多个文件和目录。在Linux和Unix系统上工作时,复制文件和目录是你每天要执行的最常见任务之一,cp是一个命令行实用程序,用于在Unix和Linux系统上复制文件和目录,在本文中,我们将解释如何使用cp命令。

教你在Linux中用cp命令,使用cp复制文件和目录及复制多个文件和目录

 

使用cp命令的方法

cp命令的一般语法如下:

cp [OPTIONS] SOURCE... DESTINATION

参考cp命令_Linux cp命令使用详解:将源文件或目录复制到目标文件或目录中

SOURCE可以有一个或多个文件或目录作为参数,DESTINATION可以有一个文件或目录作为参数。

1、当SOURCE和DESTINATION参数都是文件时,cp命令将第一个文件复制到第二个文件,如果文件不存在,命令将创建它。

2、当SOURCE有多个文件或目录作为参数时,DESTINATION参数必须是目录,在这种情况下,SOURCE文件和目录将移动到DESTINATION目录。

3、当SOURCE和DESTINATION参数都是目录时,cp命令会将第一个目录复制到第二个目录中。

要复制文件和目录,你必须至少具有源文件的读取权限和目标目录的写入权限,否则,你将收到权限被拒绝错误。

 

使用cp命令复制文件

使用cp的最基本方案是复制当前工作目录中的文件,例如,要将名为file.txt的文件复制到file_backup.txt,请运行以下命令:

$ cp file file_backup

或者:

$ cp file{,_backup}

要将文件复制到另一个目录,请指定目标目录的绝对路径或相对路径,仅将目录名称指定为目标时,复制的文件将与原始文件具有相同的名称。

在以下示例中,我们将文件file.txt复制到/backup目录:

$ cp file.txt /backup

如果要以其他名称复制文件,则需要指定所需的文件名,下面的命令将文件复制到指定目录new_file.txt:

$ cp file.txt /backup/new_file.txt

默认情况下,如果目标文件存在,它将被覆盖,-n选项使cp不要覆盖现有文件,要提示确认,请使用-i选项:

$ cp -i file.txt file_backup.txt

如果要仅在比目标更新的情况下复制文件,请使用-u选项:

$ cp -u file.txt file_backup.txt

复制文件时,新文件将由运行该命令的用户拥有,使用-p选项保留文件模式,所有权和时间戳:

$ cp -p file.txt file_backup.txt

另一个有用的选项是-v,它告诉cp打印详细输出:

$ cp -v file.txt file_backup.txt

输出信息如下:

'file.txt' -> 'file_backup.txt'

 

使用cp命令复制目录

要复制目录(包括其所有文件和子目录),请使用-R或-r选项,在以下示例中,我们将目录Pictures复制到Pictures_backup:

$ cp -R Pictures Pictures_backup

上面的命令将创建一个目标目录,并递归地将所有文件和子目录从源目录复制到目标目录。

如果目标目录已存在,则源目录本身及其所有内容将复制到目标目录,要仅复制文件和子目录,而不复制目标目录,请使用-T选项:

$ cp -RT Pictures Pictures_backup

另一种只复制目录内容而不是目录本身的方法是使用通配符(*),以下命令的缺点是它不会复制隐藏的文件和目录(以点开头的那些):

$ cp -RT Pictures/* Pictures_backup/

复制文件时,我们在复制文件时可以使用上一节中使用的所有选项,主要区别在于复制目录时总是需要使用-R选项。

 

复制多个文件和目录

要一次复制多个文件和目录,并指定其名称,并使用目标目录作为最后一个参数:

$ cp file.txt dir file1.txt  dir1

复制多个文件时,目标必须是目录。

 

结论

使用cp命令复制文件和目录是一项简单的任务,有关所有可用cp选项的信息,请在终端中输入man cp命令查看。

如果要通过网络复制文件,请检查rsync和scp命令,参考在Linux/Unix上安装rsync并通过示例的方式介绍使用rsync命令一文。

 

相关主题

在Linux/Unix系统上使用cat和cp命令的示例

Linux命令子频道
精选文章
热门文章