เครื่องมือ Terminal และ Command-Line (CLI) อันทรงพลังสำหรับการพัฒนาเว็บสมัยใหม่

เผยแพร่แล้ว: 2022-03-10
สรุปอย่างย่อ ↬ เครื่องมือบรรทัดคำสั่งที่คุณชื่นชอบคืออะไร? วันนี้ Louis Lazaris ได้แชร์คอลเล็กชันของแอปบรรทัดคำสั่งและยูทิลิตี้ที่เกี่ยวข้องซึ่งเขาพบเป็นการส่วนตัวในช่วงไม่กี่ปีที่ผ่านมา

โปรแกรมเมอร์สมัยใหม่หลายคน รวมถึงนักพัฒนาฟรอนต์เอนด์และฟูลสแตก ทำงานทุกวันด้วยบรรทัดคำสั่ง แม้แต่ผู้ที่ยังใหม่ต่อการพัฒนาเว็บก็ยังได้รับทักษะบรรทัดคำสั่งตั้งแต่เนิ่นๆ และค้นหาเครื่องมือและยูทิลิตี้ที่ใช้งานได้จริงเพื่อเพิ่มประสิทธิภาพการทำงานในเทอร์มินัล

โพสต์นี้แสดงรายการแอปบรรทัดคำสั่งต่างๆ ที่จัดหมวดหมู่ตามหมวดหมู่ที่ฉันได้ค้นพบเป็นการส่วนตัวในช่วงไม่กี่ปีที่ผ่านมา บางตัวค่อนข้างใหม่ บางตัวมีมานานแล้ว ฉันหวังว่าบางสิ่งในบทสรุปนี้จะทำให้คุณสนใจและช่วยให้คุณทำสิ่งต่างๆ ได้สำเร็จเมื่อทำงานในเทอร์มินัล

คุณสามารถข้ามไปยังหมวดหมู่ได้โดยใช้การนำทางด้านล่าง:

  • แอพเทอร์มินัล
  • ยูทิลิตี้เทอร์มินัลและการปรับปรุง
  • การเขียนสคริปต์บรรทัดคำสั่งและกรอบงาน
  • เครื่องมือเพิ่มประสิทธิภาพการทำงานสำหรับเทอร์มินัล

แอพเทอร์มินัล

ส่วนนี้ประกอบด้วยเทอร์มินัล มัลติเพล็กเซอร์ คอนโซลอีมูเลเตอร์ โมบายล์เทอร์มินัล และพื้นที่ทำงานบรรทัดคำสั่งที่คุณสามารถใช้เพื่อแทนที่แอปเทอร์มินัลเริ่มต้นบนระบบของคุณ

tmux

tmux เป็นเทอร์มินัลมัลติเพล็กเซอร์ยอดนิยมสำหรับระบบปฏิบัติการที่เหมือน Unix ที่ให้คุณสลับไปมาระหว่างหลาย ๆ โปรแกรมในเทอร์มินัลเดียวได้อย่างง่ายดาย ด้วยความสามารถในการ "แยก" เซสชัน (ในขณะที่ยังคงทำงานในพื้นหลัง) หรือ "เชื่อมต่อใหม่" กับโปรแกรมอื่น เทอร์มินัล.

tmux
(ตัวอย่างขนาดใหญ่)

iTerm2

iTerm2 ซึ่งเป็นตัวต่อจาก iTerm เป็นการแทนที่ Terminal ของคุณบน macOS ที่มีคุณลักษณะต่างๆ เช่น บานหน้าต่างแยก การค้นหาที่มีประสิทธิภาพ การเติมข้อความอัตโนมัติ เล่นซ้ำทันที พร้อมด้วยตัวเลือกการกำหนดค่าจำนวนมาก

iTerm2
(ตัวอย่างขนาดใหญ่)

มอช

Mosh เป็นแอปเทอร์มินัลระยะไกล (หรือเชลล์มือถือ) สำหรับการใช้งาน SSH แบบโต้ตอบที่มีคุณลักษณะที่มีประโยชน์หลายอย่างสำหรับผู้ที่ต้องทำงานบนเทอร์มินัลผ่าน WiFi ที่อ่อนแอ เครือข่ายเซลลูลาร์ หรือการเชื่อมต่ออื่นๆ ที่ไม่ค่อยน่าเชื่อถือ

