シェル関数¶
OmarOS には、一般的な作業を簡素化し、面倒なパラメータ呼び出しをカプセル化するシェル関数のセットが付属しています。
圧縮¶
compress [file/dir]: ファイル/ディレクトリから tar.gz アーカイブを作成します。decompress [file.tar.gz]: tar.gz ファイルを展開します。
ドライブ¶
iso2sd [image.iso]: 参照した iso ファイルを使い、ドライブを対話的に選んで SD カード上にブータブルドライブを作成します。format-drive [device] [name]: ディスク全体を単一の exFAT パーティションでフォーマットします(Windows や macOS でも使えます)。引数なしで実行すると利用可能なドライブが表示されます。注意してください!
開発レイアウト¶
tmux 向けの即席マルチペイン開発レイアウトです:
tdl [ai]: エディタ、AI エージェント、ターミナルを備えた Tmux Dev Layout を作成します。opencode にはtdl c、Claude Code にはtdl cxのようなエージェントエイリアスを使ったり、tdl c cxのように2つ目のエージェントを渡して両方を実行したりできます。tds: エディタ、差分監視(hunk diff --watch経由)、ターミナル、opencode を備えた Tmux Dev Square を作成します。tdlm [ai]: 現在のディレクトリのすべてのサブディレクトリに対してtdlウィンドウを作成します。tsl [count] [command]: グリッド状にタイルされたペインの群れを作成し、すべて同じコマンドを実行します(AI エージェントに最適です)。
同じレイアウトは Herdr 向けに hdl、hds、hdlm、hsl として利用できます。
Git worktree¶
ga [branch]: 現在のリポジトリの隣に新しい worktree とブランチを作成し、その中へジャンプします。gd: 現在の worktree とそのブランチを削除します(最初に確認を求めます)。
Rsync ウォッチャー¶
rsw [source] [destination]: 何か変更があるたびにソースから宛先へ rsync するバックグラウンドウォッチャーを開始します。宛先はrsw ~/Work/app nyc-dev:Work/appのようなリモートホストでも構いません。lsw: すべての有効なウォッチャーを一覧表示します。dsw: すべての有効なウォッチャーを停止します。
SSH ポート転送¶
リモートマシンに対して localhost のセキュアコンテキスト特権で Web 開発を行うのに理想的です。
fip: SSH 経由でリモートホストから localhost へ1つ以上のポートを転送します。dip: 転送された1つ以上のポートを切断します。lip: すべての有効な SSH ポート転送を一覧表示します。
たとえば nyc-dev としてアクセスできるマシン上でポート 3000 の開発サーバーを開始した場合、fip nyc-dev 3000 を実行してそのポートを転送できます。すると localhost:3000 が実際に nyc-dev:3000 に届きますが、Web ソケットなどのテストに必要なセキュアコンテキストを確立するための SSL 証明書は不要です。
SSH 再接続¶
ssh 自体は関数でラップされており、リモートの tmux、Herdr、エディタがターミナルを占有している間に接続が切れた場合にターミナルをクリーンアップし、対話セッションが切断されたら自動で再接続します(Ctrl-C で再試行ループが停止します)。