cp · 复制文件
上游:ls(确认源文件存在)· mkdir(建好目标目录再复制进去) 下游:mv(cp 留原件,mv 是搬家)· tar(批量备份用 tar,单文件复制用 cp)
一句话是什么
cp 复制文件或目录——
就像”复制粘贴”,原文件还在,新建一份副本。
为什么需要它
修改 server.properties 之前,先备份一份:
cp ~/mc-server/server.properties ~/mc-server/server.properties.bak
# 改坏了?还有 .bak 可以恢复核心用法
公式
cp [选项] 源文件 目标位置
常用命令
| 命令 | 说明 |
|---|---|
cp a.txt b.txt | 复制 a.txt 为 b.txt(同目录改名副本) |
cp a.txt ~/backup/ | 把 a.txt 复制到 backup 目录 |
cp -r 目录/ 目标/ | 递归复制整个目录(-r 必须加) |
cp -p 源 目标 | 保留原始时间戳和权限(p = preserve) |
cp -i 源 目标 | 目标存在时提示确认(防覆盖) |
cp vs mv
cp:复制 → 原文件还在,多了一个副本
mv:搬家 → 原文件消失,换了个位置(或名字)
Linux 笑话
Aaron 改 server.properties 之前忘记备份, 改错了之后想恢复,但没有备份文件。
只好重新搜索每个配置项的默认值, 花了半小时才改回来。
从那以后他记住了:
# 改任何配置文件之前,先这样
cp server.properties server.properties.bak改配置之前备份一份 .bak,是好习惯。
例题精讲
📗 初探 Starter — 复制一个配置文件备份
# 复制 server.properties 作为备份
cp ~/mc-server/server.properties ~/mc-server/server.properties.bak
# 确认两个都存在
ls ~/mc-server/server.properties*
# server.properties server.properties.bak📘 应用 User — 复制整个 worlds 目录
# 手动备份存档(cp 方式,适合小目录)
cp -r ~/mc-server/worlds/ ~/mc-backups/worlds-backup/
# 确认复制成功
ls ~/mc-backups/
# worlds-backup/📙 管理 Admin — 部署脚本到多个位置
# 把通用的 check.sh 复制到多个服务器目录
cp ~/scripts/check.sh ~/mc-server/check.sh
cp ~/scripts/check.sh ~/mc-server2/check.sh
# 保留权限(确保 +x 不丢失)
cp -p ~/scripts/backup.sh ~/mc-server/backup.sh
# 确认权限
ls -l ~/mc-server/backup.sh
# -rwxr-xr-x ← +x 权限保留了官方文档参考
man cp # 完整手册
cp --help # 快速选项
cp 源 目标复制;-r复制目录;-p保留权限;-i防覆盖;改配置前先.bak备份是好习惯。
节点链接
上游
下游
实战
- shell-script ← 脚本里修改配置前先 cp 备份
节点版本:v1.0 · 2026-04-20 Tier 1 基础节点——Linux 的复印机