Scompattare centinaia di archivi rar con password con un solo comando

 

Scompattare centinaia di archivi rar con password con un solo comando

Scompattare centinaia di archivi rar con password con un solo comando

Mi sono trovato ad avere ben 650 archivi rar con password da scompattare, e non tutti si trovavano nella stessa cartella ma bensì in tante altre sottocartelle. In più tutti questi 650 archivi avevano 5 password differenti. Il mio obbiettivo era quindi di scompattarli tutti spostando i files scompattati in una differente cartella. Per ottenere questo risultato ho sperimentato 3 comandi:

Unrar ricorsivo:

$ unrar e -r -o- *.rar
$ for f in *.rar;do unrar e -r $f;done
$ find  -name '*.rar' -execdir unrar e -o- {} \;

Unrar ricorsivo con password:

$ unrar e -r -o- -p"password" *.rar
$ for f in *.rar;do unrar -ppassword e $f;done
$ find  -name '*.rar' -execdir unrar -ppassword e -o- {}

per spostare contemporaneamente i files estratti in una directory differente:

$ unrar e -r -o- -p"password" *.rar /percorso/destinazione

oppure:


$ find  -name '*.rar' -execdir unrar -ppassword e -o- {} /percorso/destinazione

 

enjoy πŸ˜‰

 

Aggiungere un logo Debian in tty1

 

 

 

 

# nano /etc/issue

 

per l'esempio sopra:

 

Debian GNU/Linux wheezy/sid \n \l

              β–ˆ β–ˆ β–ˆ    β–ˆ β–ˆ β–ˆ   β–ˆ β–ˆ β–ˆ    β–ˆ      β–ˆ      β–ˆ    β–ˆ
              β–ˆ    β–ˆ   β–ˆ       β–ˆ    β–ˆ   β–ˆ     β–ˆ β–ˆ     β–ˆ β–ˆ  β–ˆ
              β–ˆ    β–ˆ   β–ˆ β–ˆ β–ˆ   β–ˆ β–ˆ β–ˆ    β–ˆ    β–ˆ   β–ˆ    β–ˆ  β–ˆ β–ˆ
              β–ˆ    β–ˆ   β–ˆ       β–ˆ    β–ˆ   β–ˆ   β–ˆ β–ˆ β–ˆ β–ˆ   β–ˆ   β–ˆβ–ˆ
              β–ˆ β–ˆ β–ˆ    β–ˆ β–ˆ β–ˆ   β–ˆ β–ˆ β–ˆ    β–ˆ  β–ˆ       β–ˆ  β–ˆ    β–ˆ

 

 

 

altri terminali personalizzati nell'apposita categoria.

 

enjoy πŸ˜‰

Terminali personalizzati Debian

 

Terminali personalizzati Debian, gli altri si possono trovare quà e quà.

 

 

 

Requisiti: installare figlet e toilet
 

# Colori:

black='\e[0;30m'
blue='\e[0;34m'
green='\e[0;32m'
cyan='\e[0;36m'
red='\e[0;31m'
purple='\e[0;35m'
brown='\e[0;33m'
lightgray='\e[0;37m'
darkgray='\e[1;30m'
lightblue='\e[1;34m'
lightgreen='\e[1;32m'
lightcyan='\e[1;36m'
lightred='\e[1;31m'
lightpurple='\e[1;35m'
yellow='\e[1;33m'
white='\e[1;37m'
nc='\e[0m'

# Prompt:

PS1='\[\033[01;32m\]\u\[\033[01;34m\]-\[\033[01;31m\]\h\[\033[00;34m\]{\[\033[01;34m\]\w\[\033[00;34m\]}\[\033[01;32m\]:\[\033[00m\]'

# Informazioni di Sistema

clear
echo -e "${lightred}";toilet --gay -f pagga "          Debian Box           ";
echo
echo
echo -ne "${lightblue}Oggi è:\t\t${lightblue}" `date`; echo ""
echo -e "${lightblue}Kernel : \t${lightblue}" `uname -smr`
echo
echo -e "${lightred}Debian  GNU/Linux ${NC}" `cat /etc/debian_version`
echo -e "${lightblue}"; cal -A 1

 

 

# Colori:

