Omarchy LogoOMARCHYPULSE

Shell 헬퍼 함수

Omarchy에는 일상적인 작업 흐름을 단순화하고 복잡한 CLI 매개변수 호출을 깔끔하게 캡슐화한 실용적인 셸 헬퍼 함수들이 기본 포함되어 있습니다.

압축 및 해제 (Compression)

  • compress [file/dir]: 지정한 파일 또는 디렉터리로부터 tar.gz 압축 아카이브를 생성합니다.
  • decompress [file.tar.gz]: tar.gz 압축 파일을 해제합니다.

드라이브 및 저장 장치 관리 (Drives)

  • iso2sd [image.iso]: 대상 ISO 파일을 대화형으로 선택한 SD 카드나 USB 드라이브에 기록하여 부팅 가능한 드라이브를 제작합니다.
  • format-drive [device] [name]: 디스크 전체를 단일 exFAT 파티션(Windows 및 macOS에서도 호환)으로 포맷합니다. 인자 없이 실행하면 사용 가능한 드라이브 목록을 출력합니다. 주의해서 사용하세요!

개발 환경 레이아웃 (Dev layouts)

Tmux용 멀티 패널 개발 레이아웃을 즉시 생성합니다:

  • tdl [ai]: 에디터, AI Agent, 터미널이 포함된 Tmux 개발 레이아웃을 생성합니다. tdl c(opencode)나 tdl cx(Claude Code) 같은 별칭을 사용할 수 있으며, tdl c cx처럼 두 개의 Agent를 전달하여 동시에 실행할 수도 있습니다.
  • tds: 에디터, diff 실시간 감지(hunk diff --watch 연동), 터미널, opencode로 구성된 4분할 개발 사각 격자를 만듭니다.
  • tdlm [ai]: 현재 디렉터리의 모든 하위 디렉터리에 대해 개별 tdl 윈도우를 생성합니다.
  • tsl [count] [command]: 동일한 명령을 실행하는 타일형 격자 스웜(Swarm) 패널을 생성합니다(여러 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 보안 컨텍스트 권한을 활용하여 웹 개발을 진행할 때 최적입니다.

  • 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로 재시도 루프 중단 가능).