Linux 系统中,`CP`命令复制文件到指定目录


在 Linux 系统中,CP命令复制文件到指定目录是常见操作,以下是不同场景下的命令及示例:

1. 基本复制命令:cp

cp 源文件 目标目录

示例:将当前目录下的 data.txt 复制到 /home/user/documents 目录

cp data.txt /home/user/documents/

2. 复制并重命名文件

cp 源文件 目标目录/新文件名

示例:将 data.txt 复制到 documents 目录并改名为 backup.txt

cp data.txt /home/user/documents/backup.txt

3. 复制多个文件到目录

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

示例:将 file1.txtfile2.txt 复制到 backup 目录

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

4. 递归复制目录(包含子目录)

cp -r 源目录 目标目录

示例:将 project 目录复制到 archive 目录

cp -r project/ /home/user/archive/

5. 强制覆盖已存在文件

cp -f 源文件 目标目录

6. 交互式确认(覆盖前询问)

cp -i 源文件 目标目录

7. 复制时保留文件属性(权限、时间戳等)

cp -p 源文件 目标目录

8. 使用通配符批量复制

cp *.txt 目标目录  # 复制所有 .txt 文件
cp [abc]* 目标目录  # 复制以 a、b 或 c 开头的文件

9. 复制到上级目录(使用 ..

cp file.txt ../  # 复制到当前目录的上级目录

10. 复制到当前目录(使用 .

cp /tmp/data.txt .  # 复制 /tmp/data.txt 到当前目录

常用选项组合

  • cp -r:递归复制目录
  • cp -rf:递归复制并强制覆盖
  • cp -rp:递归复制并保留文件属性

注意事项

  1. 权限问题:确保有目标目录的写入权限。
  2. 绝对路径 vs 相对路径:
    • 绝对路径:从根目录 / 开始(如 /home/user/file.txt)。
    • 相对路径:相对于当前目录(如 ../file.txt)。
  3. 目录末尾斜杠cp dir/ target/ 会复制 dir 中的内容到 target,而 cp dir target/ 会复制整个 dir 目录到 target

通过以上命令,你可以灵活地在 Linux 系统中复制文件和目录。

JAVA-技能点
Linux-命令