Linux中cp命令的使用详解

 更新时间:2023年08月13日 14:42:21   作者:Linux中国  
cp 命令是 Linux 中一个重要的命令,你可能经常会用到它,所以本文主要来和大家讲讲cp命令的具体使用,感兴趣的小伙伴可以跟随小编一起学习一下

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

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

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

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

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

复制单个文件

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

cp 源文件 目标目录

将单个文件从源目录复制到目标目录。

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

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

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

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

在复制文件的同时重命名

复制多个文件

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

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

复制多个文件时,将目标目录放在最后

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

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

cp *.txt 目标目录

使用通配符扩展复制多个文件,比如所有 .txt 后缀的文件

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

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

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

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

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

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

覆盖,但以交互方式询问(内容将被覆盖)

覆盖,但以交互方式询问(内容不会被覆盖)

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

cp -n 源文件 目标目录

取消覆盖(目录内文件的内容未更改)

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

cp -b 源文件 目标目录

覆盖文件,但在备份文件后附加了“~”。

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

cp -u 源文件 目标目录

新文件会覆盖旧文件

复制目录(文件夹)

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

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

cp -r 源目录 目标目录

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

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

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

使用 cp 命令复制多个目录

在复制时保留属性

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

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

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

cp -p 源文件 目标目录

到此这篇关于Linux中cp命令的使用详解的文章就介绍到这了,更多相关Linux cp命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • shell 脚本中获取命令的输出的实现示例

    shell 脚本中获取命令的输出的实现示例

    本文主要介绍了shell 脚本中获取命令的输出的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Linux中使用mtime查看文件的最后修改时间的操作方法

    Linux中使用mtime查看文件的最后修改时间的操作方法

    在 Linux 系统中,mtime 是文件的一个重要属性,它记录了文件的最后修改时间,了解文件的最后修改时间对于系统管理和数据追踪非常重要,在本文中,我们将深入探讨如何使用 mtime 查看文件的最后修改时间,需要的朋友可以参考下
    2024-05-05
  • Shell脚本获取本地网卡IP、mac地址、子网掩码、dns IP、外网IP

    Shell脚本获取本地网卡IP、mac地址、子网掩码、dns IP、外网IP

    这篇文章主要介绍了Shell脚本获取本地网卡IP、mac地址、子网掩码、dns IP、外网IP,本文直接给出实现代码,需要的朋友可以参考下
    2014-10-10
  • 关于Linux之grep查找文本时匹配反斜杠\转义问题

    关于Linux之grep查找文本时匹配反斜杠\转义问题

    在Linux系统中,当文本中有反斜杠 , 需要使用grep查找出带有反斜杠的内容,接下来通过本文给大家讲解Linux之grep查找文本时匹配反斜杠\转义问题,需要的朋友可以参考下
    2022-10-10
  • Shell正则表达式验证IP地址

    Shell正则表达式验证IP地址

    这篇文章主要介绍了Shell正则表达式验证IP地址,本文给出了多个方法,并分别给出实现代码,需要的朋友可以参考下
    2015-05-05
  • linux type命令用法实战教程

    linux type命令用法实战教程

    type命令用来显示指定命令的类型,它是Linux系统的一种自省机制,知道了是那种类型,我们就可以针对性的获取帮助,这篇文章主要介绍了linux type命令用法实战教程,需要的朋友可以参考下
    2023-05-05
  • linux shell命令快捷获得系统帮助(一)[man-pages定义规范]

    linux shell命令快捷获得系统帮助(一)[man-pages定义规范]

    linux命令帮助,一般有2种,命令自身代码里面带有使用帮助说明,这种一般很精简,太长了,程序自身的大小以及日常维护不方便。还有一种,就是带有帮助文件,类似windows的chm格式文件。下面我说下这2种怎么样查阅
    2015-10-10
  • Shell脚本中使用getopts处理多命令行选项

    Shell脚本中使用getopts处理多命令行选项

    今天小编就为大家分享一篇关于Shell脚本中使用getopts处理多命令行选项,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • bash shell和dash shell的区别详解

    bash shell和dash shell的区别详解

    本文主要介绍了bash shell和dash shell的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • 浅谈CI脚本异常退出问题定位

    浅谈CI脚本异常退出问题定位

    下面小编就为大家带来一篇浅谈CI脚本异常退出问题定位。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11

最新评论