cp命令是Linux系统中用于复制文件和目录的核心命令,基本语法为cp [选项] 源文件/目录 目标文件/目录,通过不同的选项组合可以完成多种复制场景的操作。

cp命令基础语法与选项说明
首先来了解cp命令的常用选项,这些选项是完成不同复制需求的关键:
- -r:递归复制目录,复制目录时必须添加该选项,否则会报错
- -p:保留源文件的权限、所有者、时间戳等属性
- -f:强制复制,如果目标文件已存在直接覆盖,不提示
- -i:交互式复制,目标文件存在时会提示是否覆盖
- -v:显示复制过程的详细信息
cp命令实例练习
实例1:复制单个普通文件
将当前目录下的test.txt文件复制到/tmp目录下,重命名为test_copy.txt:
# 复制文件并修改名称 cp test.txt /tmp/test_copy.txt # 查看复制结果 ls /tmp/test_copy.txt
实例2:复制多个文件到目标目录
将当前目录下的a.txt、b.txt、c.txt三个文件全部复制到/opt目录下:
# 同时复制多个文件到目标目录 cp a.txt b.txt c.txt /opt/ # 查看复制结果 ls /opt/ | grep -E "a.txt|b.txt|c.txt"
实例3:递归复制目录
将/home/user/docs目录完整复制到/tmp目录下,保留目录结构:
# 递归复制目录,需要添加-r选项 cp -r /home/user/docs /tmp/ # 查看复制后的目录结构 ls -l /tmp/docs
实例4:保留文件属性复制
复制/etc/passwd文件到当前目录,同时保留原文件的权限、修改时间等属性:
# 保留属性复制 cp -p /etc/passwd ./ # 查看复制后文件的属性,对比原文件属性 ls -l passwd ls -l /etc/passwd
实例5:交互式复制避免误覆盖
当目标文件已经存在时,使用-i选项可以在覆盖前提示确认:
# 先创建一个测试文件 echo "old content" > test.txt # 创建要复制的新内容文件 echo "new content" > new_test.txt # 交互式复制,会提示是否覆盖 cp -i new_test.txt test.txt
实例6:显示复制过程详情
复制目录时添加-v选项,可以看到每个文件的复制进度:
# 递归复制并显示详情 cp -rv /home/user/images /tmp/
练习注意事项
在练习cp命令时需要注意,如果复制的目标路径是目录,源文件会被复制到该目录下,文件名保持不变;如果目标路径是文件路径,源文件会被复制为该文件名。复制系统文件时建议先使用-i选项避免误覆盖重要文件,复制目录时务必记得添加-r选项,否则会提示略过目录的错误。
cp_commandLinux命令文件复制目录复制修改时间:2026-07-01 19:36:32