📖 知识点
1. Windows 的 copy → Linux 的 cp
| Windows | Linux | 作用 |
|---|---|---|
|
| 复制文件 |
| 复制整个文件夹 |
| 复制文件夹(含里面所有) |
cp = copy,复制。格式都是
cp 源文件 目标位置,把源复制一份到目标。
💡 生活比喻复制就像 "复印机":把一份文件复印一份,原件还在,多出一份副本。
cp 笔记.txt 笔记副本.txt就是复印了一份。
2. 复制文件
cp 源文件 目标文件 # 复制成另一个文件
cp 源文件 目标目录/ # 复制到某个目录(保留原文件名)
cp 笔记.txt 笔记备份.txt # 复制并改名
cp 笔记.txt 文档/ # 复制到文档目录,名字不变
3. 复制文件夹:cp -r
复制文件夹必须加 -r(recursive,递归),把里面的所有东西一起复制:
cp -r 源文件夹 目标文件夹
cp -r 项目 项目备份 # 把整个"项目"文件夹复制成"项目备份"
不加
-r复制文件夹会报错 "omitting directory"—— 它不会自动把文件夹里的东西一起搬。
4. 验证复制结果
cp 笔记.txt 笔记备份.txt
ls # 看到原件和副本都在
⚠️ 易错提醒
复制文件夹必须加
-r,否则报错
cp默认覆盖同名目标文件(不会提示),小心别覆盖重要文件复制后源文件还在,是 "复制" 不是 "移动"(移动用 mv,Day10)
⚔️ Kata 实战任务
任务需求:
回家并确保有 "项目 / 笔记.txt"(没有就 touch 建)
用
cp把 "项目 / 笔记.txt" 复制成 "项目 / 笔记备份.txt"用
cp复制整个 "项目" 文件夹为 "项目备份"(用 -r)用
ls和ls -l 项目验证复制结果确认原件和副本都在
参考代码(在终端依次敲)
# 回家,准备一个文件
cd ~
mkdir -p 项目
touch 项目/笔记.txt
# 1. 复制文件:笔记.txt → 笔记备份.txt
cp 项目/笔记.txt 项目/笔记备份.txt
# 2. 复制整个文件夹:项目 → 项目备份(必须 -r)
cp -r 项目 项目备份
# 3. 验证
ls
echo "---- 项目里的文件 ----"
ls 项目
echo "---- 项目备份里的文件 ----"
ls 项目备份
运行示例:
user@linux:~$ cp 项目/笔记.txt 项目/笔记备份.txt
user@linux:~$ cp -r 项目 项目备份
user@linux:~$ ls
Desktop 文档 图片 项目 项目备份
user@linux:~$ ls 项目
笔记.txt 笔记备份.txt
user@linux:~$ ls 项目备份
笔记.txt 笔记备份.txt
🧠 思考题
cp 笔记.txt 笔记备份.txt和cp -r 项目 项目备份的区别是什么?为什么复制文件夹必须加-r?cp是 "复制",复制之后源文件还在吗?和 Day10 要学的 "移动 mv" 有什么本质不同?
行者孙Python