Informazioni sul terminale usando Archey e Debian Gnu/Linux

 

 

Per la visualizzazione all'interno del terminale di alcune informazioni di sistema, oltre a Screenfetch, che è più completo, e ad altre personalizzazioni varie, si può utilizzare Archey:

 

# apt-get install scrot

$ wget http://github.com/downloads/djmelik/archey/archey-0.2.8.deb

# dpkg -i archey*

$ archey

 

come al solito per averlo all'avvio del terminale, inserire in .bashrc:

 

#Archey
archey

 

enjoy 😉

 

Pagina Man colorata

 

 

Per una buona visione di una pagina man, può risultare comodo installare un pager alternativo come most, che si trova nei repository di tutte le distro. Per visionare quindi la pagina man di most con le opzioni colorate, si può usare:

 

$ man --pager=most most

 

ma il comando sopra può risultare scomodo, per ovviare e rendere definitivo il tutto:

 

$ nano $HOME/.bashrc

 

ed incollare in fondo:

 

export MANPAGER="/usr/bin/most"

 

enjoy 😉

Copiare con cp e barra di progresso

 

 

 

 

Advanced Copy è una mod per i tools cp e mv, e si occupa di far apparire nel terminale una barra di progresso che rende visibile il tempo e la % di una copia di un file. Per abilitare questa mod, bisogna seguire pochi semplici passi:

 

 

$ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.4.tar.gz
$ tar xvzf coreutils-8.4.tar.gz
$ cd coreutils-8.4/
$ wget http://beatex.org/web/advcopy/advcpmv-0.3-8.4.patch
$ patch -p1 -i advcpmv-0.3-8.4.patch
$ ./configure
$ make
$ sudo cp src/cp /usr/bin/cp
$ sudo cp src/mv /usr/bin/mv

 

per avere la barra di progresso basta usare le opzioni cp -g e mv -g, senza andare a cambiare il comportamento solito di cp e mv. Per rendere definitivo il cambiamento invece aggiungere a .bashrc  gli alias:

 

alias cp='cp -g'
alias mv='mv -g'

 

Il comando dell' immagine sopra è:

 

$ cp -g debian-squeeze-di-beta1-amd64-netinst.iso /home/edmond/

 

 

enjoy 😉

Bloccare visualizzazione pagina man all’uscita

 

 

Questo è un piccolo trucchetto che secondo me può risultare molto utile quando si consulta da terminale una pagina man. Spesso infatti spulciando il man di un determinato programma, si apprendono nuove informazioni e nuovi comandi, ma una volta premuto il tasto q e si esce dal man, l'informazione o il comando non è più visibile, di conseguenza ci si trova nella situazione di tenere aperte due shell. Per ovviare a questo problema basta modificare .bashrc:

$ echo "export LESS='FiX'" >> ~/.bashrc

enjoy 😉

Conoscere quante volte si è usato un comando

Per conoscere quali sono i comandi usati più frequentemente ed in quale numero, bisogna andare a spulciare in bash_history, ma se vogliamo velocizzare il tutto basta questo comando:

$ history | awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head

nel mio caso il risultato è questo:

edmond@debianbox:~$ history | awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head
58 mencoder
56 ffmpeg
49 cd
43 swfc
43 sudo
41 su
30 swfextract
26 cat
24 ls
10 phoronix-test-suite
 

in bash_history si trovano numerose  informazioni su quello che si è fatto, e per chi volesse disabilitare lo storico per una maggiore sicurezza:

$ rm -f ~/.bash_history

$ nano ~/.bashrc

ed inserire in fondo queste righe:

export HISTFILESIZE=4
unset HISTFILE
export HISTSIZE=2
export HISTCONTROL=ignoredups

Colorare il cursore della Shell

 

Questo post nasce come integrazione a delle mie guide fatte in precedenza che si trovano qua e qua, per dare più colore alla shell, ma nasce soprattutto da una domanda fattami da un lettore, che mi chiedeva: "Come si facesse a cambiare solo il colore del cursore ed utilizzare il verde per l'utente normale ed il  rosso per root " Rispondo subito dicendo che si può cambiare il cursore e si può testare il tutto con questi comandi:

echo -ne "\033]12;Green\007"
echo -ne "\033]12;Red\007"
echo -ne "\033]12;Blue\007"
echo -ne "\033]12;Yellow\007"

A questo punto scelto il colore del cursore sostituiamo la stringa PS1 presente in .bashrc, con la stringa in basso che va bene per le Debian based.

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$'

poi incolliamo alla fine di .bashrc:

echo -ne "\E]12;green\007"

poi salviamo il tutto in .bashrc per l'utente normale oppure in /root/.bashrc per l'utente root.

Per chi volesse una situazione come quella in figura o una base da dove partire può usare questa:

PS1="\[\e[31;1m\]\u-\[\e[32;1m\]\H \[\e[0m\]"

o questa:

PS1='\[\e[1;42m\d\\\t\\\]\u\H\[\e[0;40m\]:\w\$'

La stringa sopra è bruttissima e mi meraviglio pure che funzioni certamente si può ordinare e semplificare, ma io non ho più voglia

Diamo più colore alla shell

 

Oggi mi è venuto in mente di dare un po più di colore al mio terminale e quindi mi sono messo all'opera per fare alcuni cambiamenti ed aggiungere ad una guida fatta in passato, il colore verde per l'utente normale ed il rosso per quello di root, in più l'orario e la data. Senza scendere troppo nei particolari andiamo a vedere questo tipo di personalizzazione. Iniziamo con il dire che quello che andiamo a modificare è la variabile di ambiente "PS1", quindi per conoscere i dati che si trovano all'interno, basta un:

