macOS
快捷键
⌘= Command(toDesk:Win 键)⌥= Option (toDesk:Alt)⌃= Control(toDesk:Ctrl)⇧= Shift␣= Space
通用
| Key Groups | Function | Remark |
|---|---|---|
⌘ + C / V / X / Z / ⇧ + Z | 复制、粘贴、剪切、撤销、重做 | 和Windows一样,只不过是 ⌘ 键 + 按键 |
⌃ + ␣ | 切换输入法 | macOS 10.10 或更低版本:⌘ + ␣ |
⌘ + ␣ | Spotlight 聚焦搜索 | 键入 terminal、活动监视器 等 |
⌘ + Tab | 切换应用程序 | 按住 ⌘ 不放,按 Tab 选择 |
⌘ + Q | 完全退出当前应用 | 和Windows关闭窗口不同,macOS应用通常只是关窗,这个才是彻底退出 |
⌘ + ⇧ + H | 访达:个人文件夹 | |
⌘ + ⇧ + . | 显式文件夹内的隐藏文件/夹 | |
⌘ + ↑ / ↓ | 进入 上 / 下 级文件夹 | |
⌘ + ⇧ + N | 新建文件夹 | |
⌘ + ⌥ + V | 移动文件 | 先复制文件(⌘+C),然后在目标文件夹按此键进行移动 |
| `` | ||
| `` |
终端
(Terminal/iTerm2)
| Key Groups | Function | Remark |
|---|---|---|
⌃ + C | 中断当前进程 | 和Linux/Unix一致 |
⌃ + D | 退出当前Shell/EOF | |
⌃ + A / E | 光标移动到行首/行末 | 在命令行编辑时非常有用 |
⌃ + U | 删除光标前所有字符 | |
⌘ + K | 清屏 | 在Terminal中清空屏幕内容 |
⌘ + D | 分屏 | |
⌘ + ⇧ + D | 取消分屏 | iTerm2 中 ⌘ + ⇧ + D 是水平分屏,而取消/关闭分屏通常用 ⌘ + W 关闭当前窗格。 |
⌘ + W | 关闭当前分屏 |
窗口与分屏管理
| Key Groups | Function | Remark |
|---|---|---|
⌘ + ⌥ + D | 显示/隐藏Dock栏 | 给编辑器腾出更多空间 |
⌃ + ↑ | 打开调度中心 | 查看所有窗口和虚拟桌面 |
⌃ + ← / → | 切换虚拟桌面 | 如果你设置了多个桌面 |
命令
提示
- 多行命令:行尾键入
\续行符。 - 查看命令安装位置:
which <command-name>、whereis <command-name>
提示
系统默认不包含开发套件,使用 git -v 诱饵命令触发 /usr/libexec/ota(Over The Air,无线下载安装)的系统守护进程。
它自动下载一整套完整的 Unix开发环境,主要包含以下几类工具:
A. 版本控制系统
- git:最核心的版本控制工具。
- svn(Subversion):虽然现在较少使用,但早期版本默认包含,新版本可能已移除或作为可选。
B. 编译器与构建工具
- Clang/LLVM:Apple 官方的 C、C++、Objective-C 编译器(通过
clang或gcc命令调用)。 - Make:经典的构建自动化工具(
make命令)。 - autoconf/automake/libtool:用于生成配置脚本和编译库的工具链。
- Linker(链接器):如
ld。
C. 系统头文件与框架
- 这是非常重要的一部分。包含了 macOS 内核级别的 C 语言头文件(
/usr/include/),以及 CoreFoundation、Cocoa 等底层框架的开发头文件。这允许你在命令行中编译调用系统API的C程序。
D. 核心 Unix 命令的扩展
- openssl:加密工具和库。
- Python 2/3(历史版本中自带,新版本macOS可能不再捆绑,但命令行工具可能会安装或依赖其库)。
- Perl、Ruby:脚本语言解释器及开发库。
- rsync、curl、ssh:网络和文件同步工具。
E. 调试与分析工具
- lldb:LLVM项目的调试器(类似于GDB)。
- dwarfdump:用于查看调试信息。
- otool:查看Mach-O二进制文件(macOS可执行文件格式)结构的工具。
F. 性能测试工具
- xctrace:用于录制系统性能数据。
文件、文件夹
# 桌面创建文件
touch ~/Desktop/openclaw-token.txt
# 指定应用程序打开文件
open [-a TextEdit] openclaw-token.txt
# nano、vim 也可以
网络代理
命令行代理
仅当前终端内的网络请求,或终端内启动的 node 服务器等生效。
# 设置 HTTP/HTTPS 代理
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
# 设置 SOCKS5 代理(如果需要)
export all_proxy=socks5://127.0.0.1:7890
# 设置 FTP 代理
export ftp_proxy=http://127.0.0.1:7890
# 设置无代理列表(绕过代理)
export no_proxy="localhost,127.0.0.1,::1"
# 测试代理是否工作 看输出的http状态码
curl -I http://www.google.com
全局代理
echo 'export http_proxy=http://127.0.0.1:7890' >> ~/.zshrc
echo 'export https_proxy=http://127.0.0.1:7890' >> ~/.zshrc
source ~/.zshrc
# 测试代理是否工作 看输出的http状态码
curl -I http://www.google.com
图形化操作
- 系统偏好设置 → 网络
- 选择当前网络连接(Wi-Fi 或以太网)
- 点击高级 → 代理选项卡
- 配置代理:
- 勾选"网页代理(HTTP)":
127.0.0.1:7890 - 勾选"安全网页代理(HTTPS)":
127.0.0.1:7890 - 勾选"SOCKS 代理":
127.0.0.1:7890(如果需要)
- 勾选"网页代理(HTTP)":
端口占用
lsof
# Step 1: 查找 PID(和macOS通用)
lsof -ti :18789
# 示例输出
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 12345 alice 12u IPv4 0t0 0t0 TCP *:18789 (LISTEN)
node 12345 alice 13u IPv4 0t0 0t0 TCP 192.168.1.5:18789->192.168.1.10:54321 (ESTABLISHED)
# Step 2: 杀死进程(和macOS通用)
kill -9 $(lsof -ti :18789)
| 列名 | 含义 | 示例 |
|---|---|---|
| COMMAND | 进程名称 | node, python, java |
| PID | 进程ID | 12345 |
| USER | 运行用户 | root, alice |
| FD | 文件描述符 | 12u (u=读写) |
| TYPE | 协议类型 | IPv4, IPv6 |
| DEVICE | 设备号 | 0t0 |
| SIZE/OFF | 文件大小/偏移量 | 0t0 |
| NODE | 协议节点 | TCP |
| NAME | 地址:端口 | *:18789 (监听), 192.168.1.5:18789->192.168.1.10:54321 (连接) |
提示
使用别名:
# 查看端口占用
alias port='lsof -i'
# 杀死指定端口进程
alias killport='function _killport() { kill -9 $(lsof -ti :$1) 2>/dev/null || echo "端口 $1 未被占用"; }; _killport'
# 使用示例:
# port :18789 # 查看 18789 端口
# killport 18789 # 杀死占用 18789 端口的进程
