
Nel vasto panorama degli strumenti disponibili sui sistemi GNU/Linux, molte utilità potenti rimangono spesso sconosciute agli utenti meno esperti o poco esplorate anche da chi utilizza quotidianamente la riga di comando. Oltre ai classici come grep (Global Regular Expression Print, ricerca tramite espressioni regolari), awk (Aho, Weinberger, Kernighan, elaborazione di testo) e sed (Stream EDitor, modifica di flussi di testo), esiste una seconda fascia di strumenti che può realmente semplificare e velocizzare il lavoro quotidiano. In questo articolo analizziamo 10 strumenti poco noti ma estremamente efficaci, capaci di migliorare la produttività, la gestione dei file e il controllo sul sistema.
Strumenti per la ricerca e la gestione dei file
fd: ricerca file veloce e intuitiva
Il comando tradizionale find (cerca file e cartelle) è molto potente ma spesso complicato da utilizzare. fd rappresenta un’alternativa moderna, con una sintassi semplificata e un output colorato, ideale per chi desidera rapidità senza rinunciare alla precisione.
- Sintassi più semplice: ad esempio,
fd modello
al posto difind . -name modello
- Ricerca ricorsiva automatica
- Output colorato per una migliore leggibilità
- Rispetta i file di configurazione .gitignore per evitare risultati indesiderati
Esempio pratico:
fd ".conf"
Cerca tutti i file che contengono “.conf” nel nome, partendo dalla cartella attuale.
Quando utilizzarlo:
Perfetto per individuare rapidamente file di configurazione o script senza dover navigare manualmente tra cartelle annidate.
ripgrep: ricerca di testo ultrarapida
ripgrep (abbreviato rg) è uno strumento per la ricerca di testo tramite espressioni regolari, ottimizzato per la velocità e la semplicità. È in grado di cercare ricorsivamente in tutte le cartelle, ignorando file binari e nascosti, e offre risultati colorati e contestualizzati.
- Sviluppato in linguaggio Rust per prestazioni elevate
- Rispetta automaticamente i file .gitignore
- Sintassi semplice:
rg parola
Esempio pratico:
rg "password"
Trova tutte le occorrenze della parola “password” nei file della cartella corrente e nelle sotto-cartelle.
Quando utilizzarlo:
Indispensabile per sviluppatori che devono esplorare grandi archivi di codice o amministratori che cercano rapidamente informazioni nei file di configurazione.
Strumenti per la consultazione e l’apprendimento dei comandi
tldr: manuali sintetici per ogni comando
tldr (Too Long; Didn’t Read, troppo lungo; non letto) offre una versione semplificata delle pagine di manuale (man), con esempi pratici e spiegazioni concise, ideali per chi cerca una risposta rapida senza dover leggere documentazione estesa.
- Sintassi semplificata con esempi d’uso reali
- Aggiornamenti frequenti grazie al contributo della comunità
Esempio pratico:
tldr tar
Mostra una panoramica delle opzioni più comuni del comando tar (archiviazione e compressione file), con esempi chiari.
Quando utilizzarlo:
Utile per richiamare velocemente le opzioni di comandi poco utilizzati o per formare nuovi utenti sulla distribuzione GNU/Linux.
Strumenti per la produttività e l’automazione
entr: esecuzione automatica al cambiamento dei file
entr (Event Notify Test Runner, esecuzione test su notifica di evento) monitora i file e lancia un comando ogni volta che questi vengono modificati. È ideale per automatizzare processi come la ricompilazione del codice o la sincronizzazione di file.
- Leggero e facile da integrare negli script
- Può monitorare più file contemporaneamente
Esempio pratico:
ls *.md | entr make
Ricompila automaticamente la documentazione quando un file Markdown viene modificato.
Quando utilizzarlo:
Essenziale per sviluppatori che desiderano automatizzare la compilazione o il test del codice durante lo sviluppo.
fzf: ricerca interattiva e intelligente
fzf (Fuzzy Finder, ricerca approssimativa) è uno strumento interattivo che trasforma il terminale in un potente motore di ricerca, permettendo di trovare rapidamente file, processi, comandi nella cronologia e molto altro. Grazie al suo sistema di ricerca approssimativa (fuzzy search), fzf non richiede di inserire nomi esatti, ma trova risultati anche con corrispondenze parziali, rendendo la ricerca estremamente veloce ed efficace. La sua integrazione con altri strumenti, come find
, grep
e ps
, lo rende incredibilmente versatile e adatto a migliorare la produttività in ambienti basati su linea di comando.
- Ricerca approssimativa velocissima
- Integrabile con qualsiasi comando
- Può filtrare file, processi, cronologia SSH, ecc.
Esempio pratico:
vim $(fzf)
Il comando vim $(fzf)
sfrutta fzf per selezionare un file in modo interattivo e aprirlo direttamente in Vim. Ecco come funziona:
- fzf viene eseguito e mostra un elenco di file disponibili nella cartella corrente.
- L’utente può digitare parte del nome del file per filtrare i risultati in tempo reale.
- Una volta selezionato il file, fzf restituisce il percorso del file scelto.
- Vim riceve il percorso e apre il file per la modifica.
In pratica, questo comando rende la selezione dei file molto più veloce e intuitiva rispetto alla digitazione manuale del percorso.
Quando utilizzarlo:
Ideale per chi lavora spesso da Terminale e desidera velocizzare la selezione di file o comandi senza ricorrere a interfacce grafiche.
Strumenti per la visualizzazione avanzata
bat: visualizzazione file con evidenziazione e numerazione
bat è un sostituto avanzato di cat (concatenate, visualizzazione di file), progettato per la visualizzazione dei file con funzionalità migliorate. Oltre a concatenare i file e mostrare il loro contenuto, offre evidenziazione della sintassi, numerazione delle righe e una perfetta integrazione con i sistemi di controllo versione, rendendolo uno strumento ideale per sviluppatori e utenti avanzati.
- Evidenziazione della sintassi per numerosi linguaggi
- Numerazione delle righe e integrazione con Git
- Output colorato e leggibile
Esempio pratico:
bat /etc/ssh/sshd_config
Visualizza il file di configurazione di SSH in modo chiaro e colorato.
Quando utilizzarlo:
Perfetto per analizzare script, configurazioni o registri, soprattutto durante il debug.
exa: alternativa moderna a ls
exa sostituisce ls (list, elenca file e cartelle) offrendo visualizzazioni colorate, supporto ad albero e integrazione con sistemi di controllo versione come Git.
- Visualizza permessi, dimensioni, date e stato Git
- Supporta la visualizzazione ad albero con l’opzione –tree
Esempio pratico:
exa -la --tree
Elenca tutti i file e le cartelle in modo ricorsivo e strutturato.
Quando utilizzarlo:
Utile per amministratori e sviluppatori che desiderano una panoramica chiara delle cartelle e dello stato dei file.
Strumenti per la navigazione e la registrazione
broot: navigazione del file system ad albero
broot consente di esplorare il file system in una vista ad albero interattiva, con ricerca intelligente e anteprime dei file.
- Interfaccia guidata da tastiera
- Ricerca durante la digitazione
- Possibilità di eseguire operazioni sui file (copia, spostamento, eliminazione)
Esempio pratico:
broot
Avvia la navigazione interattiva delle cartelle.
Quando utilizzarlo:
Ideale per chi gestisce grandi strutture di cartelle e necessita di una panoramica immediata.
asciinema: registra e condividi sessioni terminale
asciinema consente di registrare le sessioni del Terminale e salvarle come file di testo interattivi, che possono essere riprodotti esattamente come sono stati eseguiti. È ideale per creare tutorial, documentare procedure o condividere bug, permettendo agli altri di vedere l’esatta sequenza di comandi eseguiti.
- Produce registrazioni leggere e facilmente condivisibili
- Riproduzione fedele di quanto digitato
- Può essere incorporato in documentazione o siti web
Esempio pratico:
asciinema rec
Registra la sessione fino all’uscita, creando un file riproducibile. Per riprodurre una sessione registrata, basta usare:
asciinema play nomefile.cast
Quando utilizzarlo:
Perfetto per creare materiale formativo o segnalare bug in modo dettagliato.
httpie: interazione semplice con servizi web
httpie è uno strumento per effettuare richieste HTTP in modo leggibile e intuitivo, con supporto per la formattazione automatica dei dati e autenticazione integrata.
- Sintassi pulita e leggibile
- Supporto nativo per dati in formato JSON (JavaScript Object Notation, notazione oggetto JavaScript)
- Autenticazione integrata
Esempio pratico:
http GET https://api.github.com/repos/torvalds/linux
Quando utilizzarlo:
Ideale per sviluppatori e tester che devono interagire con servizi web o API (Application Programming Interface, interfaccia di programmazione delle applicazioni).
Conclusione
Questi 10 strumenti rappresentano una risorsa preziosa per chiunque desideri aumentare la propria efficienza e padronanza della riga di comando su una distribuzione GNU/Linux. Ognuno di essi incarna la filosofia Unix di fare una cosa e farla bene, spesso superando per semplicità e potenza le alternative più note. La maggior parte di questi strumenti è facilmente installabile tramite i gestori di pacchetti software delle principali distribuzioni GNU/Linux, come apt (Advanced Package Tool, gestore di pacchetti avanzato) per Debian o Ubuntu, dnf (Dandified Yum, gestore di pacchetti Fedora), o yay (Yet Another Yaourt, gestore di pacchetti Arch Linux).
Suggerimento pratico:
Per installare rapidamente alcuni di questi strumenti su Debian o Ubuntu:
sudo apt install fd-find bat ripgrep exa tldr httpie
Integrare anche solo uno o due di questi strumenti nella routine quotidiana può fare la differenza e portare la tua esperienza GNU/Linux a un livello superiore.
Source: Read More