셸 함수¶
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처럼 두 번째 에이전트를 전달해 둘 다 실행하세요.tds: 편집기, diff 감시(hunk diff --watch사용), 터미널, opencode로 구성된 Tmux Dev Square를 만듭니다.tdlm [ai]: 현재 디렉터리의 모든 하위 디렉터리에 대해tdl창을 만듭니다.tsl [count] [command]: 모두 같은 명령을 실행하는 창들을 격자로 타일링한 집합을 만듭니다(AI 에이전트에 좋습니다).
같은 레이아웃을 Herdr용으로 hdl, hds, hdlm, hsl로 사용할 수도 있습니다.
Git 워크트리¶
ga [branch]: 현재 저장소 옆에 새 워크트리와 브랜치를 만들고 그곳으로 이동합니다.gd: 현재 워크트리와 그 브랜치를 제거합니다(먼저 확인을 요청합니다).
Rsync 감시자¶
rsw [source] [destination]: 변경이 있을 때마다 소스를 대상으로 rsync하는 백그라운드 감시자를 시작합니다. 대상은rsw ~/Work/app nyc-dev:Work/app처럼 원격 호스트일 수 있습니다.lsw: 모든 활성 감시자를 나열합니다.dsw: 모든 활성 감시자를 중지합니다.
SSH 포트포워딩¶
원격 컴퓨터를 상대로 localhost 보안 컨텍스트 권한을 사용해 웹 개발을 하는 데 이상적입니다.
fip: SSH를 통해 원격 호스트의 하나 이상의 포트를 localhost로 전달합니다.dip: 전달된 포트 중 하나 이상의 연결을 끊습니다.lip: 모든 활성 SSH 포트 전달을 나열합니다.
예를 들어 nyc-dev로 접근할 수 있는 컴퓨터에서 포트 3000으로 개발 서버를 시작했다면, fip nyc-dev 3000을 실행해 해당 포트를 전달할 수 있습니다. 그러면 localhost:3000이 실제로 nyc-dev:3000에 연결되지만, 웹 소켓 같은 것을 테스트하는 데 필요한 보안 컨텍스트를 확립하기 위한 SSL 인증서는 필요하지 않습니다.
SSH 재연결¶
ssh 자체는 원격 tmux, Herdr, 편집기가 터미널을 차지한 상태에서 연결이 끊어지면 터미널을 정리한 뒤, 대화형 세션이 끊어지면 자동으로 재연결하는 함수로 감싸져 있습니다(Ctrl-C를 누르면 재시도 루프가 중지됩니다).