black='\e[0;30m'
blue='\e[0;34m'
green='\e[0;32m'
cyan='\e[0;36m'
red='\e[0;31m'
purple='\e[0;35m'
brown='\e[0;33m'
lightgray='\e[0;37m'
darkgray='\e[1;30m'
lightblue='\e[1;34m'
lightgreen='\e[1;32m'
lightcyan='\e[1;36m'
lightred='\e[1;31m'
lightpurple='\e[1;35m'
yellow='\e[1;33m'
white='\e[1;37m'
nc='\e[0m'

# Prompt:

PS1='\[\033[01;32m\]\u\[\033[01;34m\]-\[\033[01;31m\]\h\[\033[00;34m\]{\[\033[01;34m\]\w\[\033[00;34m\]}\[\033[01;32m\]:\[\033[00m\]'

# Informazioni di Sistema:

clear
echo -e "";
echo -e "${red}              β–ˆ β–ˆ β–ˆ    β–ˆ β–ˆ β–ˆ   β–ˆ β–ˆ β–ˆ    β–ˆ      β–ˆ      β–ˆ    β–ˆ";
echo -e "              β–ˆ    β–ˆ   β–ˆ       β–ˆ    β–ˆ   β–ˆ     β–ˆ β–ˆ     β–ˆ β–ˆ  β–ˆ";
echo -e "              β–ˆ    β–ˆ   β–ˆ β–ˆ β–ˆ   β–ˆ β–ˆ β–ˆ    β–ˆ    β–ˆ   β–ˆ    β–ˆ  β–ˆ β–ˆ";
echo -e "              β–ˆ    β–ˆ   β–ˆ       β–ˆ    β–ˆ   β–ˆ   β–ˆ β–ˆ β–ˆ β–ˆ   β–ˆ   β–ˆβ–ˆ";
echo -e "              β–ˆ β–ˆ β–ˆ    β–ˆ β–ˆ β–ˆ   β–ˆ β–ˆ β–ˆ    β–ˆ  β–ˆ       β–ˆ  β–ˆ    β–ˆ";
echo -e "";
echo -e "";
echo -ne "${lightblue}Oggi è:\t\t${lightblue}" `date`; echo ""
echo -e "${lightblue}Kernel : \t${lightblue}" `uname -smr`
echo
echo -e "${lightred}Debian  GNU/Linux ${NC}" `cat /etc/debian_version`
echo -e "${lightblue}"; cal -A1

 

 

PS1='\[\033[01;32m\]\u\[\033[01;34m\]-\[\033[01;31m\]\h\[\033[00;34m\]{\[\033[01;34m\]\w\[\033[00;34m\]}\[\033[01;32m\]:\[\033[00m\]'

rosso='\e[1;31m'
NC='\e[0m'

echo -e "";
echo -e "${rosso}              β–ˆ β–ˆ β–ˆ    β–ˆ β–ˆ β–ˆ   β–ˆ β–ˆ β–ˆ    β–ˆ      β–ˆ      β–ˆ    β–ˆ";
echo -e "              β–ˆ    β–ˆ   β–ˆ       β–ˆ    β–ˆ   β–ˆ     β–ˆ β–ˆ     β–ˆ β–ˆ  β–ˆ";
echo -e "              β–ˆ    β–ˆ   β–ˆ β–ˆ β–ˆ   β–ˆ β–ˆ β–ˆ    β–ˆ    β–ˆ   β–ˆ    β–ˆ  β–ˆ β–ˆ";
echo -e "              β–ˆ    β–ˆ   β–ˆ       β–ˆ    β–ˆ   β–ˆ   β–ˆ β–ˆ β–ˆ β–ˆ   β–ˆ   β–ˆβ–ˆ";
echo -e "              β–ˆ β–ˆ β–ˆ    β–ˆ β–ˆ β–ˆ   β–ˆ β–ˆ β–ˆ    β–ˆ  β–ˆ       β–ˆ  β–ˆ    β–ˆ";
echo -e "";
echo -e "${rosso}Debian  GNU/Linux ${NC}" `cat /etc/debian_version`

 

 

enjoy πŸ˜‰

Terminale personalizzato completo (quasi)

 

 

 

Tenendo sempre il terminale aperto, mi piace personalizzarlo, e dato che anche l'occhio vuole la sua parte, di tanto in tanto mi piace cambiargli il look. Quindi oggi dato che mi sento buono πŸ™‚ lo condivido con i miei amici pinguini.

 

# apt-get install figlet

$ nano .bashrc

 