มอช
(ตัวอย่างขนาดใหญ่)

เซลลิจ

Zellij เป็นเวิร์กสเปซเทอร์มินัลที่มีฟังก์ชันพื้นฐานของเทอร์มินัลมัลติเพล็กเซอร์ (คล้ายกับ tmux) แต่มีคุณสมบัติที่อนุญาตให้ผู้ใช้ขยายและสร้างสภาพแวดล้อมส่วนบุคคลผ่านบานหน้าต่าง/แท็บและปลั๊กอิน

เซลลิจ
(ตัวอย่างขนาดใหญ่)

ไฮเปอร์

Hyper คือแอปเทอร์มินัลที่ใช้อิเล็กตรอนสำหรับ Mac, Windows หรือ Linux ที่สร้างขึ้นด้วยเทคโนโลยีเว็บ (HTML/CSS/JS) มีธีมและปลั๊กอินมากมาย สร้างขึ้นจากความเร็วและความเสถียร

ไฮเปอร์
(ตัวอย่างขนาดใหญ่)

cmder

cmder เป็นเครื่องจำลองคอนโซลแบบพกพาสำหรับ Windows ที่สร้างขึ้นเนื่องจากขาดตัวเลือกที่ดีสำหรับผู้ใช้ Windows

cmder
(ตัวอย่างขนาดใหญ่)

เอ-เชลล์

a-Shell เป็นแอป iOS ที่มี 'เทอร์มินัลในกระเป๋าของคุณ' พร้อมการควบคุมไฟล์/ไดเรกทอรี ความเข้ากันได้กับ Apple Shortcuts หลายหน้าต่าง และอีกมากมาย

เอ-เชลล์
(ตัวอย่างขนาดใหญ่)

เทอร์มินัลนิรันดร์

Eternal Terminal เป็นแอปเทอร์มินัลระยะไกลอีกแอปหนึ่งที่ได้รับแรงบันดาลใจจากโปรเจ็กต์ยอดนิยมอื่นๆ ที่คล้ายคลึงกัน

เทอร์มินัลนิรันดร์
(ตัวอย่างขนาดใหญ่)

สิบมือ

Ten Hands เป็นแอปเทอร์มินัลสำหรับ Mac, Linux และ Windows ที่เรียกเก็บเงินเป็นวิธีที่ง่ายที่สุดในการจัดระเบียบและเรียกใช้งานบรรทัดคำสั่ง ซึ่งมีประโยชน์สำหรับผู้ที่ทำงานประจำวันที่คล้ายกันในหลายโครงการ

สิบมือ
(ตัวอย่างขนาดใหญ่)

eDEX-UI

eDEX-UI เป็นโปรแกรมจำลองเทอร์มินัลข้ามแพลตฟอร์มแบบเต็มหน้าจอและการตรวจสอบระบบที่ได้รับแรงบันดาลใจจาก UI ภาพยนตร์นิยายวิทยาศาสตร์ โดยเฉพาะภาพยนตร์ Tron: Legacy

eDEX-UI
(ตัวอย่างขนาดใหญ่)

Tabby

Tabby ซึ่งเดิมเรียกว่า "Terminus" เป็นแอปเทอร์มินัลข้ามแพลตฟอร์มที่ปรับแต่งได้สำหรับการเชื่อมต่อเชลล์ในเครื่อง, SSH, ซีเรียล และ Telnet ซึ่งรวมถึงการสนับสนุนคุณลักษณะต่างๆ เช่น บานหน้าต่างแยก แท็บอัจฉริยะ แป้นลัดที่ปรับแต่งได้ และอื่นๆ อีกมากมาย

Tabby
(ตัวอย่างขนาดใหญ่)

เปลือกปลา

Fish Shell เป็นอีกตัวเลือกหนึ่งสำหรับเชลล์บรรทัดคำสั่งสำหรับ Linux, macOS และ Windows ที่มีการแนะนำอัตโนมัติ การเติมแท็บให้สมบูรณ์ สี 24 บิต การกำหนดค่าบนเว็บ การเน้นไวยากรณ์ และคุณสมบัติอื่นๆ ที่ใช้งานได้จริง

