Potenti strumenti CLI (Terminal and Command-Line) per lo sviluppo Web moderno
Pubblicato: 2022-03-10Molti 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.
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.
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.
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.
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à.
cmder
cmder
è un emulatore di console portatile per Windows creato per la mancanza di una buona opzione in quest'area per gli utenti Windows.
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.
Terminale eterno
Eternal Terminal è un'altra app per terminale remoto ispirata ad altri progetti simili e popolari.
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.
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.
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.
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à.
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.
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.
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à.
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".
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.
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.
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.
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.
>\_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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
ShellCheck
ShellCheck
è un'estensione della shell per aiutarti a trovare bug negli script della shell.
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.
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.
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à.
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.
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.
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.
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.
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!