macOS终端复制文件和文件夹的核心是:单个文件用cp源路径目标路径,无需参数;复制文件夹必须加-r(或-R)递归参数,否则报错。
macos 终端里用 cp 命令复制文件和文件夹,核心就两点:单个文件不用加参数,复制整个文件夹必须加 -r(或 -r,两者等效)。
复制单个文件
命令格式简单直接:
cp 源文件路径 目标路径
比如把桌面的 notes.txt 复制到文稿文件夹:
cp ~/Desktop/notes.txt ~/Documents/- 目标路径末尾是斜杠或文件夹名,系统会自动把文件放进去
- 如果目标路径写了完整文件名(如
~/Documents/backup.txt),复制后文件会重命名
复制整个文件夹
必须带上 -r 参数,否则会报错“is a directory”:
-
cp -r ~/Projects/myapp ~/Backup/—— 把myapp文件夹及其所有子文件、子目录完整复制过去 -
-r表示“递归”,告诉系统一层层进去拷贝全部内容 - 目标路径末尾不加斜杠也没关系,
cp -r会自动创建同名文件夹
几个实用小技巧
- 保留原文件权限和时间戳?加 -p:
cp -rp source/ destination/ - 复制多个文件到同一目录?把它们全列出来:
cp file1.txt file2.log file3.jpg ~/Desktop/ - 不确定路径写对没?先用
pwd看当前位置,用ls确认源文件是否存在 - 怕覆盖已有文件?加 -i 启用确认提示:
cp -i report.pdf ~/Documents/
常见错误提醒
- 漏掉 -r 复制文件夹 → 报错,操作中断
- 目标路径拼错(比如少个波浪号
~或多打斜杠)→ 文件可能被复制到意外位置,甚至变成奇怪名字 - 路径含空格没加引号 → 终端会把空格后的内容当成另一个参数,导致报错
- 权限不足时复制失败 → 可临时加
sudo cp ...,但仅限必要场景,避免误操作影响系统文件


















