ข้ามไปที่เนื้อหา

ฟังก์ชัน Shell

OmarOS มาพร้อมชุดฟังก์ชัน shell เพื่อทำให้งานทั่วไปง่ายขึ้นและห่อหุ้มการเรียกพารามิเตอร์ที่ยุ่งยาก

การบีบอัด

  • compress [file/dir]: สร้างไฟล์เก็บถาวร tar.gz จากไฟล์/ไดเรกทอรี
  • decompress [file.tar.gz]: ขยายไฟล์ tar.gz

ไดรฟ์

  • iso2sd [image.iso]: สร้างไดรฟ์บูตได้บนการ์ด SD โดยใช้ไฟล์ iso ที่อ้างอิงและเลือกไดรฟ์แบบโต้ตอบ
  • format-drive [device] [name]: ฟอร์แมตดิสก์ทั้งหมดด้วยพาร์ติชัน exFAT เดียว (ซึ่งใช้บน Windows และ macOS ได้ด้วย) รันโดยไม่มีอาร์กิวเมนต์เพื่อดูไดรฟ์ที่มีอยู่ โปรดระวัง!

เค้าโครงพัฒนา

เค้าโครงพัฒนาแบบหลายบานทันใจสำหรับ tmux:

  • tdl [ai]: สร้าง Tmux Dev Layout พร้อมโปรแกรมแก้ไขของคุณ เอเจนต์ AI และเทอร์มินัล ใช้นามแฝงของเอเจนต์ เช่น tdl c สำหรับ opencode หรือ tdl cx สำหรับ Claude Code หรือส่งเอเจนต์ตัวที่สองเพื่อรันทั้งคู่ เช่น tdl c cx
  • tds: สร้าง Tmux Dev Square พร้อมโปรแกรมแก้ไข การเฝ้าดู diff (ผ่าน hunk diff --watch) เทอร์มินัล และ opencode
  • tdlm [ai]: สร้างหน้าต่าง tdl สำหรับทุกไดเรกทอรีย่อยในไดเรกทอรีปัจจุบัน
  • tsl [count] [command]: สร้างฝูงบานเรียงเป็นตาราง ทั้งหมดรันคำสั่งเดียวกัน (เหมาะมากสำหรับเอเจนต์ AI)

เค้าโครงเดียวกันนี้ก็มีให้สำหรับ Herdr ในชื่อ hdl, hds, hdlm และ hsl

Git worktrees

  • ga [branch]: สร้าง worktree และ branch ใหม่ข้างรีโพสิทอรีปัจจุบันแล้วกระโดดเข้าไป
  • gd: ลบ worktree ปัจจุบันและ branch ของมัน (จะขอการยืนยันก่อน)

ตัวเฝ้าดู Rsync

  • rsw [source] [destination]: เริ่มตัวเฝ้าดูเบื้องหลังที่จะ rsync จากต้นทางไปยังปลายทางทุกครั้งที่มีอะไรเปลี่ยนแปลง ปลายทางเป็นโฮสต์ระยะไกลได้ เช่น rsw ~/Work/app nyc-dev:Work/app
  • lsw: แสดงตัวเฝ้าดูที่ सक्रियอยู่ทั้งหมด
  • dsw: หยุดตัวเฝ้าดูที่ ใช้งานอยู่อยู่ทั้งหมด

การส่งต่อพอร์ต SSH

เหมาะมากสำหรับการพัฒนาเว็บด้วยสิทธิ์ secure-context ของ localhost เทียบกับเครื่องระยะไกล

  • fip: ส่งต่อพอร์ตหนึ่งพอร์ตขึ้นไปจากโฮสต์ระยะไกลมายัง localhost ผ่าน SSH
  • dip: ตัดการเชื่อมต่อพอร์ตที่ส่งต่อไว้หนึ่งพอร์ตขึ้นไป
  • lip: แสดงการส่งต่อพอร์ต SSH ที่ ใช้งานอยู่อยู่ทั้งหมด

สมมติคุณเปิดเซิร์ฟเวอร์พัฒนาที่พอร์ต 3000 บนเครื่องที่เข้าถึงได้ในชื่อ nyc-dev จากนั้นคุณก็รัน fip nyc-dev 3000 เพื่อส่งต่อพอร์ตนั้น เพื่อให้ localhost:3000 เข้าถึง nyc-dev:3000 ได้จริง แต่โดยไม่ต้องมีใบรับรอง SSL เพื่อสร้าง secure context ที่จำเป็นสำหรับการทดสอบ web socket หรืออะไรทำนองนั้น

การเชื่อมต่อ SSH ซ้ำ

ssh เองถูกห่ออยู่ในฟังก์ชันที่จะทำความสะอาดเทอร์มินัลหากการเชื่อมต่อตายขณะที่ tmux, Herdr หรือโปรแกรมแก้ไขระยะไกลยึดมันไว้ จากนั้นจะเชื่อมต่อซ้ำโดยอัตโนมัติเมื่อเซสชันโต้ตอบหลุด (Ctrl-C หยุดวงวนลองซ้ำ)