miércoles, 19 de enero de 2011

Evitar que un archivo tar descomprime ficheros sueltos

¿Te ha pasado alguna vez que has descomprimido un archivo *.tar.gz y sin que te des cuenta te lleno todo el directorio de archivos y ficheros? Lo que sucede es que hay archivos tar.gz que se descomprimen sin crear un subdirectorio, algunos llaman a estos ficheros "bomba tar".

Para evitar que esto suceda puedes ejecutar el siguiente comando:


atb() {shopt -s extglob ; l=$(tar tf $1); if [ $(echo "$l" | wc -l) -eq $(echo "$l" | grep $(echo "$l" | head -n1) | wc -l) ]; then tar xf $1; else mkdir ${1%.t@(ar.gz|ar.bz2|gz|bz|ar)} && tar xf $1 -C ${1%.t@(ar.gz|ar.bz2|gz|bz|ar)}; fi ; shopt -u extglob}

Lo que hace este comando es analizar el tar.gz (o .bz2 o .tgz) ANTES de descomprimirlo. Si resulta que se trata de una bomba tar, crea un directorio con el mismo nombre X que el fichero X.tar.gz y luego lo descomprime en X.

Leído en DiarioLinux.

No hay comentarios: