เครื่องมือ Terminal และ Command-Line (CLI) อันทรงพลังสำหรับการพัฒนาเว็บสมัยใหม่
เผยแพร่แล้ว: 2022-03-10โปรแกรมเมอร์สมัยใหม่หลายคน รวมถึงนักพัฒนาฟรอนต์เอนด์และฟูลสแตก ทำงานทุกวันด้วยบรรทัดคำสั่ง แม้แต่ผู้ที่ยังใหม่ต่อการพัฒนาเว็บก็ยังได้รับทักษะบรรทัดคำสั่งตั้งแต่เนิ่นๆ และค้นหาเครื่องมือและยูทิลิตี้ที่ใช้งานได้จริงเพื่อเพิ่มประสิทธิภาพการทำงานในเทอร์มินัล
โพสต์นี้แสดงรายการแอปบรรทัดคำสั่งต่างๆ ที่จัดหมวดหมู่ตามหมวดหมู่ที่ฉันได้ค้นพบเป็นการส่วนตัวในช่วงไม่กี่ปีที่ผ่านมา บางตัวค่อนข้างใหม่ บางตัวมีมานานแล้ว ฉันหวังว่าบางสิ่งในบทสรุปนี้จะทำให้คุณสนใจและช่วยให้คุณทำสิ่งต่างๆ ได้สำเร็จเมื่อทำงานในเทอร์มินัล
คุณสามารถข้ามไปยังหมวดหมู่ได้โดยใช้การนำทางด้านล่าง:
- แอพเทอร์มินัล
- ยูทิลิตี้เทอร์มินัลและการปรับปรุง
- การเขียนสคริปต์บรรทัดคำสั่งและกรอบงาน
- เครื่องมือเพิ่มประสิทธิภาพการทำงานสำหรับเทอร์มินัล
แอพเทอร์มินัล
ส่วนนี้ประกอบด้วยเทอร์มินัล มัลติเพล็กเซอร์ คอนโซลอีมูเลเตอร์ โมบายล์เทอร์มินัล และพื้นที่ทำงานบรรทัดคำสั่งที่คุณสามารถใช้เพื่อแทนที่แอปเทอร์มินัลเริ่มต้นบนระบบของคุณ
tmux
tmux
เป็นเทอร์มินัลมัลติเพล็กเซอร์ยอดนิยมสำหรับระบบปฏิบัติการที่เหมือน Unix ที่ให้คุณสลับไปมาระหว่างหลาย ๆ โปรแกรมในเทอร์มินัลเดียวได้อย่างง่ายดาย ด้วยความสามารถในการ "แยก" เซสชัน (ในขณะที่ยังคงทำงานในพื้นหลัง) หรือ "เชื่อมต่อใหม่" กับโปรแกรมอื่น เทอร์มินัล.
iTerm2
iTerm2
ซึ่งเป็นตัวต่อจาก iTerm เป็นการแทนที่ Terminal ของคุณบน macOS ที่มีคุณลักษณะต่างๆ เช่น บานหน้าต่างแยก การค้นหาที่มีประสิทธิภาพ การเติมข้อความอัตโนมัติ เล่นซ้ำทันที พร้อมด้วยตัวเลือกการกำหนดค่าจำนวนมาก
มอช
Mosh เป็นแอปเทอร์มินัลระยะไกล (หรือเชลล์มือถือ) สำหรับการใช้งาน SSH แบบโต้ตอบที่มีคุณลักษณะที่มีประโยชน์หลายอย่างสำหรับผู้ที่ต้องทำงานบนเทอร์มินัลผ่าน WiFi ที่อ่อนแอ เครือข่ายเซลลูลาร์ หรือการเชื่อมต่ออื่นๆ ที่ไม่ค่อยน่าเชื่อถือ
เซลลิจ
Zellij เป็นเวิร์กสเปซเทอร์มินัลที่มีฟังก์ชันพื้นฐานของเทอร์มินัลมัลติเพล็กเซอร์ (คล้ายกับ tmux) แต่มีคุณสมบัติที่อนุญาตให้ผู้ใช้ขยายและสร้างสภาพแวดล้อมส่วนบุคคลผ่านบานหน้าต่าง/แท็บและปลั๊กอิน
ไฮเปอร์
Hyper คือแอปเทอร์มินัลที่ใช้อิเล็กตรอนสำหรับ Mac, Windows หรือ Linux ที่สร้างขึ้นด้วยเทคโนโลยีเว็บ (HTML/CSS/JS) มีธีมและปลั๊กอินมากมาย สร้างขึ้นจากความเร็วและความเสถียร
cmder
cmder
เป็นเครื่องจำลองคอนโซลแบบพกพาสำหรับ Windows ที่สร้างขึ้นเนื่องจากขาดตัวเลือกที่ดีสำหรับผู้ใช้ Windows
เอ-เชลล์
a-Shell เป็นแอป iOS ที่มี 'เทอร์มินัลในกระเป๋าของคุณ' พร้อมการควบคุมไฟล์/ไดเรกทอรี ความเข้ากันได้กับ Apple Shortcuts หลายหน้าต่าง และอีกมากมาย
เทอร์มินัลนิรันดร์
Eternal Terminal เป็นแอปเทอร์มินัลระยะไกลอีกแอปหนึ่งที่ได้รับแรงบันดาลใจจากโปรเจ็กต์ยอดนิยมอื่นๆ ที่คล้ายคลึงกัน
สิบมือ
Ten Hands เป็นแอปเทอร์มินัลสำหรับ Mac, Linux และ Windows ที่เรียกเก็บเงินเป็นวิธีที่ง่ายที่สุดในการจัดระเบียบและเรียกใช้งานบรรทัดคำสั่ง ซึ่งมีประโยชน์สำหรับผู้ที่ทำงานประจำวันที่คล้ายกันในหลายโครงการ
eDEX-UI
eDEX-UI เป็นโปรแกรมจำลองเทอร์มินัลข้ามแพลตฟอร์มแบบเต็มหน้าจอและการตรวจสอบระบบที่ได้รับแรงบันดาลใจจาก UI ภาพยนตร์นิยายวิทยาศาสตร์ โดยเฉพาะภาพยนตร์ Tron: Legacy
Tabby
Tabby ซึ่งเดิมเรียกว่า "Terminus" เป็นแอปเทอร์มินัลข้ามแพลตฟอร์มที่ปรับแต่งได้สำหรับการเชื่อมต่อเชลล์ในเครื่อง, SSH, ซีเรียล และ Telnet ซึ่งรวมถึงการสนับสนุนคุณลักษณะต่างๆ เช่น บานหน้าต่างแยก แท็บอัจฉริยะ แป้นลัดที่ปรับแต่งได้ และอื่นๆ อีกมากมาย
เปลือกปลา
Fish Shell เป็นอีกตัวเลือกหนึ่งสำหรับเชลล์บรรทัดคำสั่งสำหรับ Linux, macOS และ Windows ที่มีการแนะนำอัตโนมัติ การเติมแท็บให้สมบูรณ์ สี 24 บิต การกำหนดค่าบนเว็บ การเน้นไวยากรณ์ และคุณสมบัติอื่นๆ ที่ใช้งานได้จริง
ยูทิลิตี้เทอร์มินัลและการเพิ่มประสิทธิภาพ
เมื่อคุณมีพื้นที่ทำงานหลักแล้ว คุณจะต้องปรับปรุงมันด้วยเครื่องมือ ยูทิลิตี้ ธีม และอื่นๆ ส่วนนี้ประกอบด้วยเครื่องมือที่มีประโยชน์บางอย่างเพื่อทำให้ประสบการณ์ใช้งานเทอร์มินัลของคุณสนุกสนานยิ่งขึ้น
Oh My Zsh
Oh My Zsh เป็นเฟรมเวิร์กแบบโอเพนซอร์สที่ขับเคลื่อนโดยชุมชนสำหรับจัดการการกำหนดค่าของคุณสำหรับ Z Shell (หรือ Zsh ซึ่งเป็นเชลล์ Unix ยอดนิยม) มาพร้อมกับฟังก์ชันที่เป็นประโยชน์ ตัวช่วย ปลั๊กอิน 300+ ธีม 140+ และอีกมากมาย ทำงานได้ดีที่สุดบน macOS หรือ Linux แต่ยังใช้ได้กับ Windows โดยใช้ Cygwin หรือ WSL2
รูปที่
Fig เพิ่มการเติมข้อความอัตโนมัติสไตล์ VSCode ให้กับเทอร์มินัลที่คุณมีอยู่ และรองรับเครื่องมือ CLI ที่มีอยู่ เช่น Git, npm, Kubernetes, Docker, AWS, Google Cloud และอื่นๆ
fzf
fzf
เป็นโปรแกรมค้นหาที่รวดเร็ว พกพาสะดวก และคลุมเครือสำหรับบรรทัดคำสั่งที่ให้คุณเรียกใช้คำค้นหาที่คลุมเครือด้วยชุดคุณสมบัติที่ครอบคลุม
ประวัติเชลล์
ประวัติเชลล์ (ไม่ฟรี) เป็นแอป macOS ที่ทำงานร่วมกับ Bash, Zsh หรือ Fish และช่วยให้คุณสามารถสำรองข้อมูลและซิงค์ผ่าน iCloud และจัดระเบียบประวัติเชลล์ของคุณใน "โน้ตบุ๊ก"
htop
htop
เป็นโปรแกรมดูกระบวนการเชิงโต้ตอบ ซึ่งเดิมใช้เฉพาะ Linux เท่านั้น แต่ปัจจุบันเป็นแบบข้ามแพลตฟอร์ม ซึ่งมีจุดมุ่งหมายเพื่อปรับปรุงบนคำสั่ง top
ของ Linux โดยการจัดเตรียมคุณลักษณะพิเศษเมื่อดูกระบวนการที่ทำงานอยู่
GitHub CLI
ในกรณีที่คุณพลาด GitHub CLI คืออินเทอร์เฟซบรรทัดคำสั่งข้ามแพลตฟอร์มอย่างเป็นทางการสำหรับ GitHub นำคำขอดึง ปัญหา และงานอื่นๆ ที่เกี่ยวข้องกับ GitHub ไปยังเทอร์มินัลของคุณ
สตรีมฮัท
Streamhut ให้คุณแชร์เทอร์มินัลของคุณแบบเรียลไทม์โดยไม่ต้องติดตั้งอะไรเลย เพียงเรียกใช้คำสั่งใดคำสั่งหนึ่งจากสองคำสั่ง (ขึ้นอยู่กับการตั้งค่าของคุณ) ซึ่งมีประโยชน์สำหรับเซสชันเทอร์มินัลแบบสดในการทำงานร่วมกันเป็นทีม การสัมภาษณ์ หรือการสอน
icdiff
icdiff
เป็นเครื่องมือกระจายไฟล์ที่ใช้เทอร์มินัลซึ่งใช้สีให้เกิดประโยชน์เพื่อนำเสนอส่วนต่างในลักษณะที่ใช้งานได้จริงและเป็นภาพที่มองเห็นได้
>\_TerminalSplash
TerminalSplash
ตามชื่อของมัน เหมือนกับ Unsplash แต่สำหรับธีมของเทอร์มินัล เลือกจากธีมที่ผู้ใช้ส่งมามากกว่า 200 แบบหรือส่งธีมของคุณเอง
เครื่องปลายทาง
Terminalizer เป็นเครื่องบันทึกเทอร์มินัลที่ปรับแต่งได้และข้ามแพลตฟอร์มที่ให้คุณบันทึกเซสชันเทอร์มินัลแล้วแชร์เป็น GIF แบบเคลื่อนไหวหรือผ่านเว็บเพลเยอร์
Asciinema
Asciinema เป็นอีกตัวเลือกยอดนิยมสำหรับการบันทึกและแบ่งปันเทอร์มินัล แต่ไม่มีให้สำหรับ Windows สิ่งที่ยอดเยี่ยมเกี่ยวกับสิ่งนี้คือเอาต์พุตที่บันทึกไว้ไม่ใช่วิดีโอ แต่เป็นแอนิเมชั่นข้อความธรรมดาของเทอร์มินัลเซสชัน ซึ่งหมายความว่าคุณสามารถเลือกและคัดลอก/วางรายการจากการบันทึกได้
gtop
gtop
เป็นการเพิ่มประสิทธิภาพอีกอย่างหนึ่งของคำสั่ง top
ที่มีแดชบอร์ดการตรวจสอบระบบสำหรับเทอร์มินัลของคุณ ต้องใช้ Node.js และรองรับบางส่วนใน Windows
DevDash
DevDash
เป็นแดชบอร์ดเทอร์มินัลที่กำหนดค่าได้สูงสำหรับนักพัฒนาและผู้สร้าง คุณสามารถปรับแต่งให้แสดงข้อมูลจากแหล่งต่างๆ เช่น Google Analytics, GitHub, Feedly, เอาต์พุตคำสั่งเชลล์ และอื่นๆ
ยกย่องชมเชย:
-
ora
เทอร์มินัลสปินเนอร์ที่หรูหรา -
tiny-care-terminal
แดชบอร์ดเล็กๆ ที่พยายามดูแลคุณเมื่อคุณใช้เทอร์มินัล -
theme.sh
เชลล์สคริปต์ที่ให้คุณตั้งค่าธีมเทอร์มินัลที่มีธีมที่โหลดไว้ล่วงหน้ามากกว่า 270 ธีม
การเขียนสคริปต์บรรทัดคำสั่งและกรอบงาน
ไลบรารีและเฟรมเวิร์กจำนวนมากบางตัวช่วยให้คุณสร้างและดูแลแอพและยูทิลิตี้บรรทัดคำสั่งของคุณเองได้ ด้านล่างนี้คุณจะพบบางส่วนสำหรับ Bash, JavaScript และอื่นๆ
คำสั่งและพิชิต (cac)
Command And Conquer หรือที่เรียกว่า cac เป็นเฟรมเวิร์ก JavaScript ที่มีน้ำหนักเบาสำหรับการสร้างแอปบรรทัดคำสั่ง ตัวอย่างเช่น มันถูกใช้เพื่อสร้างเครื่องมือนั่งร้านที่ใช้ Node.js หลายตัว
zx
zx
เป็นทางเลือกยอดนิยมแทน Bash จากวิศวกรของ Google ที่ให้คุณเขียนแอปบรรทัดคำสั่งโดยใช้ JavaScript ที่มี API ที่ใช้งานง่าย ซึ่งช่วยให้คุณเรียกใช้ไฟล์เรียกทำงานและรับเอาต์พุต จัดการข้อผิดพลาด และอื่นๆ
present
present
เป็นเครื่องมือนำเสนอแบบ Markdown สำหรับเทอร์มินัลที่มีสีและเอฟเฟกต์ และให้คุณเล่นบล็อคโค้ดที่สามารถเล่นได้ที่บันทึกไว้ล่วงหน้าเป็นสไลด์
บาค
Bach เป็นเฟรมเวิร์กการทดสอบ Bash ที่สามารถใช้ในการทดสอบสคริปต์ที่มีคำสั่งที่เป็นอันตราย เช่น rm -rf /
และยังมี API (เช่น @mock
, @ignore
, @mockallto
เป็นต้น) เพื่อจำลองคำสั่ง
CLUI
CLUI
คือ JavaScript API พร้อมยูทิลิตี้ที่ช่วยให้คุณสร้างอินเทอร์เฟซบรรทัดคำสั่งที่มีการเติมข้อความอัตโนมัติตามบริบทในแอปของคุณ (เช่น แอปพลิเคชันที่เหมือนเทอร์มินัลที่ผู้ใช้โต้ตอบด้วย)
ShellCheck
ShellCheck
เป็นส่วนขยายของเชลล์ที่จะช่วยคุณค้นหาจุดบกพร่องในเชลล์สคริปต์ของคุณ
ยกย่องชมเชย
-
Basho
ให้คุณเขียนงานเชลล์ที่ซับซ้อนโดยใช้ JavaScript ธรรมดาและเข้ากันได้ดีกับคำสั่งเชลล์และสคริปต์ -
import
ระบบโมดูลที่รวดเร็วและใช้งานง่ายสำหรับ Bash และเชลล์ Unix อื่นๆ -
Bash Infinity
ไลบรารีแบบแยกส่วนและน้ำหนักเบาและเฟรมเวิร์กสำเร็จรูปสำหรับเครื่องมือการเขียนโดยใช้ Bash
เครื่องมือเพิ่มประสิทธิภาพสำหรับเทอร์มินัล
สุดท้าย หมวดหมู่นี้จะรวบรวมตัวอย่างยูทิลิตี้บรรทัดคำสั่งและโปรแกรมเล็กๆ น้อยๆ ที่ช่วยเหลืองานที่เกี่ยวข้องกับประสิทธิภาพการทำงานต่างๆ เช่น การจัดระเบียบสิ่งของ การแชร์ไฟล์ และอื่นๆ
Dash Dash
Dash Dash เป็นไซต์เอกสารออนไลน์ที่นำเสนอหน้าคู่มือ Unix (เช่น หน้าคู่มือ) ในรูปแบบที่น่าพึงพอใจยิ่งขึ้น เพื่อช่วยให้ผู้ที่ไม่ค่อยคุ้นเคยกับเทอร์มินัลเรียนรู้การใช้บรรทัดคำสั่ง
nb
nb
เป็นเครื่องมือบรรทัดคำสั่งที่มีคุณสมบัติที่รวมถึงการจดบันทึกย่อของเว็บในเครื่อง บุ๊กมาร์ก การเก็บถาวร และการเข้ารหัส พื้นที่เก็บข้อมูลเป็นข้อความธรรมดา รวมถึงการกำหนดเวอร์ชันที่ใช้ Git การลิงก์สไตล์วิกิ ธีมสี และอื่นๆ อีกมากมาย
Rclone
Rclone
เป็นโปรแกรมบรรทัดคำสั่งโอเพนซอร์ซที่ให้คุณจัดการไฟล์บนบริการที่เก็บข้อมูลบนคลาวด์มากกว่า 40 รายการ (Amazon S3, Dropbox, Google Drive, Azure เป็นต้น) ประกอบด้วยระบบคลาวด์ที่เทียบเท่ากับคำสั่ง Unix ที่คุ้นเคยและคุณสมบัติอื่นๆ
navi
navi
เป็นเครื่องมือ cheatsheet แบบโต้ตอบสำหรับเทอร์มินัลของคุณ นอกจากคุณสมบัติอื่นๆ แล้ว คุณยังสามารถเรียกดูผ่านที่เก็บ cheatsheet นำเข้า cheatsheets หรือเพิ่มของคุณเองได้
สมุดงาน
สมุดงานเป็นเครื่องมือบรรทัดคำสั่งที่รวดเร็วที่ช่วยให้คุณจัดระเบียบงาน บอร์ด และบันทึกย่อในเทอร์มินัลของคุณ ด้วยคุณสมบัติต่างๆ เช่น การค้นหา/ตัวกรอง ตำแหน่งที่จัดเก็บแบบกำหนดเอง และไวยากรณ์ที่ใช้งานง่าย
Project Explorer
Project Explorer เป็นเครื่องมือ CLI ที่ให้คุณสร้างการแสดงภาพแบบต้นไม้ของโปรเจ็กต์ใดก็ได้ สิ่งนี้จะมีประโยชน์เมื่อนำสมาชิกใหม่ในทีมหรือเมื่อรับช่วงต่อโปรเจ็กต์ใหม่
transfer.sh
transfer.sh
เป็นแอพที่รวดเร็วและใช้งานง่ายสำหรับการแชร์ไฟล์ผ่านบรรทัดคำสั่ง รวมถึงการสนับสนุนบริการต่างๆ เช่น Amazon S3, Google Drive, Storj และระบบไฟล์ในเครื่อง
ยกย่องชมเชย
-
ack
เครื่องมือค้นหาโค้ด คล้ายกับ grep แต่เหมาะสำหรับโปรแกรมเมอร์ที่ค้นหาซอร์สโค้ดขนาดใหญ่ -
goto
เชลล์ยูทิลิตี้ที่รองรับการเติมข้อความอัตโนมัติเพื่อนำทางไปยังไดเร็กทอรีนามแฝง -
bashupload
อัปโหลดไฟล์ (สูงสุด 50GB) ผ่านบรรทัดคำสั่งเพื่อแชร์ระหว่างเซิร์ฟเวอร์ เดสก์ท็อป และอุปกรณ์มือถือได้อย่างง่ายดาย -
copyfiles
ยูทิลิตี้บรรทัดคำสั่งที่เพิ่มคุณสมบัติพิเศษในการคัดลอกไฟล์ในเทอร์มินัลของคุณ
เครื่องมือบรรทัดคำสั่งที่คุณชื่นชอบคืออะไร?
ดังที่กล่าวไว้ นี่ไม่ใช่รายการที่ละเอียดถี่ถ้วน แต่เป็นเพียงคอลเล็กชันแอปบรรทัดคำสั่งและยูทิลิตี้ที่เกี่ยวข้องจำนวนมาก ซึ่งฉันพบเป็นการส่วนตัวในช่วงไม่กี่ปีที่ผ่านมา
หากคุณได้สร้างบางสิ่งขึ้นเองหรือหากมีสิ่งที่คุณใช้เป็นประจำที่เพิ่มประสบการณ์การใช้งานเทอร์มินัลของคุณ อย่าลังเลที่จะแสดงความคิดเห็น!