เปลือกปลา
(ตัวอย่างขนาดใหญ่)
เพิ่มเติมหลังกระโดด! อ่านต่อด้านล่าง↓

ยูทิลิตี้เทอร์มินัลและการเพิ่มประสิทธิภาพ

เมื่อคุณมีพื้นที่ทำงานหลักแล้ว คุณจะต้องปรับปรุงมันด้วยเครื่องมือ ยูทิลิตี้ ธีม และอื่นๆ ส่วนนี้ประกอบด้วยเครื่องมือที่มีประโยชน์บางอย่างเพื่อทำให้ประสบการณ์ใช้งานเทอร์มินัลของคุณสนุกสนานยิ่งขึ้น

Oh My Zsh

Oh My Zsh เป็นเฟรมเวิร์กแบบโอเพนซอร์สที่ขับเคลื่อนโดยชุมชนสำหรับจัดการการกำหนดค่าของคุณสำหรับ Z Shell (หรือ Zsh ซึ่งเป็นเชลล์ Unix ยอดนิยม) มาพร้อมกับฟังก์ชันที่เป็นประโยชน์ ตัวช่วย ปลั๊กอิน 300+ ธีม 140+ และอีกมากมาย ทำงานได้ดีที่สุดบน macOS หรือ Linux แต่ยังใช้ได้กับ Windows โดยใช้ Cygwin หรือ WSL2

Oh My Zsh
(ตัวอย่างขนาดใหญ่)

รูปที่

Fig เพิ่มการเติมข้อความอัตโนมัติสไตล์ VSCode ให้กับเทอร์มินัลที่คุณมีอยู่ และรองรับเครื่องมือ CLI ที่มีอยู่ เช่น Git, npm, Kubernetes, Docker, AWS, Google Cloud และอื่นๆ

รูปที่
(ตัวอย่างขนาดใหญ่)

fzf

fzf เป็นโปรแกรมค้นหาที่รวดเร็ว พกพาสะดวก และคลุมเครือสำหรับบรรทัดคำสั่งที่ให้คุณเรียกใช้คำค้นหาที่คลุมเครือด้วยชุดคุณสมบัติที่ครอบคลุม

fzf
(ตัวอย่างขนาดใหญ่)

ประวัติเชลล์

ประวัติเชลล์ (ไม่ฟรี) เป็นแอป macOS ที่ทำงานร่วมกับ Bash, Zsh หรือ Fish และช่วยให้คุณสามารถสำรองข้อมูลและซิงค์ผ่าน iCloud และจัดระเบียบประวัติเชลล์ของคุณใน "โน้ตบุ๊ก"

ประวัติเชลล์
(ตัวอย่างขนาดใหญ่)

htop

htop เป็นโปรแกรมดูกระบวนการเชิงโต้ตอบ ซึ่งเดิมใช้เฉพาะ Linux เท่านั้น แต่ปัจจุบันเป็นแบบข้ามแพลตฟอร์ม ซึ่งมีจุดมุ่งหมายเพื่อปรับปรุงบนคำสั่ง top ของ Linux โดยการจัดเตรียมคุณลักษณะพิเศษเมื่อดูกระบวนการที่ทำงานอยู่

htop
(ตัวอย่างขนาดใหญ่)

GitHub CLI

ในกรณีที่คุณพลาด GitHub CLI คืออินเทอร์เฟซบรรทัดคำสั่งข้ามแพลตฟอร์มอย่างเป็นทางการสำหรับ GitHub นำคำขอดึง ปัญหา และงานอื่นๆ ที่เกี่ยวข้องกับ GitHub ไปยังเทอร์มินัลของคุณ

GitHub CLI
(ตัวอย่างขนาดใหญ่)

สตรีมฮัท

Streamhut ให้คุณแชร์เทอร์มินัลของคุณแบบเรียลไทม์โดยไม่ต้องติดตั้งอะไรเลย เพียงเรียกใช้คำสั่งใดคำสั่งหนึ่งจากสองคำสั่ง (ขึ้นอยู่กับการตั้งค่าของคุณ) ซึ่งมีประโยชน์สำหรับเซสชันเทอร์มินัลแบบสดในการทำงานร่วมกันเป็นทีม การสัมภาษณ์ หรือการสอน

