【linux】cp命令

cp 命令在 Linux 系统中用于复制文件或目录。它是非常基础且常用的命令之一,允许用户将文件从一个位置复制到另一个位置,或者将目录及其内容复制到另一个位置。

语法

|---|-----------------------------|
| | cp [选项]... [-T] 源文件 目标文件 |
| | cp [选项]... 源文件... 目录 |
| | cp [选项]... -t 目录 源文件... |

常用选项

  • -i:在覆盖目标文件之前提示用户确认。
  • -r-R--recursive:递归复制目录及其内容。
  • -a--archive:相当于 -dR --preserve=all,用于在复制时尽可能保留文件的属性(如链接、文件权限、所有者、时间戳等)。
  • -p--preserve[=属性列表]:保留文件的某些属性,如修改时间、访问时间、文件模式、文件所有权和组所有权。
  • -v--verbose:显示详细的操作信息。
  • -f--force:如果目标文件已存在,并且无法打开以进行写入,则将其删除并尝试再次复制。
  • -u--update:仅当源文件比目标文件新,或者目标文件不存在时,才复制文件。
  • -l--link:对源文件创建硬链接,而非复制文件。
  • -s--symbolic-link:对源文件创建符号链接,而非复制文件。

示例

  1. 复制文件

    复制代码
    cp source.txt destination.txt

    这会将 source.txt 复制到当前目录下,并命名为 destination.txt

  2. 复制文件到另一个目录

    复制代码
    cp source.txt /path/to/destination/

    注意,如果目标是一个目录,则 cp 命令会将文件复制到该目录中,并保持原文件名。

  3. 递归复制目录

    复制代码
    cp -r source_directory/ destination_directory/

    使用 -r--recursive 选项递归地复制目录及其所有内容。

  4. 保留文件属性复制

    复制代码
    cp -a source_directory/ destination_directory/

    使用 -a--archive 选项在复制时尽可能保留文件的属性。

  5. 在覆盖前提示

    复制代码
    cp -i source.txt destination.txt

    如果 destination.txt 已存在,cp 命令会提示用户是否覆盖。

注意

  • 使用 cp 命令时,请确保目标路径正确,以避免意外覆盖重要文件。
  • 对于重要数据,建议在执行复制操作之前进行备份。
  • 在处理大量文件或大型目录时,可能需要一些时间来完成复制过程。
相关推荐
菜鸟也会Fly26 分钟前
【/usr/bin/env: “bash\r”: 没有那个文件或目录】问题解决
linux·bash
程序员黄老师2 小时前
Linux tail 命令详解
linux·运维
我怎么又饿了呀2 小时前
Windows&Linux系统 安装 CUDA 和 cuDNN
linux·运维·windows
慌ZHANG4 小时前
云原生时代的 Linux:容器、虚拟化与分布式的基石
linux·云原生
子洋6 小时前
OrbStack 安装 Ubuntu 并开启 SSH 与 Root 登陆
linux·前端·ubuntu
小立爱学习6 小时前
Linux 内存管理之page folios
linux·c语言
某某7 小时前
linux安装mysql8.0,二进制码安装
linux·运维·服务器
~黄夫人~7 小时前
虚拟机Ubuntu图形化界面root用户登录错误
linux·运维·ubuntu
破刺不会编程8 小时前
linux信号量和日志
java·linux·运维·前端·算法
科大饭桶9 小时前
Linux系统编程Day9 -- gdb (linux)和lldb(macOS)调试工具
linux·服务器·c语言·c++