…sei stato ufficialmente pimpato!

Pimp my TerminalTutti 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

terminalesi 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 comando

gedit ~/.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 comando

alias 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 ~/.bashrc

e 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!

Commenti su: "[PIMP MY…™] Console: per un terminale ergonomico!" (6)

  1. Lost your car keys, or perhaps inadvertently broke in the ignition. Nowadays locksmiths are
    offering services that are extending beyond doors and automobiles to include window
    locks for security measures. We are dedicated to providing our customers with fast and friendly service.

  2. The Wise Dj ha detto:

    Segnalo che per gli alias basta aprire il terminale e scrivere:

    alias NUOVO_COMANO=’VECCHIO_COMANDO’

    e per rimuovere:

    alias ‘NUOVO_COMANDO’

    • questo li aggiunge in modo permanente o solo per la shell di bash in esecuzione?

      grazie in ogni caso!😀

      • The Wise Dj ha detto:

        -.-
        Hai ragione, li aggiunge solo alla shell in esecuzione, non ci avevo fatto caso, mi ci sono imbattuto per caso stamattina.

        Infatti io per gestire gli alias usavo uno script da me fatto =D

        Stessa cosa per le gestione del prompt, l’ho finito or ora =P

      • Mi pareva😉

        comunque è utile da sapere lo stesso, ricordando che è un alias temporaneo. Può anche questo avere le sue utilità.🙂

  3. […] 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, […]

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: