Potenti strumenti CLI (Terminal and Command-Line) per lo sviluppo Web moderno

Pubblicato: 2022-03-10
Riepilogo rapido ↬ Qual è il tuo strumento da riga di comando preferito? Oggi, Louis Lazaris condivide una raccolta di importanti app e utilità da riga di comando che ha incontrato personalmente negli ultimi anni.

Molti programmatori moderni, inclusi gli sviluppatori front-end e full-stack, lavorano quotidianamente con la riga di comando. Anche coloro che sono relativamente nuovi allo sviluppo web stanno imparando presto le competenze della riga di comando e trovano strumenti pratici e utilità per migliorare la propria produttività nel terminale.

Questo post presenta un elenco categorizzato di molte app da riga di comando che ho scoperto personalmente negli ultimi anni. Alcuni di loro sono relativamente nuovi, altri sono in circolazione da un po'. Quindi spero che qualcosa in questa carrellata ti interessi e ti aiuti a fare le cose quando lavori nel terminale.

Puoi saltare a una categoria usando la navigazione qui sotto:

  • App terminali
  • Utilità e miglioramenti del terminale
  • Script e framework da riga di comando
  • Strumenti di produttività per il terminale

App terminali

Questa sezione include terminali, multiplexer, emulatori di console, terminali mobili e spazi di lavoro della riga di comando che puoi utilizzare per sostituire l'app terminale predefinita sul tuo sistema.

tmux

tmux è un popolare multiplexer di terminale per sistemi operativi simili a Unix che ti consente di passare facilmente tra più programmi in un unico terminale, con la possibilità di "staccare" una sessione (mentre è ancora in esecuzione in background) o "ricollegarla" a un altro terminale.

tmux
(Grande anteprima)

iTerm2

iTerm2 , il successore di iTerm, è un sostituto del tuo Terminale su macOS che include funzionalità come riquadri divisi, ricerca affidabile, completamento automatico, riproduzione istantanea, insieme a tutta una serie di opzioni di configurazione.

iTerm2
(Grande anteprima)

Mosh

Mosh è un'app terminale remota (o shell mobile) per l'utilizzo SSH interattivo che include diverse funzioni utili per coloro che devono svolgere attività basate su terminale su WiFi debole, reti cellulari o altre connessioni meno affidabili.

Mosh
(Grande anteprima)

Zellij

Zellij è uno spazio di lavoro terminale che ha le funzionalità di base di un multiplexer terminale (simile a tmux) ma include funzionalità che consentono agli utenti di estenderlo e creare un ambiente personalizzato tramite riquadri/schede e plug-in.

Zellij
(Grande anteprima)

Iper

Hyper è un'app terminale basata su Electron per Mac, Windows o Linux creata con tecnologie Web (HTML/CSS/JS). Include dozzine di temi e plugin ed è basato su velocità e stabilità.

Iper
(Grande anteprima)

cmder

cmder è un emulatore di console portatile per Windows creato per la mancanza di una buona opzione in quest'area per gli utenti Windows.

cmder
(Grande anteprima)

un-conchiglia

a-Shell è un'app iOS che offre un "terminale in tasca" con controllo di file/directory, compatibilità con le scorciatoie Apple, più finestre e molto altro.

un-conchiglia
(Grande anteprima)

Terminale eterno

Eternal Terminal è un'altra app per terminale remoto ispirata ad altri progetti simili e popolari.

Terminale eterno
(Grande anteprima)

Dieci mani

Ten Hands è un'app terminale per Mac, Linux e Windows che viene indicata come il modo più semplice per organizzare ed eseguire attività da riga di comando, utile per coloro che eseguono attività quotidiane simili su più progetti.

Dieci mani
(Grande anteprima)

eDEX-UI

eDEX-UI è un emulatore di terminale multipiattaforma a schermo intero e monitor di sistema fortemente ispirato alle interfacce utente dei film di fantascienza, in particolare al film Tron: Legacy.

eDEX-UI
(Grande anteprima)

Tabby

Tabby, precedentemente "Terminus", è un'app terminale multipiattaforma personalizzabile per shell locali, connessioni SSH, seriali e Telnet che include il supporto per funzionalità come riquadri divisi, schede intelligenti, tasti di scelta rapida personalizzabili e molto altro.

Tabby
(Grande anteprima)

Conchiglia di pesce

Fish Shell è un'altra opzione per una shell della riga di comando per Linux, macOS e Windows che include suggerimento automatico, completamenti di schede, colore a 24 bit, configurazione basata sul Web, evidenziazione della sintassi, tra le altre pratiche funzionalità.

Conchiglia di pesce
(Grande anteprima)
Altro dopo il salto! Continua a leggere sotto ↓

Utilità e miglioramenti del terminale