echo $PS1

che nel mio caso restituisce questo:

\[\e]0;\u@\h: \w\a\]\[\e[1;42m\d\\\t\\\]\u\H\[\e[0;40m\]:\w\$

Nel terminale inserendo la stinga sottostante, subito  appariranno  le nuove modifiche,  che ognuno può ulteriormente modificare a proprio piacimento, e alla fine salvarle in .bashrc per renderle effettive per l'utente normale, o in /root/.bashrc per quello di root. Questa stringa andrà chiaramente a sosituire quella di default che si trova quasi all'inizio di .bashrc.

Utente normale colore verde:

PS1='\[\e[1;42m\d\\\t\\\]\u\H\[\e[0;40m\]:\w\$'

Root colore rosso:

PS1='\[\e[1;41m\d\\\t\\\]\u\H\[\e[0;40m\]:\w\$'

Spiegazione della stringa:

\[   marca l'inizio di una sequenza di caratteri non stampabili, che può essere usata per includere nel prompt  una  sequenza di controllo del terminale.

\e       un carattere ASCII di escape (033)

1;42     formattazione in grassetto colore di sfondo verde intensità normale

 m       fine di una sequenza ANSI

\d       la data nel formato "Giorno-della-settimana Mese Giorno"

\\       un backslash

\t       l'ora corrente nel formato HH:MM:SS 24 ore

\u       il nome-utente dell'utente corrente

\H       il nome dell'host

0;40     formattazione normale colore di sfondo nero intensità normale

\]       marca la fine di una sequenza di caratteri non stampabili

\w       la directory di lavoro corrente con HOME abbreviato con una tilde

Lista dei colori: Leggi tutto "Diamo più colore alla shell"

Debian bash (personalizzazione)

 

 

 

Per chi volesse personalizzare la propria Debian bash come la mia, bastano pochi passi. Il sito di riferimento per la conversione di parole in ASCII è sicuramente questo. Quello che faremo sarà quello di visualizzare all'apertura del nostro prompt, il Logo con la  scritta Debian, e la versione della nostra distribuzione. Per il resto basta editare nella propria home il file .bashrc, ed in fondo  incollare questo:

 

rosso='\e[1;31m'
NC='\e[0m'
 
 
echo -e "${rosso}          _,edm\$\$\$\$\$on.";
echo -e "       ,d\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$P.";
echo -e "     ,g\$\$P\"\"       \"\"\"Y\$\$.\".";
echo -e "    ,\$\$P'              \`\$\$\$.";
echo -e "  ',\$\$P       ,ggs.     \`\$\$b:";
echo -e "  \`d\$\$'     ,\$P\"'   .    \$\$\$";
echo -e "   \$\$P      d\$'     ,    \$\$P";
echo -e "   \$\$:      \$\$.   -    ,d\$\$'      ";
echo -e "   \$\$;      Y\$b._   _,d\$P'   ${NC}     _,           _,      ,'\`.";
echo -e "${rosso}   Y\$\$.    \`.\`\"Y\$\$\$\$P\"'${NC}         \`\$\$'         \`\$\$'     \`.  ,'";
echo -e "${rosso}   \`\$\$b      \"-.__           ${NC}    \$\$           \$\$        \`'";
echo -e "${rosso}    \`Y\$\$b                     ${NC}   \$\$           \$\$         _,           _";
echo -e "${rosso}     \`Y\$\$.                ${NC} ,d\$\$\$g\$\$  ,d\$\$\$b.  \$\$,d\$\$\$b.\`\$\$' g\$\$\$\$\$b.\`\$\$,d\$\$b.";
echo -e "${rosso}       \`\$\$b.          ${NC}    ,\$P'  \`\$\$ ,\$P' \`Y\$. \$\$\$'  \`\$\$ \$\$  \"'   \`\$\$ \$\$\$' \`\$\$";
echo -e "${rosso}         \`Y\$\$b.      ${NC}     \$\$'    \$\$ \$\$'   \`\$\$ \$\$'    \$\$ \$\$  ,ggggg\$\$ \$\$'   \$\$";
echo -e "${rosso}           \`\"Y\$b._     ${NC}   \$\$     \$\$ \$\$ggggg\$\$ \$\$     \$\$ \$\$ ,\$P\"   \$\$ \$\$    \$\$";
echo -e "${rosso}               \`\"\"\"\"    ${NC}  \$\$    ,\$\$ \$\$.       \$\$    ,\$P \$\$ \$\$'   ,\$\$ \$\$    \$\$";
echo -e "${NC}                          \`\$g. ,\$\$\$ \`\$\$._ _., \$\$ _,g\$P' \$\$ \`\$b. ,\$\$\$ \$\$    \$\$";
echo -e "                           \`Y\$\$P'\$\$. \`Y\$\$\$\$P',\$\$\$\$P\"'  ,\$\$. \`Y\$\$P'\$\$.\$\$.  ,\$\$.";
echo -e "${rosso}Debian  GNU/Linux ${NC}" `cat /etc/debian_version`

 

Se poi volessimo un avviso che ci ricordi ulteriormente che siamo root, basta inserire nel file .bashrc che si trova in /root  le seguenti linee:

 

 


echo -e '\e[1;31m';
echo "  ______  _____   _____  _______";
echo " |_____/ |     | |     |    |";
echo " |    \_ |_____| |_____|    |";
echo -e '\e[m';
echo "NON FARE CAZZATE :)"