สตรีมฮัท
(ตัวอย่างขนาดใหญ่)

icdiff

icdiff เป็นเครื่องมือกระจายไฟล์ที่ใช้เทอร์มินัลซึ่งใช้สีให้เกิดประโยชน์เพื่อนำเสนอส่วนต่างในลักษณะที่ใช้งานได้จริงและเป็นภาพที่มองเห็นได้

icdiff
(ตัวอย่างขนาดใหญ่)

>\_TerminalSplash

TerminalSplash ตามชื่อของมัน เหมือนกับ Unsplash แต่สำหรับธีมของเทอร์มินัล เลือกจากธีมที่ผู้ใช้ส่งมามากกว่า 200 แบบหรือส่งธีมของคุณเอง

TerminalSplash
(ตัวอย่างขนาดใหญ่)

เครื่องปลายทาง

Terminalizer เป็นเครื่องบันทึกเทอร์มินัลที่ปรับแต่งได้และข้ามแพลตฟอร์มที่ให้คุณบันทึกเซสชันเทอร์มินัลแล้วแชร์เป็น GIF แบบเคลื่อนไหวหรือผ่านเว็บเพลเยอร์

เครื่องปลายทาง
(ตัวอย่างขนาดใหญ่)

Asciinema

Asciinema เป็นอีกตัวเลือกยอดนิยมสำหรับการบันทึกและแบ่งปันเทอร์มินัล แต่ไม่มีให้สำหรับ Windows สิ่งที่ยอดเยี่ยมเกี่ยวกับสิ่งนี้คือเอาต์พุตที่บันทึกไว้ไม่ใช่วิดีโอ แต่เป็นแอนิเมชั่นข้อความธรรมดาของเทอร์มินัลเซสชัน ซึ่งหมายความว่าคุณสามารถเลือกและคัดลอก/วางรายการจากการบันทึกได้

Asciinema
(ตัวอย่างขนาดใหญ่)

gtop

gtop เป็นการเพิ่มประสิทธิภาพอีกอย่างหนึ่งของคำสั่ง top ที่มีแดชบอร์ดการตรวจสอบระบบสำหรับเทอร์มินัลของคุณ ต้องใช้ Node.js และรองรับบางส่วนใน Windows

gtop
(ตัวอย่างขนาดใหญ่)

DevDash

DevDash เป็นแดชบอร์ดเทอร์มินัลที่กำหนดค่าได้สูงสำหรับนักพัฒนาและผู้สร้าง คุณสามารถปรับแต่งให้แสดงข้อมูลจากแหล่งต่างๆ เช่น Google Analytics, GitHub, Feedly, เอาต์พุตคำสั่งเชลล์ และอื่นๆ

DevDash
(ตัวอย่างขนาดใหญ่)

ยกย่องชมเชย:

  • ora
    เทอร์มินัลสปินเนอร์ที่หรูหรา
  • tiny-care-terminal
    แดชบอร์ดเล็กๆ ที่พยายามดูแลคุณเมื่อคุณใช้เทอร์มินัล
  • theme.sh
    เชลล์สคริปต์ที่ให้คุณตั้งค่าธีมเทอร์มินัลที่มีธีมที่โหลดไว้ล่วงหน้ามากกว่า 270 ธีม

การเขียนสคริปต์บรรทัดคำสั่งและกรอบงาน

ไลบรารีและเฟรมเวิร์กจำนวนมากบางตัวช่วยให้คุณสร้างและดูแลแอพและยูทิลิตี้บรรทัดคำสั่งของคุณเองได้ ด้านล่างนี้คุณจะพบบางส่วนสำหรับ Bash, JavaScript และอื่นๆ

คำสั่งและพิชิต (cac)

Command And Conquer หรือที่เรียกว่า cac เป็นเฟรมเวิร์ก JavaScript ที่มีน้ำหนักเบาสำหรับการสร้างแอปบรรทัดคำสั่ง ตัวอย่างเช่น มันถูกใช้เพื่อสร้างเครื่องมือนั่งร้านที่ใช้ Node.js หลายตัว

