Post

Modern CLI Tools: 4 strumenti indispensabili per potenziare il tuo terminale

Le alternative moderne a ls, grep, find e cd: più veloci, leggibili e intelligenti. Pensate per sviluppatori e sysadmin che vogliono rendere il terminale più potente e piacevole da usare.

Modern CLI Tools: 4 strumenti indispensabili per potenziare il tuo terminale

Negli ultimi anni la Command Line Interface (CLI) ha vissuto una vera rinascita grazie a una nuova generazione di tool/estensioni moderni, performanti e soprattutto user-friendly.

Scritti in linguaggi relativamente recenti come Rust e Go, questi strumenti mantengono la compatibilità con i classici comandi Unix, ma possono introdurre nel proprio flusso di lavoro:

  • colori e icone leggibili

  • ricerca veloce e “fuzzy”

  • integrazione con Git

  • e una produttività molto più alta: perché ti permettono di restare concentrato sulla riga di comando senza dover togliere le mani dalla tastiera. In questo modo mantieni il focus su ciò che stai effettivamente facendo nella CLI, evitando di usare un dispositivo aggiuntivo come il mouse per interagire con l’ambiente, e rendendo più immediato e fluido il raggiungimento del risultato rispetto all’utilizzo dei comandi tradizionali

In questo articolo scoprirai 4 strumenti moderni che possono sostituire in modo pulito e sicuro i classici comandi ls, grep, find e cd.

Ci tengo a precisare come sempre che - Nessuno di questi link riportati qui di seguito sono link di affiliazione. Non sono associato con queste compagnie e/o sviluppatori e non genero profitti su queste raccomandazioni, monetizzazioni sui clicks e/o sui tuoi dati attraverso di essi.

eza – L’alternativa moderna a ls

Eza

eza è il successore spirituale di ls. Scritto in Rust, porta una visualizzazione chiara e colorata dei file, con supporto a Git status, icone, e permessi leggibili.

1
2
3
sudo apt install eza -y    # Ubuntu / Debian
# oppure
brew install eza           # macOS

Esempi d’uso

1
eza -lah --git --icons

Funzionalità principali:

  1. Mostra permessi e gruppi con colori distinti
  2. Integra lo stato Git direttamente nel listing
  3. Supporta icone (se usi un font Nerd Font, come JetBrains Mono Nerd per cercare questi font c’è il belissimo sito a disposizione )

Puoi sostituire ls completamente con un alias:

1
alias ll='eza -l --group --git --icons'

ripgrep (rg) – La nuova generazione di grep

Ripgrep

ripgrep è un motore di ricerca testuale scritto in Rust, ultra-veloce e progettato per lavorare su grandi codebase (è letteralmente più veloce e con qualche parametro più preciso del grep).

1
sudo apt install ripgrep -y

Caso d’uso

1
rg "TODO" --hidden --stats

Perché è migliore di grep:

  1. Rispetta .gitignore
  2. Supporta ricerche ricorsive e regex potenti
  3. Colori chiari per risultati e path

Puoi filtrare per tipo di file:

1
rg "fetch" -t py

Perfetto per sviluppatori e sysadmin che cercano testo nel codice più rapidamente di qualsiasi IDE a disposizione.

fd – La versione smart di find

Fd

fd (o fd-find su Debian/Ubuntu) sostituisce find con un’interfaccia semplice, sintassi intuitiva e colori automatici.

1
sudo apt install fd-find -y

Caso d’uso per fd

1
fd main

Trova qualsiasi file o directory che contiene la parola “main”.

Puoi cercare per estensione:

1
fd -e py init

Integra perfettamente con fzf (altra bella cosetta che spero di parlarvi prossimamente):

1
fd | fzf

concatena una ricerca interattiva (grazie a fzf) e selezione immediata del file desiderato.

zoxide – il cd intelligente.

Non ultimo per importanza — anzi, direi quasi una rivelazione divina — questo comando è semplicemente incredibile.

Zoxide

zoxide è un sostituto evoluto di cd, che apprende automaticamente le directory più usate e le rende raggiungibili con comandi abbreviati. Basato su frequenza e recency, riduce drasticamente il tempo perso nel cambiare cartelle (al quale con cd andrebbe dichiarato l’intero path relativo).

1
sudo apt install zoxide -y

Poi aggiungi questa riga al tuo .bashrc o .zshrc:

1
2
3
eval "$(zoxide init bash)"
# oppure per Zsh
eval "$(zoxide init zsh)"

Esempi per zoxide

1
2
3
cd ~/progetti/neovim-plugin
# dopo averla visitata almeno una volta lo stesso path è richiamabili con:
z neovim

z ti porta automaticamente alla directory più “rilevante” che contiene la parola chiave piuttosto che mettersi a dichiarare degli alias per richiamare i path.

Puoi anche elencare e gestire le directory più visitate:

1
zoxide query -l

anche qui integrazione “fuzzy” con fzf

1
zi

(apre un’interfaccia fuzzy per navigare tra le tue directory preferite).

Bonus: ulteriori tools consigliati

StrumentoAlternativa aDescrizioneRepository git
batcatMostra file con syntax highlighting e numeri di rigagithub.com/sharkdp/bat
tldrmanMostra esempi pratici invece di pagine lunghissimegithub.com/tldr-pages/tldr
btoptop/htopMonitor di sistema moderno con UI coloratagithub.com/aristocratos/btop
dustduVisualizza l’uso disco con grafici ad alberogithub.com/bootandy/dust
Questo post è sotto licenza CC BY 4.0 a nome dell'autore.