Tutti noi, quando il nostro amico linuxiano ci ha convinti a installare il pinguino sul nostro pc e ha cominciato a smanettare su una finestra tutta nera con solo una riga in cui scriveva comandi allora ancora incomprensibili, abbiamo avuto come primo pensiero:
“Ma che scomodo!!”
Poi mano a mano ci siamo abituati ad usarlo e ora spesso lo preferiamo addirittura per alcune operazioni all’interfaccia grafica… ma magari non è ancora abbastanza comodo… necessita di un Pimpaggio!
Ebbene sì, anche la mera interfaccia a linea di comando può essere resa più accattivante e più pratica da usare grazie a qualche piccolo accorgimento che vi spiegherò in questa guida.
Prima di tutto vi parlerò di come cambiare qualche dettaglio nella veste “grafica”, se così si può chiamare, e poi vi parlerò degli alias, che possono semplificare di gran lunga la scrittura di comandi, soprattutto per routine che vengono eseguite spesso.
La guida è orientata per un pubblico di una certa esperienza, i nuovi entrati nel mondo Linux potrebbero trovare qualche difficoltà nel seguire questa guida. Se vogliono provare, possono poi comunque chiedere ovviamente delucidazione tramite commenti.
Dunque…
Modificare il prompt Bash:
si chiama prompt quella riga, che di default in genere contiene nome utente e directory, che compare appena aperto il terminale, modificando qualche parametro in un file presente nella home di tutti gli utenti è possibile personalizzarlo (cambiando le informazioni che visualizza o colorandolo) in modo che sia più adatto ai nostri scopi.
Il file in cui dovremo apportare le modifiche è il file .bashrc presente nella nostra home directory. Per aprirlo ci basta dare il comandogedit ~/.bashrc
La riga che ci interessa è quella che comincia con
PS1=’……..’
commentiamola, aggiungendo un cancelletto a inizio riga.
#PS1=’……..’
In questo modo questa riga non verrà letta e noi la sostituiremo con un’altra, quella da noi personalizzata. Per tornare alla versione di default basterà togliere il cancelletto di fronte a questa riga e aggiungerlo davanti a quella che avremo aggiunto noi ora.
Per prima cosa ora vi elencherò tutti i possibili colori e tutte le possibili opzioni, e poi vi spiegherò come comporli insieme .
I colori (seguiti dal loro codice) a nostra disposizione sono i seguenti:Nero 0;30 Grigio scuro 1;30
Blu 0;34 Blu brillante 1;34
Verde 0;32 Verde brillante 1;32
Ciano 0;36 Ciano brillante 1;36
Rosso 0;31 Rosso brillante 1;31
Viola 0;35 Viola brillante 1;35
Marrone 0;33 Giallo 1;33
Grigio chiaro 0;37 Bianco 1;37
Le opzioni invece sono queste: \a il carattere ASCII beep (07)
\d la data nel formato "Giorno-della-settimana Mese Data" (e.g., "Tue May 26")
\e un carattere di escape ASCII (033)
\h l'hostname fino al primo `.'
\H l'hostname
\n il carattere "newline"
\r il carattere "carriage return"
\s il nome della shell, il nome base di $0 (la parte che segue lo slash finale)
\t l'ora corrente nel formato 24-ore HH:MM:SS
\T l'ora corrente nel formato 12-ore HH:MM:SS
\@ l'ora corrente nel formato 12-ore am/pm
\u lo username dell'utente corrente
\v la versione di bash (e.g., 2.00)
\V la release di bash, versione + patchlevel (e.g., 2.00.0)
\w la directory di lavoro corrente
\W il nome di base della directory di lavoro corrente
\! il numero cronologico (history number) di questo comando
\# il numero di questo comando
\$ se l'UID effettivo è 0, un #, altrimenti un $
\nnn il carattere corrispondente al numero ottale nnn
\ un backslash
\[ comuncia una sequenza di caratteri non stampabili, che potrebbero essere usati per inserire una sequenza di controllo del terminale nel prompt
\] termina la sequenza di caratteri non stampabili
Sono tanti eh? Bene ora passiamo a vedere un esempio di come si formatta un prompt.
Per avere ad esempio il prompt come quello nell’immagine più in alto (username@host:cartella$ tutto grassetto, con username e host in bianco e cartella in blu):PS1='\[\e[01;37m\]\u@\h\[\e[00m\]:\[\e[01;34m\]\w\[\e[00m\]\$ '
cerchiamo di scomporlo nelle sue componenti…
- PS1=’…’: la riga di prompt deve sempre iniziare con PS1= e contenere tutta la descrizione all’interno di due apici;
- \[\e[01;37m\]: questo serve per indicare che ciò che segue dovrà essere bianco: \[ e \] contengono sempre una qualunque sequenza di caratteri non stampabili, \e[ indica che ciò che segue sarà un colore, 01;37m è il colore bianco (cfr. tabella colori);
- \u@\h: \u viene sostituito con lo username, @ viene stampato così, e \h corrisponde all'host (cfr. tabella sopra);
- \e[00m\]: indica che ciò che seguirà dev’essere del colore di default (00m);
- :: stampa i due punti;
- \[\e[01;34m\]: indica che ciò che segue sarà blu (01;34m);
- \w: stampa la working directory;
- \e[00m\]: indica che ciò che seguirà dev’essere del colore di default (00m);
- \$: stampa il carattere di fine prompt che è # se l’utente è root, altrimenti $.
Questo era un esempio, provate a fare le vostre modifiche e vedrete che è meno difficile di quanto sembra.
Se volete altri esempi, nonchè ulteriori spiegazioni potete guardare questa guida, da cui io stesso mi sono ispirato per questo articolo.
Ora che il prompt è tutto colorato passiamo alla seconda parte di questo Pimp my…™:
Alias: meno parole, più azione!
Che noia dover ogni volta scrivere “sudo apt-get install …”, ma non c’è proprio un modo per semplificarci la vita?
Ma certo che c’è! Sono gli alias!
Alias è un comando della shell di bash che consente di sostituire una stringa con un’altra, per cui ci consente di sintetizzare lunghi comandi con molti parametri che usiamo spesso in versioni più corte.
Per esempio, appunto, grazie a questo comandoalias apt-install='sudo apt-get install'ci basterà scrivere nel terminale apt-install seguito dal nome del pacchetto da installare e il nostro terminale penserà ad espandere l’alias alla sua forma completa. Comodo eh?
Come fare?
Facile: basta aprire di nuovo il nostro file .bashrc:gedit ~/.bashrce aggiungere aluna riga così formata:alias 'comando sostitutivo'='comando da sostituire'
Eccovi alcuni esempi che potreste trovare utili, ovviamente non c’è limite al numero di alias che potete inventare e aggiungere al fondo del .bashrc, a seconda delle vostre esigenze.
alias install='sudo apt-get install'
alias remove='sudo apt-get remove'
alias purge='sudo apt-get remove -purge'
alias update='sudo apt-get update'
alias autoremove='sudo apt-get autoremove'
alias clean='sudo apt-get clean'
alias autoclean='sudo apt-get autoremove; sudo apt-get clean'
alias h='cd ~'
alias s='cd ~/Scrivania'
alias fico='espeak -v it già,\ proprio\ fico!'
Bene, a questo punto non ci resta che dire che anche l’aspetto meno estetico della nostra Linux box, il casto e puro terminale, è stato finalmente Pimpato!
[...] preso spunto da un buon articolo, trovato sul blog pimpmylinux.wordpress.com e dopo aver letto interamente il tsto sono andato a modificare il mio file di configurazione, [...]