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
- il video su YouTube
- esempi e comandi della puntata su GitHub
- Manuale di Bash (man page) — in italiano
- Alias, Wikipedia — in italiano
- Bash, Arch Wiki — alias e configurazione
- BashFAQ 080 — alias o funzioni?
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!
