Linux cp命令详解

cp(copy)是Linux中最基础、最常用的命令之一,用于复制文件或目录。它的核心功能是将一个或多个源文件(或目录)复制到指定的目标位置,既可以复制文件,也可以在复制的同时改名。

📖 命令的基本语法

cp命令主要有三种使用方式:

bash

复制代码
# 1.复制单个源文件到目标文件(或目标目录中的同名文件)
复制代码
cp [选项] 源文件 目标文件
复制代码
复制代码
# 2.复制多个源文件到目标目录
复制代码
cp [选项] 源文件1 源文件2 ... 目标目录
复制代码
复制代码
# 3.将源文件(或目录)复制到目标目录(通常配合-t选项)
复制代码
cp [选项] -t 目标目录 源文件...
  • 目标文件 :如果目标文件不存在,cp会创建它;如果已存在,默认情况下会覆盖原内容。
  • 目标目录 :当目标是目录时,cp会将源文件(保持原名)复制到该目录下。
  • 复制多个源 :当一次复制多个文件时,最后一个参数必须是一个已经存在的目录。

🛠️ 常用选项详解

为了更精确地控制复制行为,cp命令提供了丰富的选项。下表列出了最常用的一些选项及其功能。

选项 长选项 描述
-a --archive 归档模式,相当于 -dR --preserve=all。
-f --force 强制覆盖。如果目标文件无法打开,会先删除再尝试复制。
-i --interactive 交互模式。在覆盖目标文件前进行提示,需要用户确认(y/n)。
-l --link 建立硬链接。不为文件创建新副本,而是创建一个指向相同数据的新硬链接。
-p --preserve 保留文件属性。复制文件的模式(权限)、所有权和时间戳等。
-P --no-dereference 保留符号链接。复制符号链接本身,而不是它所指向的目标文件。
-R, -r --recursive 递归复制。用于复制整个目录及其内部的所有子目录和文件。
-s --symbolic-link 建立符号链接。创建指向源文件的符号链接,而不是复制文件内容。
-u --update 增量更新。只在源文件比目标文件新,或目标文件不存在时才进行复制。
-v --verbose 显示过程。在复制时显示详细信息。
-x --one-file-system 限制在同一文件系统。仅在同一文件系统内执行复制操作,不跨越不同分区。
-b --backup 创建备份。若目标文件已存在,会先将其重命名备份,再复制新文件。
-n --no-clobber 不覆盖。不覆盖任何已存在的目标文件。
--parents --parents 保留目录结构。在目标目录中创建完整的源文件路径。
-T --no-target-directory 将目标视为普通文件。当源和目标都是目录时,防止将源目录复制到目标目录内部。
相关推荐
wespaul4 分钟前
VeapAI 自然语言操作实战|第 08 篇:治理层——审计、指标、评估与权限
运维·网络·数据库
宋明河4 分钟前
windows与ubuntu双系统主机下ubuntu访问windows磁盘是只读
linux·windows·ubuntu
Sayai5 分钟前
Kafka 2.8→3.9.1 跨大版本升级实战:ZooKeeper 同步升级、数据目录迁移与回滚预案全流程
大数据·运维·分布式·zookeeper·kafka
chenxy028 分钟前
国产加速卡-应知应会
linux·运维·服务器
HackTwoHub9 分钟前
免 Root 安卓渗透工具 Stryker|把 Kali 装进手机!随身无线渗透工作站,内置 Nmap/Nuclei/Metasploit 全套武器库
android·linux·运维·人工智能·web安全·macos·智能手机
代码村新手26 分钟前
Linux-环境变量
linux
data analyse 45627 分钟前
页面卸载时埋点上报总丢失?sendBeacon 上报与补偿方案
大数据·运维·服务器·前端·数据库·人工智能·数据分析
kmomo..30 分钟前
Linux 驱动开发学习笔记:I2C 子系统从入门到实践
linux·驱动开发·学习
敲上瘾35 分钟前
分布式系统——Redis哨兵:自动故障转移与选举原理
linux·数据库·redis·分布式·缓存·微服务
倔强的石头1061 小时前
【Linux指南】进程通信系列(二):匿名管道 —— pipe 的本质、fork 继承与四种读写规则
java·linux·运维