Instrumente puternice de terminal și linie de comandă (CLI) pentru dezvoltarea web modernă
Publicat: 2022-03-10Mulți programatori moderni, inclusiv dezvoltatorii front-end și full-stack, lucrează zilnic cu linia de comandă. Chiar și cei care sunt relativ noi în dezvoltarea web își însușesc devreme abilitățile de linie de comandă și găsesc instrumente și utilități practice pentru a-și spori productivitatea în terminal.
Această postare prezintă o listă clasificată cu multe aplicații de linie de comandă pe care le-am descoperit personal în ultimii ani. Unele dintre ele sunt relativ noi, altele există de ceva vreme. Așa că sper că ceva din această rezumat vă va interesa și vă va ajuta să finalizați lucrurile atunci când lucrați în terminal.
Puteți sări la o categorie utilizând navigarea de mai jos:
- Aplicații terminale
- Utilități terminale și îmbunătățiri
- Scripturi de linie de comandă și cadre
- Instrumente de productivitate pentru terminal
Aplicații terminale
Această secțiune conține terminale, multiplexoare, emulatori de consolă, terminale mobile și spații de lucru din linia de comandă pe care le puteți utiliza pentru a înlocui aplicația implicită de terminal de pe sistemul dumneavoastră.
tmux
tmux
este un multiplexor de terminale popular pentru sistemele de operare asemănătoare Unix, care vă permite să comutați cu ușurință între mai multe programe într-un singur terminal, cu posibilitatea de a „detașa” o sesiune (în timp ce rulează în fundal) sau de a o „reatașa” la un alt terminal. Terminal.
iTerm2
iTerm2
, succesorul iTerm, este un înlocuitor pentru Terminalul tău pe macOS, care include funcții precum panouri divizate, căutare robustă, completare automată, reluare instantanee, împreună cu o mulțime de opțiuni de configurare.
Mosh
Mosh este o aplicație de terminal la distanță (sau shell mobil) pentru utilizarea interactivă a SSH, care include mai multe caracteristici utile pentru cei care trebuie să facă sarcini bazate pe terminal prin WiFi slab, rețele celulare sau alte conexiuni mai puțin fiabile.
Zellij
Zellij este un spațiu de lucru terminal care are funcționalitatea de bază a unui multiplexor de terminal (similar cu tmux), dar include caracteristici care permit utilizatorilor să-l extindă și să creeze un mediu personalizat prin panouri/file și pluginuri.
Hiper
Hyper este o aplicație terminală bazată pe Electron pentru Mac, Windows sau Linux, care este construită cu tehnologii web (HTML/CSS/JS). Include zeci de teme și pluginuri și este construit pe viteză și stabilitate.
cmder
cmder
este un emulator de consolă portabil pentru Windows care a fost construit din cauza lipsei unei opțiuni bune în acest domeniu pentru utilizatorii de Windows.
ca naiba
a-Shell este o aplicație iOS care oferă un „terminal în buzunar” cu control fișiere/directoare, compatibilitate cu comenzile rapide Apple, mai multe ferestre și multe altele.
Terminalul etern
Eternal Terminal este o altă aplicație de terminal la distanță inspirată de alte proiecte similare, populare.
Zece Mâini
Ten Hands este o aplicație de terminal pentru Mac, Linux și Windows care este prezentată ca fiind cea mai simplă modalitate de a organiza și rula sarcini de linie de comandă, utilă pentru cei care execută sarcini zilnice similare pe mai multe proiecte.
eDEX-UI
eDEX-UI este un emulator de terminal multiplatform și un monitor de sistem puternic inspirat de interfețele de utilizator pentru filme științifico-fantastice, în special, filmul Tron: Legacy.
Tabinet
Tabby, anterior „Terminus”, este o aplicație de terminal personalizabilă multiplatformă pentru conexiuni locale, SSH, seriale și Telnet, care include suport pentru funcții precum panouri divizate, file inteligente, taste rapide personalizabile și multe altele.
Cochilie de Pește
Fish Shell este o altă opțiune pentru un shell de linie de comandă pentru Linux, macOS și Windows, care include sugestie automată, completări de file, culoare pe 24 de biți, configurație bazată pe web, evidențiere a sintaxei, printre alte caracteristici practice.
Utilități și îmbunătățiri ale terminalelor
Odată ce aveți spațiul de lucru principal, veți dori să-l îmbunătățiți cu diverse instrumente, utilități, teme și așa mai departe. Această secțiune include câteva instrumente utile pentru a vă face experiența cu terminalul mai plăcută.
Oh, Zsh al meu
Oh My Zsh este un cadru open source, condus de comunitate, pentru gestionarea configurației pentru Z Shell (sau Zsh, un shell Unix popular). Vine la pachet cu mii de funcții utile, ajutoare, peste 300 de pluginuri, peste 140 de teme și multe altele. Funcționează cel mai bine pe macOS sau Linux, dar poate fi folosit și pe Windows folosind ceva de genul Cygwin sau WSL2.
Smochin
Fig adaugă completarea automată în stil VSCode la terminalul dvs. existent și include suport pentru instrumentele CLI existente, cum ar fi Git, npm, Kubernetes, Docker, AWS, Google Cloud și multe altele.
fzf
fzf
este un instrument de căutare rapid, portabil și neclar pentru linia de comandă, care vă permite să executați interogări de căutare neclare cu un set cuprinzător de caracteristici.
Istoria Shell
Shell History (nu este gratuită) este o aplicație macOS care se integrează cu Bash, Zsh sau Fish și vă permite să faceți backup și să sincronizați cu ușurință prin iCloud și să vă organizați istoricul shell în „notebook-uri”.
htop
htop
este un vizualizator interactiv de proces, inițial numai pentru Linux, dar acum multiplatformă, care își propune să îmbunătățească comanda Linux top
prin furnizarea de caracteristici suplimentare atunci când se vizualizează procesele în execuție.
CLI GitHub
GitHub CLI, în cazul în care ați ratat-o, este interfața oficială de linie de comandă multiplatformă pentru GitHub, aducând cereri de extragere, probleme și alte sarcini legate de GitHub pe terminalul dvs.
Streamhut
Streamhut vă permite să vă partajați terminalul în timp real, fără a instala nimic. Pur și simplu rulați una dintre cele două comenzi (în funcție de configurația dvs.), utile pentru sesiuni de terminal live în colaborări în echipă, interviuri sau predare.
icdiff
icdiff
este un instrument de diferențiere de fișiere bazat pe terminal, care folosește bine culorile pentru a prezenta diferențele într-o manieră mai practică, vizuală.
>\_TerminalSplash
TerminalSplash
, după cum sugerează și numele, este ca Unsplash, dar pentru temele terminale. Alegeți dintre cele peste 200 de teme trimise de utilizatori sau trimiteți-le pe ale dvs.
Terminalizator
Terminalizer este un înregistrator de terminal personalizabil și multiplatformă care vă permite să înregistrați sesiuni de terminal, apoi să le partajați ca GIF-uri animate sau printr-un player web.
Asciinema
Asciinema este o altă opțiune populară pentru înregistrarea și partajarea terminalului, dar nu este disponibilă pentru Windows. Lucrul tare despre acesta este că ieșirea înregistrată nu este un videoclip, ci o animație cu text simplu a sesiunii de terminal, ceea ce înseamnă că puteți selecta și copia/lipi elemente din înregistrări.
gtop
gtop
este o altă îmbunătățire a comenzii de top
care oferă un tablou de bord de monitorizare a sistemului pentru terminalul dvs. Necesită Node.js și include suport parțial pe Windows.
DevDash
DevDash
este un tablou de bord extrem de configurabil pentru dezvoltatori și creatori. Îl puteți personaliza pentru a afișa informații din surse precum Google Analytics, GitHub, Feedly, ieșirea comenzilor shell și multe altele.
Mentiuni onorabile:
-
ora
Un spinner terminal elegant. -
tiny-care-terminal
Un mic tablou de bord care încearcă să aibă grijă de tine atunci când folosești terminalul. -
theme.sh
Un script shell care vă permite să setați tema terminalului care include peste 270 de teme preîncărcate.
Scripturi și cadre din linia de comandă
Unele numeroase biblioteci și cadre vă permit să construiți și să vă întrețineți propriile aplicații și utilitare în linia de comandă. Mai jos veți găsi câteva dintre acestea pentru Bash, JavaScript și multe altele.
Comandă și cucerește (cac)
Command And Conquer, numit și cac, este un cadru JavaScript ușor pentru construirea de aplicații de linie de comandă. De exemplu, a fost folosit pentru a construi mai multe instrumente de schele bazate pe Node.js.
zx
zx
este o alternativă populară la Bash de la inginerii Google, care vă permite să scrieți aplicații de linie de comandă folosind JavaScript cu un API ușor de utilizat, care vă permite să apelați executabile și să obțineți rezultate, să gestionați erorile și multe altele.
present
present
este un instrument de prezentare bazat pe Markdown pentru terminal, care include culori și efecte și vă permite să redați blocuri de coduri redate preînregistrate ca diapozitive.
Bach
Bach este un cadru de testare Bash care poate fi folosit pentru a testa scripturi care conțin comenzi periculoase precum rm -rf /
și include, de asemenea, API-uri (de exemplu @mock
, @ignore
, @mockallto
, etc.) pentru a simula comenzile.
CLUI
CLUI
este un API JavaScript cu utilități care vă permit să construiți interfețe de linie de comandă cu completare automată în funcție de context în aplicațiile dvs. (adică aplicații asemănătoare terminalelor cu care utilizatorii interacționează).
ShellCheck
ShellCheck
este o extensie shell care vă ajută să găsiți erori în scripturile dumneavoastră shell.
Mentiuni onorabile
-
Basho
Vă permite să scrieți sarcini shell complexe folosind JavaScript simplu și se combină bine cu comenzile și scripturile shell. -
import
Un sistem de module rapid și ușor de utilizat pentru Bash și alte shell-uri Unix. -
Bash Infinity
O bibliotecă modulară și ușoară și un cadru standard pentru instrumente de scriere folosind Bash.
Instrumente de productivitate pentru terminal
În cele din urmă, această categorie reunește o mică mostră de utilitare și programe de linie de comandă care ajută la diferite sarcini legate de productivitate, cum ar fi organizarea lucrurilor, partajarea fișierelor și multe altele.
Dash Dash
Dash Dash este un site de documentare online care prezintă paginile de manual Unix (adică paginile de manual) într-un format mai plăcut, pentru a-i ajuta pe cei mai puțin familiarizați cu terminalul să învețe să folosească linia de comandă.
nb
nb
este un instrument de linie de comandă cu caracteristici care includ luarea de note pe web local, marcarea de carte, arhivarea și criptarea. Stocarea este în text simplu, include versiuni bazate pe Git, legături în stil wiki, teme de culoare și multe altele.
Rclone
Rclone
este un program de linie de comandă open-source care vă permite să gestionați fișiere pe peste 40 de servicii de stocare în cloud (Amazon S3, Dropbox, Google Drive, Azure etc.). Include echivalente cloud pentru comenzi Unix familiare și alte caracteristici.
navi
navi
este un instrument interactiv de cheatsheet pentru terminalul tău. În plus față de alte caracteristici, puteți naviga prin depozitele de cheatsheets, importați cheatsheets sau adăugați-le pe ale dvs.
Caietul de sarcini
Taskbook este un instrument rapid de linie de comandă care vă permite să organizați sarcini, panouri și note în terminalul dvs., cu funcții precum căutare/filtru, locație de stocare personalizată și o sintaxă simplă și ușor de utilizat.
Explorator de proiecte
Project Explorer este un instrument CLI care vă permite să construiți o vizualizare arborescentă a oricărui proiect. Acest lucru ar fi util atunci când aduceți noi membri ai echipei sau când moșteniți un nou proiect.
transfer.sh
transfer.sh
este o aplicație rapidă și ușor de utilizat pentru partajarea fișierelor prin linia de comandă. Include suport pentru servicii precum Amazon S3, Google Drive, Storj și sistemul de fișiere local.
Mentiuni onorabile
-
ack
Un instrument de căutare a codului, similar cu grep, dar optimizat pentru programatori care caută arbori mari de cod sursă. -
goto
Un utilitar shell cu suport de completare automată pentru a naviga la directoare cu alias. -
bashupload
Încărcați fișiere (până la 50 GB) prin linia de comandă pentru a partaja cu ușurință între servere, desktopuri și dispozitive mobile. -
copyfiles
Un utilitar de linie de comandă care adaugă funcții suplimentare la copierea fișierelor în terminalul dvs.
Care este instrumentul tău preferat de linie de comandă?
După cum am menționat, aceasta nu a fost menită să fie o listă exhaustivă, ci doar o mare colecție de aplicații și utilități relevante din linia de comandă pe care le-am întâlnit personal în ultimii ani.
Dacă ați construit ceva singur sau dacă există unul pe care îl utilizați în mod regulat care vă îmbunătățește experiența terminalului, nu ezitați să-l lăsați în comentarii!