插件窝 干货文章 linux下复制命令是什么

linux下复制命令是什么

复制 destination 文件 bash 308    来源:    2025-05-04

在 Linux 下,常用的复制命令是 cp(全称 copy)。以下是详细用法和常见场景:


基本语法

cp [选项] 源文件 目标路径

常见用法示例

  1. 复制文件到目录

    cp file.txt /path/to/destination/
    
    • file.txt 复制到 /path/to/destination/ 目录下。
  2. 复制文件并重命名

    cp file.txt /path/to/destination/new_name.txt
    
    • 复制文件到目标路径并重命名为 new_name.txt
  3. 递归复制目录(包含子目录和文件)

    cp -r dir1 /path/to/destination/
    
    • -r-R 表示递归复制,用于复制目录及其内容。
  4. 保留文件属性(权限、时间戳等)

    cp -p file.txt /path/to/destination/
    
    • -p 选项保留原文件的属性(如修改时间、权限)。
  5. 强制覆盖(不提示)

    cp -f file.txt /path/to/destination/
    
    • -f 强制覆盖目标文件(需谨慎使用)。
  6. 交互式复制(覆盖前确认)

    cp -i file.txt /path/to/destination/
    
    • -i 会在覆盖前提示用户确认。
  7. 显示复制进度(适用于大文件)

    cp -v file.txt /path/to/destination/
    
    • -v 显示详细操作过程(verbose)。

高级选项

  • 复制符号链接本身(而非指向的文件)

    cp -d symlink /path/to/destination/
    
  • 仅复制更新的文件(增量复制)

    cp -u source.txt /path/to/destination/
    
    • -u 仅当源文件比目标文件新时复制。

注意事项

  1. 覆盖风险:默认情况下,cp 会静默覆盖目标路径的同名文件,建议结合 -i-n(不覆盖)使用。
  2. 权限问题:若目标目录无写入权限,会报错 Permission denied,需用 sudo 提权。
  3. 通配符:支持通配符复制多个文件,例如: bash cp *.txt /path/to/destination/

替代工具

  • rsync:更强大的远程/本地同步工具,支持增量复制和断点续传。

    rsync -avz source/ destination/
    
  • install:复制文件并设置权限(常用于脚本中):

    install -m 644 file.txt /path/to/destination/
    

根据需求选择合适的命令即可!