当前位置:首页 > Linux > 正文

Linux如何快速复制文件

使用 cp命令复制文件或目录: , cp 源文件 目标路径 – 直接复制文件。 ,复制目录需加 -r选项(递归): cp -r 源目录 目标路径。 ,目标路径可为目录(粘贴到目录内)或新文件名(重命名)。

核心命令:cp(最常用)

cp (copy) 是Linux复制文件的基石命令,语法如下:

Linux如何快速复制文件 第1张

基础操作示例

场景 命令 说明
复制到当前目录 cp /home/user/doc.txt . 将文件复制到当前目录(代表当前目录)
复制并重命名 cp file1.txt /backup/file1_backup.txt 复制时更改文件名
复制多个文件 cp file1.txt file2.txt /target_dir/ 目标必须是目录

关键选项

# 递归复制目录(含子内容) cp -r /source_dir /destination # 保留文件属性(权限、时间戳等) cp -p important_file.conf /backup/ # 强制覆盖(不提示警告) cp -f new_data.txt /existing_dir/ # 交互模式(覆盖前确认) cp -i *.log /archive/


高级工具:rsync(远程/增量复制)

rsync 适合大文件、远程同步或增量备份(仅传输变化部分)。

常用场景

# 本地精确同步目录(保留权限、递归) rsync -av /photos/ /backup/photos/ # 远程服务器同步(SSH协议) rsync -avz -e ssh /data/ user@remote_ip:/remote/data/ # 增量备份(删除目标端多余文件) rsync -av --delete /source/ /backup/

选项解析

-a:归档模式(保留属性)

-v:显示进度

-z:压缩传输

-e ssh:通过SSH加密

Linux如何快速复制文件 第2张


图形界面(GUI)操作

适合桌面用户,无需命令:

Linux如何快速复制文件 第3张

  1. 文件管理器(如Nautilus、Dolphin)

    右键文件 → 复制(Ctrl+C) → 进入目标目录 → 粘贴(Ctrl+V)

  2. 拖放复制
    • 直接拖拽文件到目标窗口(按Ctrl键强制复制)

特殊场景解决方案

复制时排除特定文件

rsync -av --exclude='*.tmp' /source/ /destination/

查看实时进度(大文件)

# 安装pv工具 sudo apt install pv # Debian/Ubuntu sudo yum install pv # CentOS/RHEL # 复制并显示进度条 pv source_large.iso > /backup/source_large.iso

保留符号链接原样

cp -P symlink_file /target_dir/ # -P 不追踪链接源文件


安全与权限管理

  • 权限不足? 在命令前加 sudo(需管理员权限)
  • 目标空间不足? 用 df -h 检查磁盘空间
  • 防误覆盖:
    • 使用 -i 选项(交互确认)
    • 或 alias cp='cp -i' 加入 ~/.bashrc 持久化


常见问题速查

问题 原因 解决
cp: cannot stat 'file': No such file 路径错误/文件名拼写错误 用 ls 确认文件存在
cp: permission denied 用户无读取源文件/写入目标权限 用 sudo 或 chmod 调整权限
复制后文件属性丢失 默认不保留元数据 添加 -p 选项(或 rsync -a)


  • 日常轻量复制: cp -r 简单高效
  • 备份/同步: rsync 是专业选择(支持断点续传、增量)
  • 桌面用户: 图形化操作直观便捷

    提示: 操作前用 ls 确认路径,关键数据备份后再执行覆盖操作!

引用说明 参考Linux man手册(man cp/man rsync)、Ubuntu官方文档及开源社区最佳实践,遵循GPLv3协议,命令示例已在Ubuntu 22.04/CentOS 7实测验证。

0