บัญชาการและพิชิต
(ตัวอย่างขนาดใหญ่)

zx

zx เป็นทางเลือกยอดนิยมแทน Bash จากวิศวกรของ Google ที่ให้คุณเขียนแอปบรรทัดคำสั่งโดยใช้ JavaScript ที่มี API ที่ใช้งานง่าย ซึ่งช่วยให้คุณเรียกใช้ไฟล์เรียกทำงานและรับเอาต์พุต จัดการข้อผิดพลาด และอื่นๆ

zx
(ตัวอย่างขนาดใหญ่)

present

present เป็นเครื่องมือนำเสนอแบบ Markdown สำหรับเทอร์มินัลที่มีสีและเอฟเฟกต์ และให้คุณเล่นบล็อคโค้ดที่สามารถเล่นได้ที่บันทึกไว้ล่วงหน้าเป็นสไลด์

ปัจจุบัน
(ตัวอย่างขนาดใหญ่)

บาค

Bach เป็นเฟรมเวิร์กการทดสอบ Bash ที่สามารถใช้ในการทดสอบสคริปต์ที่มีคำสั่งที่เป็นอันตราย เช่น rm -rf / และยังมี API (เช่น @mock , @ignore , @mockallto เป็นต้น) เพื่อจำลองคำสั่ง

บาค
(ตัวอย่างขนาดใหญ่)

CLUI

CLUI คือ JavaScript API พร้อมยูทิลิตี้ที่ช่วยให้คุณสร้างอินเทอร์เฟซบรรทัดคำสั่งที่มีการเติมข้อความอัตโนมัติตามบริบทในแอปของคุณ (เช่น แอปพลิเคชันที่เหมือนเทอร์มินัลที่ผู้ใช้โต้ตอบด้วย)

CLUI
(ตัวอย่างขนาดใหญ่)

ShellCheck

ShellCheck เป็นส่วนขยายของเชลล์ที่จะช่วยคุณค้นหาจุดบกพร่องในเชลล์สคริปต์ของคุณ

ShellCheck
(ตัวอย่างขนาดใหญ่)

ยกย่องชมเชย

  • Basho
    ให้คุณเขียนงานเชลล์ที่ซับซ้อนโดยใช้ JavaScript ธรรมดาและเข้ากันได้ดีกับคำสั่งเชลล์และสคริปต์
  • import
    ระบบโมดูลที่รวดเร็วและใช้งานง่ายสำหรับ Bash และเชลล์ Unix อื่นๆ
  • Bash Infinity
    ไลบรารีแบบแยกส่วนและน้ำหนักเบาและเฟรมเวิร์กสำเร็จรูปสำหรับเครื่องมือการเขียนโดยใช้ Bash

เครื่องมือเพิ่มประสิทธิภาพสำหรับเทอร์มินัล

สุดท้าย หมวดหมู่นี้จะรวบรวมตัวอย่างยูทิลิตี้บรรทัดคำสั่งและโปรแกรมเล็กๆ น้อยๆ ที่ช่วยเหลืองานที่เกี่ยวข้องกับประสิทธิภาพการทำงานต่างๆ เช่น การจัดระเบียบสิ่งของ การแชร์ไฟล์ และอื่นๆ

Dash Dash

Dash Dash เป็นไซต์เอกสารออนไลน์ที่นำเสนอหน้าคู่มือ Unix (เช่น หน้าคู่มือ) ในรูปแบบที่น่าพึงพอใจยิ่งขึ้น เพื่อช่วยให้ผู้ที่ไม่ค่อยคุ้นเคยกับเทอร์มินัลเรียนรู้การใช้บรรทัดคำสั่ง

Dash Dash
(ตัวอย่างขนาดใหญ่)

nb

nb เป็นเครื่องมือบรรทัดคำสั่งที่มีคุณสมบัติที่รวมถึงการจดบันทึกย่อของเว็บในเครื่อง บุ๊กมาร์ก การเก็บถาวร และการเข้ารหัส พื้นที่เก็บข้อมูลเป็นข้อความธรรมดา รวมถึงการกำหนดเวอร์ชันที่ใช้ Git การลิงก์สไตล์วิกิ ธีมสี และอื่นๆ อีกมากมาย

