服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - 在 Linux 中使用 cp 命令

在 Linux 中使用 cp 命令

2023-08-12 17:02未知服务器之家 Linux

cp 命令是 Linux 中一个重要的命令,你可能经常会用到它。 正如名称所示, cp 代表复制copy,它被用于在 Linux 命令行中复制文件和目录。 这是一个相对简单的命令,只有几个选项,但你仍有必要深入了解它。 在展示 cp 命令的实际

在 Linux 中使用 cp 命令

cp命令是 Linux 中一个重要的命令,你可能经常会用到它。

正如名称所示,cp代表复制copy,它被用于在 Linux 命令行中复制文件和目录。

这是一个相对简单的命令,只有几个选项,但你仍有必要深入了解它。

在展示cp命令的实际示例之前,我更建议你先熟悉绝对路径和相对路径的概念,将文件从一个位置复制到另一个位置时,你需要用到它们。

Linux 中的绝对路径和相对路径的不同之处

复制单个文件

cp命令最简单和最常见的用途是复制文件,只需指定源文件和要“粘贴”文件的目标目录即可。

cp 源文件 目标目录

在 Linux 中使用 cp 命令将单个文件从源目录复制到目标目录。

在复制文件的同时重命名它

你将文件复制到另一个位置时可以同时进行重命名。这有点类似于文本编辑器中的“另存为”选项。

为此,你必须在路径中给出新的文件名。

cp 源文件 目标目录/新文件名

在 Linux 中使用 cp 命令在复制文件的同时重命名

复制多个文件

你还可以将多个文件复制到另一个位置。

cp 文件1 文件2 文件3 目标目录

在 Linux 中使用 cp 命令复制多个文件时,将目标目录放在最后

在这种情况下,你无法重命名文件。

你还可以使用通配符扩展,将特定后缀的文件复制到另一个位置:

cp *.txt 目标目录

在 Linux 中使用 cp 命令使用通配符扩展复制多个文件,比如所有 .txt 后缀的文件

复制文件时避免覆盖现有文件

如果你将file1.txt复制到一个已经存在名为file1.txt文件的目录中,它会将原有的文件覆盖掉。

如果你不希望这样,cp命令还提供了几个选项来处理文件覆盖的情况。

首先是使用选项-i的交互模式。在交互模式下,它会询问是否确认或放弃覆盖目标文件。

cp -i 源文件 目标目录
cp:覆盖 '目标目录/源文件' ?

Y覆盖文件,按N跳过复制该文件。

在 Linux 中使用 cp 命令覆盖,但以交互方式询问(内容将被覆盖)

在 Linux 中使用 cp 命令覆盖,但以交互方式询问(内容不会被覆盖)

选项-n代表完全取消覆盖。使用此选项时目标文件不会被覆盖。

cp -n 源文件 目标目录

在 Linux 中使用 cp 命令取消覆盖(目录内文件的内容未更改)

还有一个选项-b,在目标目录的文件将被覆盖时自动为其创建备份。我猜这里b代表备份backup。

cp -b 源文件 目标目录

在 Linux 中使用 cp 命令覆盖文件,但在备份文件后附加了“~”。

最后,还有一个“更新update”选项-u,如果目标文件比源文件旧,或者目标文件不存在,就会被覆盖掉。

cp -u 源文件 目标目录

在 Linux 中使用 cp 命令新文件会覆盖旧文件

复制目录(文件夹)

cp 命令也用来在 Linux 命令行中复制目录。

在复制目录时,你需要使用递归选项-r

cp -r 源目录 目标目录

在 Linux 中使用 cp 命令在 Linux 中使用 cp 命令复制整个目录

你还可以将多个目录复制到另一个位置:

cp -r 目录1 目录2 目录3 目标目录

在 Linux 中使用 cp 命令使用 cp 命令复制多个目录

在复制时保留属性

当你将文件复制到另一个位置时,它的时间戳、文件权限甚至所有权都会发生变化。

这是正常的行为。但在某些情况下,你可能希望在复制文件时保留其原始属性。

要保留属性,请使用选项-p

cp -p 源文件 目标目录

在 Linux 中使用 cp 命令

延伸 · 阅读

精彩推荐