Creare alias

Alias

Salve a tutti!! Nel post di oggi andremo a vedere una funzione particolare della shell di Linux, ovvero gli alias, davvero molto comodi quando il comando da scrivere sul terminale è parecchio lungo! 

 

INTRODUZIONE
La shell è un interprete a disposizione dell'utente che permette di comunicare con il sistema operativo, scrivendo comandi che vengono appunto interpretati ed eseguiti.
Ma cosa succede quando un terminale viene aperto?
Ci sono due casi, ossia due tipi di shell:

 

Shell di login
Al suo avvio carica, quindi legge, il file /etc/profile.
Se noi proviamo ad aprirlo con il comando:
 
nano /etc/profile
 
vedremo che al suo interno ci sono diverse righe di codice che interpreterà la shell alla lettura del file, le righe che iniziano con il carattere # sono commenti.
Dopo, il terminale, legge uno dei seguenti file .bash_profile, .bash_login o .profile, che si trovano nella nostra home directory, ma quale di questi leggerà? Dipende quale abbiamo nella nostra home, per esempio io ho .profile quindi leggerà questo.
Il suo contenuto è molto simile a quello del file/etc/profile.
file home
 
Infine, la nostra shell, leggerà il file .bashrc, che si trova anche questo nella nostra home directory, il suo contenuto è simile ai file precedenti.
 
Shell interattiva
Questo è il secondo caso, che a differenza della shell di login, leggerà solo il file .bashrc.
 
FILE .BASHRC
Vediamo più in dettaglio questo file.
Se noi lo apriamo vedremo che il contenuto è molto simile a quello del file /etc/profile, dove il carattere # indica sempre che la riga è un commento, mentre il resto sono delle istruzioni che la nostra shell eseguirà alla lettura di questo file.
La sintassi è simile a quella degli script in bash, (andate qui se volete approfondire).
Come abbiamo detto in questo file ci sono istruzioni che verranno eseguite dalla shell, e tra queste istruzioni possono esserci anche comandi della shell o nostri script, ma vediamo ora un esempio.
Proviamo a far pavoneggiare la nostra shell quando si apre.
Per farlo dobbiamo andare a editare il file .bashrc, quindi posizioniamoci nella nostra home directory e scriviamo:
 
nano .bashrc
 
si aprirà l'editor di testo nano, andiamo in fondo al file e scriviamo:
 
echo "Sono proprio una bella shell!:)"
 
Ora chiudiamo salvando il file con ctrl+x e cliccando s per salvare.
Adesso se apriamo una shell, essa si pavoneggerà al suo avvio
pavoneggiamento
 
 
CREIAMO UN ALIAS
Bene ma ora torniamo seri e vediamo un po' questo strumento: gli alias.
Cos'è un alias? A molti di voi sarà capitato di dover scrivere sul terminale comandi abbastanza lunghi per fare cose banali, e scriverli ogni volta può essere noioso, e qui ci vengono in contro gli alias. In sostanza diamo un nome simbolico ad un comando.
Vediamo un esempio.
Facciamo esattamente come prima, ma al posto di far pavoneggiare la nostra shell, creeremo un alias che ci aggiornerà il nostro sistema operativo.
Per fare ciò, da terminale, dovremmo scrivere:
 
sudo apt-get update
 
e poi:
 
sudo apt-get upgrade
 
è il nostro sistema si aggiornerà. Ora facciamo in modo che scrivendo aggiornati, la shell, farà la stessa cosa dei due comandi sopra.
Posizioniamoci nella nostra home directory e editiamo il file .bashrc, quindi come prima
 
nano .bashrc
 
Andiamo in fondo al file e aggiungiamo la seguente scritta
 
alias aggiornati='sudo apt-get update && sudo apt-get upgrade'
 
poi chiudiamo con ctrl+x e salviamo digitando s.
Riavviamo la nostra shell, e digitiamo:
 
aggiornati
 
E come per magia il nostro sistema operativo si aggiornerà!
 

 

CONCLUSIONI
Con il post di oggi abbiamo visto cosa fa la nostra shell all'apertura, come farla pavoneggiare, e come far partire un qualsiasi programma o script al suo avvio, oppure come creare un alias che rende certi comandi meno rognosi da scrivere.
Fonti:
-Immagini dell'autore;
Dottore in Informatica. Da sempre appassionato di Linux, reti informatiche, sicurezza e, in modo amatoriale, all'elettronica. Il mio intento è quello di trasmettere le mie conoscenze ad altri appassionati.

Lascia un commento