ed incollare alla fine:

 

# Colori:

black='\e[0;30m'
blue='\e[0;34m'
green='\e[0;32m'
cyan='\e[0;36m'
red='\e[0;31m'
purple='\e[0;35m'
brown='\e[0;33m'
lightgray='\e[0;37m'
darkgray='\e[1;30m'
lightblue='\e[1;34m'
lightgreen='\e[1;32m'
lightcyan='\e[1;36m'
lightred='\e[1;31m'
lightpurple='\e[1;35m'
yellow='\e[1;33m'
white='\e[1;37m'
nc='\e[0m'

# Prompt:

PS1='\[\033[01;32m\]\u\[\033[01;34m\]-\[\033[01;31m\]\h\[\033[00;34m\]{\[\033[01;34m\]\w\[\033[00;34m\]}\[\033[01;32m\]:\[\033[00m\]'

# Informazioni di Sistema:

clear
echo -e "${lightred}";figlet -c "DEBIAN     BOX";
echo -ne "${lightblue}Oggi è:\t\t${lightblue}" `date`; echo ""
echo -e "${lightblue}Kernel : \t${lightblue}" `uname -smr`
echo
echo -e "${lightred}Debian  GNU/Linux ${NC}" `cat /etc/debian_version`
echo -e "${lightblue}"; cal -A 1

 

questa è una buona base da cui partire per ottenere la propria shell personalizzata.

 

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 πŸ˜‰

Cambiare misure default del terminale

 

 

Il terminale di Gnome di default ha una determinata misura, ma se si volesse più grande o più piccolo non ci sono grandi problemi, basta solo uno step:

 

$ sudo nano /usr/share/vte/termcap/xterm

 

e modificare questa stringa:

 

:co#80:it#8:li#24:\

 

per esempio con questa:

 

:co#100:it#8:li#28:\

 

 

enjoy πŸ˜‰

Benchmark bash dash ksh csh zsh

 

PoisonBit per lavori che sta facendo a voluto fare dei test per decidere quale shell usare, a questo proposito ha fatto un test per verificarne le performance. Io ho modificato questo script aggiungendo ulteriori shell. Lo script è il seguente:

 

#!/bin/bash

testdir=$HOME/test
mkdir -p "$testdir"
printf '#!/bin/dash --\n\n' > "$testdir/dash"
printf '#!/bin/bash --\n\n' > "$testdir/bash"
printf '#!/bin/ksh --\n\n'  > "$testdir/ksh"
printf '#!/bin/csh --\n\n'  > "$testdir/csh"
printf '#!/bin/zsh --\n\n'  > "$testdir/zsh"
chmod +x "$testdir"/*

for i in 1 10 100 1000 10000
do
    for shell in 'bash' 'dash' 'ksh' 'csh' 'zsh'
    do
        result=''
        printf "$shell\t$i\t"
        result="$(
            (time for ((x=0; x < $i; x++));
             do
                 "$testdir/$shell";
             done) 2>&1 | awk -F\  '/real/{print $2}'
        )"
        printf "$result\n"
    done
    printf -- '-------------------------\n'
done

 

salviamo come test-shell.sh

$ chmod a+x test-shell.sh

 

lo lanciamo con:

$ ./test-shell.sh

 

come si può vedere dai risultati il più performante è dash, ma questo era prevedibile, quello che è interessante sono proprio le differenze in termini numerici tra di loro.

 

edmond@debianbox:~$ ./testshell.sh
bash    1    0m0.002s
dash    1    0m0.001s
ksh    1    0m0.002s
csh    1    0m0.004s
zsh    1    0m0.003s
————————-
bash    10    0m0.021s
dash    10    0m0.009s
ksh    10    0m0.019s
csh    10    0m0.039s
zsh    10    0m0.032s
————————-
bash    100    0m0.202s
dash    100    0m0.088s
ksh    100    0m0.181s
csh    100    0m0.380s
zsh    100    0m0.294s
————————-
bash    1000    0m1.900s
dash    1000    0m0.867s
ksh    1000    0m1.793s
csh    1000    0m3.759s
zsh    1000    0m3.078s
————————-
bash    10000    0m19.689s
dash    10000    0m8.577s
ksh    10000    0m17.453s
csh    10000    0m36.365s
zsh    10000    0m29.948s

il vincitore è  Debian Almquist Shell (dash)