Linux系统使用cp命令用法教程详解

2023年 8月 13日 27.8k 0

熟悉在 Linux 命令行中复制文件和目录的 cp 命令。

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

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

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

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

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

复制单个文件

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

  • cp 源文件 目标目录
  • 图片[1]-Linux系统使用cp命令用法教程详解-不念博客

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

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

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

  • cp 源文件 目标目录/新文件名
  • 图片[2]-Linux系统使用cp命令用法教程详解-不念博客

    复制多个文件

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

  • cp 文件1 文件2 文件3 目标目录
  • 图片[3]-Linux系统使用cp命令用法教程详解-不念博客

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

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

  • cp *.txt 目标目录
  • 图片[4]-Linux系统使用cp命令用法教程详解-不念博客

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

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

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

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

  • cp -i 源文件 目标目录
  • cp:覆盖 '目标目录/源文件' ?
  • 按 Y 覆盖文件,按 N 跳过复制该文件。

    图片[5]-Linux系统使用cp命令用法教程详解-不念博客

    图片[6]-Linux系统使用cp命令用法教程详解-不念博客

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

  • cp -n 源文件 目标目录
  • 图片[7]-Linux系统使用cp命令用法教程详解-不念博客

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

  • cp -b 源文件 目标目录
  • 图片[8]-Linux系统使用cp命令用法教程详解-不念博客

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

  • cp -u 源文件 目标目录
  • 图片[9]-Linux系统使用cp命令用法教程详解-不念博客

    复制目录(文件夹)

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

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

  • cp -r 源目录 目标目录
  • 图片[10]-Linux系统使用cp命令用法教程详解-不念博客

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

  • cp -r 目录1 目录2 目录3 目标目录
  • 图片[11]-Linux系统使用cp命令用法教程详解-不念博客

    在复制时保留属性

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

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

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

  • cp -p 源文件 目标目录
  • 图片[12]-Linux系统使用cp命令用法教程详解-不念博客

    💡 还有一个 -a 选项用于存档模式。它将连 ACL 也保留下来。

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论