Shell 辅助函数
Omarchy 自带了一组精心编写的 Shell 辅助函数,用于简化日常高频操作并封装复杂的参数调用。
文件压缩与解压 (Compression)
compress [file/dir]:将指定文件或目录打包压缩为 tar.gz 归档文件。decompress [file.tar.gz]:解压 tar.gz 压缩包。
驱动器与存储管理 (Drives)
iso2sd [image.iso]:通过交互式选择目标驱动器,将指定的 ISO 镜像文件写入 SD 卡或 U 盘制作启动盘。format-drive [device] [name]:将整块磁盘格式化为单个 exFAT 分区(可同时在 Windows 和 macOS 上完美读写)。不带参数运行时会列出所有可用磁盘。请务必谨慎操作!
开发环境布局 (Dev layouts)
为 Tmux 即时生成多窗格开发布局:
tdl [ai]:创建包含编辑器、AI Agent 和终端的 Tmux 开发布局。可以使用 Agent 别名,例如tdl c代表 opencode,tdl cx代表 Claude Code;也可以传入两个 Agent 参数同时运行,如tdl c cx。tds:创建包含编辑器、diff 变更监听(基于hunk diff --watch)、终端以及 opencode 的四等分开发布局。tdlm [ai]:为当前目录下的每个子目录分别创建一个tdl窗口。tsl [count] [command]:创建多窗格网格集群,所有窗格同时运行同一条命令(非常适合运行多个 AI Agent)。
上述布局对于 Herdr 工具同样可用,对应命令为 hdl、hds、hdlm 和 hsl。
Git 工作树 (Git worktrees)
ga [branch]:在当前代码仓库同级目录下创建一个新的 Git Worktree 和分支,并自动跳转进去。gd:删除当前所在的 Worktree 及其分支(执行前会要求确认)。
Rsync 实时同步监听 (Rsync watchers)
rsw [source] [destination]:启动后台监听进程,一旦源目录有任何文件变动,立即通过 rsync 自动同步至目标目录。目标端可以是远程主机,例如rsw ~/Work/app nyc-dev:Work/app。lsw:列出所有正在运行的同步监听进程。dsw:停止所有同步监听进程。
SSH 端口转发 (SSH Portforwarding)
非常适合在本地享受 Localhost 安全上下文权限的同时,针对远程服务器进行 Web 开发调试。
fip:通过 SSH 将远程主机的一个或多个端口转发至本地 Localhost。dip:断开一个或多个端口转发。lip:列出所有处于活动状态的 SSH 端口转发。
假设你在名为 nyc-dev 的远程服务器上启动了端口为 3000 的开发服务,只需运行 fip nyc-dev 3000 转发该端口,访问 localhost:3000 即可直达 nyc-dev:3000,且无需配置复杂的 SSL 证书即可获得测试 WebSocket 等所需的本地安全上下文权限。
SSH 自动重连 (SSH reconnection)
ssh 本身经过了函数封装:如果当远程 Tmux、Herdr 或编辑器占用终端时连接意外断开,它会自动清理终端状态,并在交互式会话中断时自动尝试重连(按下 Ctrl-C 可终止重连循环)。