GNU/Linux: risparmiare tempo con gli alias di comando

Scrivere a mano comandi lunghi, ripetitivi o complicati è una fatica inutile: obbliga a ricordarsi tutto e a stare attenti a ogni virgola. Il comando alias risolve il problema: si memorizza una riga di comando anche lunghissima e la si richiama con una semplice etichetta. Vediamo come funziona, come si rende permanente e quali sono le trappole.

La sintassi

La sintassi è elementare: si passa ad alias una coppia chiave=valore, dove la chiave è l’etichetta che vogliamo usare e il valore è la riga di comando che verrà eseguita ogni volta che scriviamo quell’etichetta.

alias nomealias=valorealias

Per eliminare un alias si usa unalias:

unalias nomealias

Le opzioni di alias sono poche:

  • -p: stampa gli alias definiti (è quello che fa anche il comando lanciato senza argomenti);
  • -a: nel video la presento come opzione per definire un alias per tutti gli utenti, ma attenzione: nella bash di oggi non esiste (alias -a dà “opzione non valida”). Per un alias valido per tutti si scrive la riga in /etc/bash.bashrc, da root.

Creare un alias

Supponiamo di usare spesso ls con le opzioni -la. Possiamo accorciare tutto a lsa:

alias lsa="ls -la"

Non succede nulla di visibile: alias non dà nessun feedback. Ma se ora scriviamo lsa otteniamo lo stesso risultato di ls -la.

lsa

Con pochi caratteri il risparmio è modesto, ma su comandi molto più complessi (lo vediamo fra poco) la cosa diventa premiante.

Per vedere tutti gli alias disponibili si lancia alias senza argomenti, oppure con -p:

alias
alias -p

Se un alias non serve più lo togliamo con unalias:

unalias lsa

Se adesso rilanciamo alias non ne vediamo più nessuno, e se scriviamo lsa riceviamo l’errore di comando non trovato.

I due limiti

Un alias definito da riga di comando vale solo per l’utente che lo definisce e solo per la sessione in corso. Il primo limite si aggira, se siete root, scrivendo l’alias in un file globale come /etc/bash.bashrc. Il secondo si aggira modificando un file di configurazione nella nostra home.

Rendere permanente un alias

Il file da modificare è .bashrc, nella home directory. Viene letto all’inizio di ogni sessione. Aprilo con il tuo editor preferito:

nano ~/.bashrc

In fondo al file ci sono già degli alias definiti: aggiungi il tuo subito dopo. Mettici sopra un commento: un commento in più non fa male a nessuno e fa un regalo al te stesso del futuro.

# il mio ls con tutti i dettagli
alias lsa="ls -la"

Salva il file e apri un nuovo terminale: il file viene letto all’inizio della sessione, quindi nel terminale già aperto l’alias non c’è ancora. (Si può rileggere il file anche al volo, con source ~/.bashrc, ma qui non complichiamoci la vita.) Nel nuovo terminale scrivi lsa e vedrai che funziona.

Un caso concreto: tin

Chi ha seguito il video su Usenet ricorda che per lanciare il lettore di newsgroup tin serviva una riga bella lunga: -A per l’autenticazione, -g per il server news.eternal-september.org, -p per la porta. Questo è il candidato perfetto per un alias:

alias tin="tin -A -g news.eternal-september.org -p 119"

Lanciando tin, il programma parte già con l’autenticazione e tutti gli argomenti giusti.

Attenzione: gli alias mascherano i comandi

Nell’esempio precedente ho chiamato l’alias proprio tin, come il comando. Gli alias si sovrappongono ai comandi già esistenti con lo stesso nome. Può essere una caratteristica voluta e utile: se lancio sempre un comando con le stesse opzioni, ridefinirlo con lo stesso nome è comodissimo.

Ma è anche il rischio peggiore: se creiamo per sbaglio un alias con il nome di un comando che non ricordiamo di avere, lo mascheriamo, e la volta che ci serve non sappiamo più come mai si comporta in modo strano. Può generare confusione o dare problemi se copiamo comandi in sequenza. Nessun dramma: basta eliminare l’alias con unalias e il comando sottostante torna visibile.

La regola pratica: prima di creare un alias, prova a lanciare l’etichetta che vuoi usare. Se ricevi un errore di comando non trovato, semaforo verde. Altrimenti scegline un’altra, a meno che mascherare il comando sia proprio quello che vuoi.

In sintesi

L’alias è un modo semplicissimo per accorciare la digitazione: alias per definirlo, unalias per toglierlo, .bashrc per renderlo permanente. Apri la tua Linux box e comincia a sperimentare: apprezzerai la potenza e la flessibilità di questo piccolo comando.

Link e risorse

Sostieni il canale

PER SOSTENERE IL CANALE BASTANO UN LIKE E UN’ISCRIZIONE!

questi link sono affiliati Amazon, acquistando i libri che ti consiglio sostieni il canale!