从命令行截取全屏、选区、窗口或一段屏幕录像。
screencapture 支持交互和参数化两种用法:-i 交互选择,-w 直接选窗口,-R x,y,w,h 指定矩形,-c 输出到剪贴板,-t png|jpg|pdf 指定格式,-x 关闭快门声,-l 窗口ID 截指定窗口,-V 秒数 录一段屏幕视频。不给文件名时,图片默认写到桌面。
边界:macOS 10.15 起需要“屏幕录制”权限,未授权时截出来可能是桌面壁纸或直接失败;授权在“系统设置 > 隐私与安全性 > 屏幕录制”,改完通常要重开终端。-i 依赖图形会话,SSH 或无窗口上下文无法交互。截取受保护视频、DRM 内容时可能得到黑屏,这是系统限制。
# 1. 交互选择区域,保存为 PNG
% screencapture -i ~/Desktop/region.png
# 2. 截全屏,静音、JPEG 格式
% screencapture -x -tjpg ~/Desktop/full.jpg
# 3. 交互截图并直接放入剪贴板,再粘贴到聊天窗口
% screencapture -i -c
# 4. 截取固定矩形区域;坐标以主屏左上角为原点
% screencapture -R0,0,1440,900 ~/Desktop/top-left.png
# 5. 交互选窗口,-o 去掉窗口阴影
% screencapture -w -o ~/Desktop/window.png
# 6. 录 10 秒屏幕视频
% screencapture -V10 ~/Desktop/recording.mov
-R 的坐标单位是点,不是像素;Retina 屏输出的像素尺寸会翻倍,做自动化对比时要按缩放换算。-c 只把图片放进剪贴板,pbpaste 读不出图像;要落盘就传文件名,或直接用支持图片的剪贴板工具。-V 录制时终端必须保持运行,提前结束用 Ctrl-C;长录像注意磁盘空间。pbpaste、pbcopy — 处理文本剪贴板。osascript — 自动打开截图、发通知或操作窗口。defaults — 修改默认截图保存位置和格式。tasklist — 对照 Windows 的进程与窗口排查思路。xclip — 对照 X11 下的剪贴板与截图配合。合上页面,先回答,再展开对照。
-i、-w、-R 三种截图方式分别适合什么场景?screencapture -i -c 之后能用 pbpaste 取出图片吗?为什么?-i 交互选择区域或窗口,-w 直接选窗口,-R 按固定坐标和尺寸截取,适合自动化。pbpaste 只处理文本,剪贴板中的图片要用图形应用粘贴或专门工具保存。
小程序版
微信扫码,随时查命令