nb
(ตัวอย่างขนาดใหญ่)

Rclone

Rclone เป็นโปรแกรมบรรทัดคำสั่งโอเพนซอร์ซที่ให้คุณจัดการไฟล์บนบริการที่เก็บข้อมูลบนคลาวด์มากกว่า 40 รายการ (Amazon S3, Dropbox, Google Drive, Azure เป็นต้น) ประกอบด้วยระบบคลาวด์ที่เทียบเท่ากับคำสั่ง Unix ที่คุ้นเคยและคุณสมบัติอื่นๆ

Rclone
(ตัวอย่างขนาดใหญ่)

navi

navi เป็นเครื่องมือ cheatsheet แบบโต้ตอบสำหรับเทอร์มินัลของคุณ นอกจากคุณสมบัติอื่นๆ แล้ว คุณยังสามารถเรียกดูผ่านที่เก็บ cheatsheet นำเข้า cheatsheets หรือเพิ่มของคุณเองได้

ระบบนำทาง
(ตัวอย่างขนาดใหญ่)

สมุดงาน

สมุดงานเป็นเครื่องมือบรรทัดคำสั่งที่รวดเร็วที่ช่วยให้คุณจัดระเบียบงาน บอร์ด และบันทึกย่อในเทอร์มินัลของคุณ ด้วยคุณสมบัติต่างๆ เช่น การค้นหา/ตัวกรอง ตำแหน่งที่จัดเก็บแบบกำหนดเอง และไวยากรณ์ที่ใช้งานง่าย

สมุดงาน
(ตัวอย่างขนาดใหญ่)

Project Explorer

Project Explorer เป็นเครื่องมือ CLI ที่ให้คุณสร้างการแสดงภาพแบบต้นไม้ของโปรเจ็กต์ใดก็ได้ สิ่งนี้จะมีประโยชน์เมื่อนำสมาชิกใหม่ในทีมหรือเมื่อรับช่วงต่อโปรเจ็กต์ใหม่

Project Explorer
(ตัวอย่างขนาดใหญ่)

transfer.sh

transfer.sh เป็นแอพที่รวดเร็วและใช้งานง่ายสำหรับการแชร์ไฟล์ผ่านบรรทัดคำสั่ง รวมถึงการสนับสนุนบริการต่างๆ เช่น Amazon S3, Google Drive, Storj และระบบไฟล์ในเครื่อง

โอน.sh
(ตัวอย่างขนาดใหญ่)

ยกย่องชมเชย

  • ack
    เครื่องมือค้นหาโค้ด คล้ายกับ grep แต่เหมาะสำหรับโปรแกรมเมอร์ที่ค้นหาซอร์สโค้ดขนาดใหญ่
  • goto
    เชลล์ยูทิลิตี้ที่รองรับการเติมข้อความอัตโนมัติเพื่อนำทางไปยังไดเร็กทอรีนามแฝง
  • bashupload
    อัปโหลดไฟล์ (สูงสุด 50GB) ผ่านบรรทัดคำสั่งเพื่อแชร์ระหว่างเซิร์ฟเวอร์ เดสก์ท็อป และอุปกรณ์มือถือได้อย่างง่ายดาย
  • copyfiles
    ยูทิลิตี้บรรทัดคำสั่งที่เพิ่มคุณสมบัติพิเศษในการคัดลอกไฟล์ในเทอร์มินัลของคุณ

เครื่องมือบรรทัดคำสั่งที่คุณชื่นชอบคืออะไร?

ดังที่กล่าวไว้ นี่ไม่ใช่รายการที่ละเอียดถี่ถ้วน แต่เป็นเพียงคอลเล็กชันแอปบรรทัดคำสั่งและยูทิลิตี้ที่เกี่ยวข้องจำนวนมาก ซึ่งฉันพบเป็นการส่วนตัวในช่วงไม่กี่ปีที่ผ่านมา

หากคุณได้สร้างบางสิ่งขึ้นเองหรือหากมีสิ่งที่คุณใช้เป็นประจำที่เพิ่มประสบการณ์การใช้งานเทอร์มินัลของคุณ อย่าลังเลที่จะแสดงความคิดเห็น!