如何在 Linux 中使用 cp 命令

Linux 中的 cp 命令用于将文件从一个位置复制到另一个位置,或根据需要创建相同文件的副本。 在本教程中,我们将详细介绍 cp 命令,并了解与该命令一起使用的用法和基本选项。

cp 命令的基本语法

 cp [options] <source> <destination> 

cp 命令选项

该命令将简单地将文件从一个位置复制到另一个位置,并默认覆盖任何现有文件。 但是让我们回顾一下允许我们相当灵活的命令选项。

1.复制前创建备份

-b 选项在同一文件夹中创建目标文件的备份,这样如果您不小心覆盖了文件,备份将允许您恢复原始文档。

cp -b <source> <destination> 
CP备份

如果我在没有 -b 在上述情况下的选项,main2.js 文件将被 main.js 覆盖,我将丢失第二个文件的内容。 以波浪号 (~) 符号作为后缀的文件是包含目标文件原始内容的备份文件。

2. Linux 中使用 cp 命令覆盖前提示

正如我们已经看到的,Linux 中的 cp 命令在覆盖现有文件之前不会进行检查。 当我们使用单个文件时这很好,因为手动检查目标文件是可行的。 但是,如果您正在批量处理文件,则可以通过使用 -一世 代表交互的选项。

cp -i <source> <destination> 
CP互动

对比上面的截图,可以看到添加了 -一世 允许我们在覆盖之前进行提示。

3. 在 Linux 中使用 cp 命令时保留文件元

默认情况下,cp 命令只是将文件的所有元数据替换为当前数据。 但是如果你想将文件连同元数据一起复制,你需要确保使用 -p 选项。

cp -p <source> <destination> 
Cp 保留Cp 保留

注意有关文件的时间元数据。 这 主要副本.js 文件保留文件的创建时间,而 主默认.js 将其替换为当前服务器时间。

4. 使用 Linux cp 命令进行递归复制

复制目录时,cp 命令会报错,如果 -r 未指定选项。 为什么这样做? 因为当您简单地指定父目录名称时,cp 命令不知道如何处理父目录中的文件和文件夹。

使用递归选项,您可以专门要求 cp 命令将整个目录结构与父目录一起复制。

cp -r <source directory> <destination directory> 
Cp 递归Cp 递归

5. 在 Linux 中使用 cp 命令处理链接

使用 Linux cp 命令时,有多种方法可以处理符号链接。 让我们来看看几种方法。

如果你想 复制链接,而不是原始文件,您可以使用 -P 选项。

cp -P <symbolic link> <destination symbolic link> 
直接复制链接直接复制链接

使用符号链接复制由符号链接链接的文件 -L “跟随链接”的选项

cp -L <symbolic link> <destination file name> 
复制链接文件复制链接文件

从两个屏幕截图中可以看出,-P 选项将创建另一个符号链接,链接到源文件指向的文件。 -L 选项将找到源文件,然后复制它。

6. 在 Linux 中使用 cp 命令创建符号链接

现在我们知道如何使用现有链接。 但是如果你想创建一个符号链接,你也可以使用 cp 命令。 我们之前已经介绍了在 Linux 中创建符号链接的整个主题。 让我们讨论如何在 Linux 中使用 cp 命令创建符号链接。

cp -s <source file> <link name> 
Cp 创建符号链接Cp 创建符号链接

正如您在上面的屏幕截图中看到的,我为 main.js 文件创建了一个符号链接。

结论

在今天关于 Linux 中 cp 命令的教程中,我们已经介绍了 cp 命令的所有主要使用的命令选项。 cp 命令提供了很多选项和很大的灵活性,您可以通过使用手册页进行探索。

参考:

  • cp 命令手册页