Una volta ottenuto il tuo spazio di lavoro principale, ti consigliamo di migliorarlo con vari strumenti, utilità, temi e così via. Questa sezione include alcuni strumenti utili per rendere più piacevole la tua esperienza con il terminale.

Oh mio Zsh

Oh My Zsh è un framework open source guidato dalla community per la gestione della configurazione per Z Shell (o Zsh, una popolare shell Unix). Viene fornito in bundle con migliaia di utili funzioni, helper, oltre 300 plug-in, oltre 140 temi e altro ancora. Funziona meglio su macOS o Linux, ma può essere utilizzato anche su Windows usando qualcosa come Cygwin o WSL2.

Oh mio Zsh
(Grande anteprima)

Fig

Fig aggiunge il completamento automatico in stile VSCode al tuo terminale esistente e include il supporto per gli strumenti CLI esistenti come Git, npm, Kubernetes, Docker, AWS, Google Cloud e altro ancora.

Fig
(Grande anteprima)

fzf

fzf è un cercatore fuzzy veloce, portatile e per la riga di comando che ti consente di eseguire query di ricerca fuzzy con un set completo di funzionalità.

fzf
(Grande anteprima)

Storia delle conchiglie

Shell History (non gratuita) è un'app macOS che si integra con Bash, Zsh o Fish e ti consente di eseguire facilmente il backup e la sincronizzazione tramite iCloud e di organizzare la cronologia della shell in "notebook".

Storia delle conchiglie
(Grande anteprima)

htop

htop è un visualizzatore di processi interattivo, originariamente solo per Linux ma ora multipiattaforma, che mira a migliorare il comando top di Linux fornendo funzionalità extra durante la visualizzazione dei processi in esecuzione.

htop
(Grande anteprima)

CLI di GitHub

GitHub CLI, nel caso te lo sia perso, è l'interfaccia della riga di comando multipiattaforma ufficiale per GitHub, che porta richieste pull, problemi e altre attività relative a GitHub sul tuo terminale.

CLI di GitHub
(Grande anteprima)

Streamhut

Streamhut ti consente di condividere il tuo terminale in tempo reale senza installare nulla. Esegui semplicemente uno dei due comandi (a seconda della tua configurazione), utili per sessioni di terminale dal vivo in collaborazioni di gruppo, interviste o insegnamento.

Streamhut
(Grande anteprima)

icdiff

icdiff è uno strumento di differenziazione file basato su terminale che fa buon uso dei colori per presentare differenze in un modo più pratico e visivo.

icdiff
(Grande anteprima)

>\_TerminalSplash

TerminalSplash , come suggerisce il nome, è come Unsplash, ma per temi terminali. Scegli tra più di 200 temi inviati dagli utenti o inviane uno tuo.

TerminalSplash
(Grande anteprima)

Terminalizzatore

Terminalizer è un registratore di terminali personalizzabile e multipiattaforma che ti consente di registrare le sessioni del terminale e condividerle come GIF animate o tramite un web player.

Terminalizzatore
(Grande anteprima)

Asciinema

Asciinema è un'altra opzione popolare per la registrazione e la condivisione del terminale, ma non è disponibile per Windows. La cosa interessante di questo è che l'output registrato non è un video ma un'animazione di testo normale della sessione del terminale, il che significa che puoi selezionare e copiare/incollare elementi dalle registrazioni.

Asciinema
(Grande anteprima)

gtop

gtop è un altro miglioramento del comando top che fornisce un dashboard di monitoraggio del sistema per il tuo terminale. Richiede Node.js e include il supporto parziale su Windows.

gtop
(Grande anteprima)

DevDash

DevDash è un dashboard terminale altamente configurabile per sviluppatori e creatori. Puoi personalizzarlo per visualizzare informazioni da fonti come Google Analytics, GitHub, Feedly, output dei comandi della shell e altro.

DevDash
(Grande anteprima)

Menzioni d'onore:

  • ora
    Un elegante spinner terminale.
  • tiny-care-terminal
    Una piccola dashboard che cerca di prendersi cura di te quando usi il tuo terminale.
  • theme.sh
    Uno script di shell che ti consente di impostare il tema del tuo terminale che include oltre 270 temi precaricati.

Script e framework della riga di comando

Alcune numerose librerie e framework ti consentono di creare e mantenere le tue app e utilità della riga di comando. Di seguito ne troverai alcuni per Bash, JavaScript e altro.

Comando e conquista (cac)

Command And Conquer, chiamato anche cac, è un framework JavaScript leggero per la creazione di app da riga di comando. Ad esempio, è stato utilizzato per creare diversi strumenti di scaffolding basati su Node.js.

Comandare e conquistare
(Grande anteprima)

zx

