插件窝 干货文章 linux常用命令复制怎么用

linux常用命令复制怎么用

复制 目标 文件 bash 897    来源:    2025-04-03

在 Linux 系统中,复制文件和目录主要通过 cp 命令实现。以下是详细用法和常见场景:


1. 基本文件复制

cp 源文件 目标路径

示例:将 file1.txt 复制到 /home/user/documents/

cp file1.txt /home/user/documents/

2. 复制并重命名文件

cp 源文件 目标路径/新文件名

示例:复制 file1.txt 到目标目录并重命名为 file2.txt

cp file1.txt /home/user/documents/file2.txt

3. 复制目录(递归复制)

使用 -r-R 参数复制目录及其内容:

cp -r 源目录 目标路径

示例:复制 mydir 目录到 /backup/

cp -r mydir /backup/

4. 保留文件属性

使用 -p 保留权限、时间戳等元数据:

cp -p 源文件 目标路径

示例:保留原文件属性复制

cp -p important.log /backup/

5. 强制覆盖(不提示)

使用 -f 强制覆盖目标文件(慎用):

cp -f 源文件 目标路径

6. 交互式复制(覆盖前确认)

使用 -i 在覆盖前提示确认:

cp -i 源文件 目标路径

输出示例

cp: overwrite '目标路径/file1.txt'? y/n

7. 显示复制进度

使用 -v 显示详细操作过程:

cp -v 源文件 目标路径

输出示例

'file1.txt' -> '/home/user/documents/file1.txt'

8. 复制多个文件到目录

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

示例

cp *.txt /backup/  # 复制所有.txt文件到/backup/

9. 特殊场景:复制软链接

  • 默认行为cp 会复制链接指向的原始文件。
  • 仅复制链接本身(保留链接):
    bash cp -P 源链接 目标路径

10. 远程复制(需结合其他工具)

  • 通过 scp(安全复制到远程服务器):
    bash scp file.txt user@remote:/path/to/destination/
  • 通过 rsync(高效同步):
    bash rsync -avz 源文件 user@remote:/目标路径/

注意事项

  1. 覆盖风险cp 默认静默覆盖目标文件,建议用 -i-n(不覆盖)避免误操作。
  2. 权限问题:若目标目录无写入权限,需使用 sudo
  3. 大文件/大量文件:推荐用 rsync 支持断点续传和进度显示。

常用组合示例

# 递归复制目录,保留属性并显示进度
cp -rpv sourcedir/ /backup/

# 复制所有.jpg文件到目标目录,覆盖前确认
cp -i *.jpg /photos/

掌握这些命令后,可以灵活应对大多数复制需求!