把一些可能用到的比较好用的工具总结到了这里。

使用 rsync 进行高效文件同步与恢复(macOS)

rsync 是 macOS 和 Linux 系统中常用的命令行文件同步工具,支持断点续传、增量复制、排除文件等功能,非常适合拷贝大文件或进行数据迁移。


一、基本语法

rsync [选项] 源路径 目标路径

源路径和目标路径都可以是本地路径或远程路径(使用 SSH)。拷贝路径时注意 / 的使用影响结构,详见后文。

二、常用选项说明

选项 含义
-a 归档模式(保留权限、时间戳、符号链接等)
-v 输出详细信息(verbose)
-h 以人类可读的方式显示大小(如 1K、20M)
–progress 显示每个文件的复制进度
–dry-run 预演命令但不执行操作,适合拷贝前查看将会做什么
–delete 删除目标路径中,源路径中已不存在的文件(谨慎使用)
–update 只复制源路径中比目标路径更新的文件
–exclude 排除某些文件或目录,例如 .DS_Store

三、路径末尾 / 的含义

  • 不加 /:拷贝整个目录,包括文件夹本身
rsync -avh /source /dest
→ 结果是 /dest/source/...
  • 加上 /:仅拷贝目录内的内容
rsync -avh /source/ /dest
→ 结果是 /dest/...

建议源路径加 /,更符合我们拷贝“内容而不是文件夹”的直觉。

四、典型使用示例

复制整个目录并显示进度:

rsync -avh --progress /Volumes/SourceDisk/Movies/ /Volumes/TargetDisk/Movies/

预演会复制哪些内容(不实际执行):

rsync -avh --dry-run /source/ /target/

跳过 .DS_Store 文件:

rsync -avh --progress --exclude=".DS_Store" /source/ /target/

完全同步(删除目标中多余的文件):

rsync -avh --delete /source/ /target/

五、.DS_Store 是什么?应不应该拷贝?

.DS_Store 是 macOS 用来保存文件夹显示设置的隐藏文件,例如图标排列方式、排序顺序等。它对文件内容无任何影响,在备份或传输到非 Mac 系统时通常建议排除。

可用 --exclude=“.DS_Store” 选项避免拷贝此类文件。

六、输出信息的解释

在拷贝过程中,你可能会看到如下信息:

xfer#6, to-check=60/399

含义如下:

  • xfer#6:当前第 6 个被复制的文件
  • to-check=60/399:还剩 60 个文件待检查,总共需检查 399 个

只要某个文件显示 100%,就表示该文件已完整复制。

七、总结

  • rsync 是一个非常适合做备份、数据迁移和断点恢复的工具。
  • 可跳过已存在文件,提高效率。
  • 注意源路径 / 的使用决定结构层级。
  • 使用 --dry-run 可以避免误操作。
  • 对于 macOS,建议排除 .DS_Store 文件。

caffeinate 指令详解(macOS)

caffeinate 是 macOS 系统下用来防止系统睡眠的命令行工具。它可以保持系统、显示器、磁盘持续唤醒状态,常用于后台任务、模型训练、虚拟机运行等场景。

一句话说明

caffeinate 是 mac 上的“咖啡因”,让你的 Mac 保持清醒不睡觉。

常用语法

caffeinate [options]

常用参数说明

参数 含义 示例
-d 防止显示器休眠 caffeinate -d
-i 防止系统因空闲进入休眠 caffeinate -i
-m 防止磁盘挂起 caffeinate -m
-s 防止系统睡眠(仅限接电源状态) caffeinate -s
-t <秒> 指定保持唤醒的时间(单位为秒) caffeinate -t 3600
-u 模拟用户活动(让系统以为你动了鼠标) caffeinate -u -t 10
-w <PID> 跟随某个进程保持唤醒,进程结束后退出唤醒状态 caffeinate -w 1234

常见用法示例

1. 全面防止系统任何形式的睡眠

caffeinate -d -i -m -s

2. 简单防止系统休眠(默认保持唤醒)

caffeinate

3. 保持唤醒 1 小时

caffeinate -t 3600

4. 只防止屏幕熄灭

caffeinate -d

5. 跟随某个程序保持唤醒

caffeinate -w $(pgrep -f python)

如何停止?

按下 Ctrl + C 或关闭运行 caffeinate 的终端窗口即可恢复正常休眠行为。

应用场景建议

场景 推荐命令
下载大文件 / 备份 caffeinate -i
深度学习 / 模型训练 caffeinate
运行虚拟机 / NAS 后台服务 caffeinate -d -i -m
视频播放保持亮屏 caffeinate -d
限时唤醒(如跑脚本) caffeinate -t 1800

注意事项

  • caffeinate 不会修改系统设置,只在运行期间生效。
  • 合盖是否睡眠还取决于系统设置和硬件支持(需借助工具如 InsomniaX 防盖板睡眠)。