zx è un'alternativa popolare a Bash degli ingegneri di Google che ti consente di scrivere app da riga di comando utilizzando JavaScript con un'API facile da usare che ti consente di chiamare eseguibili e ottenere il loro output, gestire gli errori e altro ancora.

zx
(Grande anteprima)

present

present è uno strumento di presentazione per il terminale basato su Markdown che include colori ed effetti e consente di riprodurre blocchi di codice riproducibili preregistrati come diapositive.

regalo
(Grande anteprima)

Bach

Bach è un framework di test Bash che può essere utilizzato per testare script che contengono comandi pericolosi come rm -rf / e include anche API (ad esempio @mock , @ignore , @mockallto , ecc.) per simulare comandi.

Bach
(Grande anteprima)

CLUI

CLUI è un'API JavaScript con utilità che ti consentono di creare interfacce a riga di comando con completamento automatico sensibile al contesto nelle tue app (ovvero applicazioni simili a terminali con cui gli utenti interagiscono).

CLUI
(Grande anteprima)

ShellCheck

ShellCheck è un'estensione della shell per aiutarti a trovare bug negli script della shell.

ShellCheck
(Grande anteprima)

Menzioni d'onore

  • Basho
    Ti consente di scrivere complesse attività della shell utilizzando JavaScript semplice e si combina bene con i comandi e gli script della shell.
  • import
    Un sistema di moduli veloce e facile da usare per Bash e altre shell Unix.
  • Bash Infinity
    Una libreria modulare e leggera e un framework standard per strumenti di scrittura che utilizzano Bash.

Strumenti di produttività per il terminale

Infine, questa categoria mette insieme un piccolo campione di utilità e programmi della riga di comando che aiutano con varie attività relative alla produttività come mantenere le cose organizzate, condividere file e altro.

Dash Dash

Dash Dash è un sito di documentazione online che presenta le pagine man di Unix (cioè le pagine di manuale) in un formato più appetibile, per aiutare chi ha meno familiarità con il terminale ad imparare ad usare la riga di comando.

Dash Dash
(Grande anteprima)

nb

nb è uno strumento da riga di comando con funzionalità che includono la creazione di appunti sul Web locale, l'inserimento di segnalibri, l'archiviazione e la crittografia. L'archiviazione è in testo normale, include il controllo delle versioni basato su Git, i collegamenti in stile wiki, i temi dei colori e molto altro.

nb
(Grande anteprima)

Rclone

Rclone è un programma da riga di comando open source che consente di gestire file su oltre 40 servizi di archiviazione cloud (Amazon S3, Dropbox, Google Drive, Azure, ecc.). Include equivalenti cloud per comandi Unix familiari e altre funzionalità.

Clona
(Grande anteprima)

navi

navi è uno strumento interattivo cheatsheet per il tuo terminale. Oltre ad altre funzionalità, puoi sfogliare i repository di cheatsheet, importare cheatsheet o aggiungerne di tuoi.

navi
(Grande anteprima)

Libro degli incarichi

Taskbook è un veloce strumento da riga di comando che ti consente di organizzare attività, bacheche e note nel tuo terminale, con funzionalità come ricerca/filtro, posizione di archiviazione personalizzata e una sintassi semplice e intuitiva.

Libro degli incarichi
(Grande anteprima)

Esplora progetti

Project Explorer è uno strumento CLI che ti consente di creare una visualizzazione ad albero di qualsiasi progetto. Questo sarebbe utile quando si assumono nuovi membri del team o quando si eredita un nuovo progetto.

Esplora progetti
(Grande anteprima)

transfer.sh

transfer.sh è un'app veloce e facile da usare per la condivisione di file tramite la riga di comando. Include il supporto per servizi come Amazon S3, Google Drive, Storj e il file system locale.

trasferimento.sh
(Grande anteprima)

Menzioni d'onore

  • ack
    Uno strumento di ricerca del codice, simile a grep ma ottimizzato per i programmatori che cercano grandi alberi di codice sorgente.
  • goto
    Un'utilità di shell con supporto per il completamento automatico per navigare in directory con alias.
  • bashupload
    Carica file (fino a 50 GB) tramite la riga di comando per condividerli facilmente tra server, desktop e dispositivi mobili.
  • copyfiles
    Un'utilità della riga di comando che aggiunge funzionalità extra alla copia di file nel terminale.

Qual è il tuo strumento da riga di comando preferito?

Come accennato, questo non doveva essere un elenco esaustivo, ma semplicemente una grande raccolta di app e utilità da riga di comando rilevanti che mi sono imbattuto personalmente negli ultimi anni.

Se hai costruito qualcosa da solo o se ce n'è uno che usi regolarmente che potenzia la tua esperienza con il terminale, sentiti libero di lasciarlo nei commenti!