Empaquetamiento TAR, GZIP y PBZIP 2
Clase 35 de 43 • Curso de Programación en Bash Shell
Contenido del curso
Clase 35 de 43 • Curso de Programación en Bash Shell
Contenido del curso
KEVIN FIGUEROA
Fredy Mendoza Vargas
Carlos Antonio Salazar Hernández
pablo joaquin mariño rodriguez
José Guillermo
Nicolás Díaz
Gerardo Alberto Soto Alvarez del Castillo
Moisés Jahaziel Luna Chagollán
Juan Pablo Jiménez Esclusa
Jose Suarez
Orlando Castañeda
Sebastian CA
Gonzalo Cordo
Edinson Padrón
Hernan Felipe Diaz
Jesús Rubén Esparza Soto
marco pablo demaio
Enzo Venturi
Cristian Camilo Cortes Ortiz
Diego Andrés Beltrán Garavito
William Schnaider Torres Bermon
Delaskar Caicedo
Miguel Sarmiento Acosta
Marcelo Roman
EDSEL Laucho Di Meo
Victor Muchica Farfan
Cristian Oswaldo Sacta Martos
freddy molleda
Alfonso Adame Rueda
Nicolás Díaz
Platzi, platzi, platzi… Me parece bastante mal que a un curso al que se le aplica una alta confianza por parte de los aprendices (y que, de hecho, muchos vienen aquí a tocar estos temas por primera vez), se les brinde una información confusa… El tanto hablar de parte de un instructor no implica que esté comparta en mejor manera el conocimiento (eso solo crea confusión), al contrario, mientras más simple, estructurada y certera sea la información que se comparte, mejor será la recepción del estudiante, me parece que deben tomar más en serio la calidad de sus cursos, ya que todos merecemos un producto de calidad…
|
Según la ayuda de los comandos en Linux, el comando tar es para empaquetar y el comando gzip es para la compresión.
Gracias por el aporte
Dejate de eso, es el curso de la teminal pero en .sh. Creo que simplemente pudieron agregar un modulo a dicho curso, que creo es asi...
Tengo entendido que tar empaqueta y gzip comprime.
Los que vienen del curso de Introducción a la Terminal y Línea de comandos pueden quedar confudidos porque el profesor Codevars menciona que ambas utilidades comprimen, solo que GZIP tiene un "algoritmo más eficiente". Revisando los manuales de los comandos con $ man tar y $ man gzip puedes leer las diferencias. Otro recurso útil que encontré está acá.
No entiendo el tema del RATIO.
Lo del RATIO es el nivel de compresión del archivo. Por ejemplo: si un archivo pesa 100 Mb. Sí seleccionas un RATIO de 1, el archivo pesara 90 Mb, pero será rápido el proceso. Sí seleccionas un RATIO de 5., el archivo pesara 50 MB, pero será mas lento el proceso de compresión.
Muy buena respuesta
# !/bin/bash # Programa para ejemplificar el empaquetamiento con pbzip # Autor: Juan Pablo @JPJimenezE echo "## Empaquetar todos los scripts de la carpeta shellCourse" ## Recuerda tener instalado pbzip2 !!! por defecto no lo tiene ubuntu. # En dos pasos compressFile=shellCourse."$(date +%Y%m%d_%H%M%S%N)".tar tar -cvf $compressFile *.sh pbzip2 -f $compressFile # Compresión bz2 # En un paso compressFile=shellCourse."$(date +%Y%m%d_%H%M%S%N)".tar tar -cjf "$compressFile".bz2 *.sh # Compresión bz2 # Comprobar el empaquetado ls -ali *.tar*
25_tar.sh
# ! /bin/bash # Programa para ejemplificar el empaquetamiento con el comando tar # Autor: Jose Suarez echo "Empaquetar todos los scripts de la carpeta ShellCourse" tar -cvf ShellCourses.tar *.sh
26_gzip.sh
# ! /bin/bash # Programa para ejemplificar el empaquetamiento con el comando tar y gzip # Autor: Jose Suarez echo "Empaquetar todos los scripts de la carpeta ShellCourse" tar -cvf ShellCourses.tar *.sh #Cuando se empaqueta con gzip el empaquetamiento anterior se elimina gzip ShellCourses.tar echo "Empaquetar un solo archivo, con un ratio 9" gzip -9 9_options.sh
27_pbzip2.sh
# ! /bin/bash # Programa para ejemplificar el empaquetamiento con el comando pbzip # Autor: Jose Suarez echo "Empaquetar todos los scripts de la carpeta ShellCourse" tar -cvf ShellCourses.tar *.sh #Cuando se empaqueta con gzip el empaquetamiento anterior se elimina pbzip2 -f ShellCourses.tar echo "Empaquetar un directorio con tar y pbzip2" tar -cf *.sh -c > ShellCoursedos.tar.bz2
Espero les sirva.
du -sh * les funciona para ver el tamaño de los archivos y directorios de la ruta donde se ubiquen
También tienes ls -sh hace lo mismo, pero te imprime todo en columnas
Empaquetar y comprimir archivos en Linux https://platzi.com/clases/1123-linux-2017/7052-empaquetar-y-comprimir-archivos-en-linux/
Saludos
¿Por qué no simplmete usar -z o -j?
tar -czf shellCourse.tar.gz *.sh tar -cjf shellCourse.tar.bz2 *.sh
No quiero ser un troll pero en serio que este profe, claramente no está en mi top de profes de platzi
Hay que tener muy en claro que tar solamente agrupa multiples archivos en uno sólo, no comprime al menos que tu se lo especifiques.
Si quisieramos agrupar y comprimir archivos en un sólo movimiento, hariamos lo siguiente:
$ tar czf shellCourse.tgz *.sh
Gran error.
Platzi, tienen que ver el contenido de los cursos que hacen. empaquetar no es lo mismo que comprimir y los comandos que explica uno empaqueta y los otros 2 comprimen. También confunde el termino de ratio con "nivel de compresión" que no lo menciona, lo presenta como ambas cosas y no lo son.
Ejemplo con uso de menú:
#!/bin/bash # Author: Enzo Venturi Iglesias while : do clear tput rev; tput cup 1 2 echo "MAIN - PACKING"; tput sgr0 echo -e "\n" echo "1) TAR " echo "2) GZIP " echo "3) PBZIP" echo "4) Exit " echo -e "\n" tput bold; read -p "Enter your choice [1-5]: " Pick case $Pick in 1) echo -e "\nPackaging..."; tar -cjf 1Bash.tar *.sh; sleep 3; exit 0;; 2) echo -e "\nCompress... "; gzip 1Bash.tar *.sh; sleep 3; exit 0;; 3) echo -e "\nCompress... "; pbzip -f 1Bash.tar *.sh; sleep 3; exit 0;; 5) echo -e "\nExiting... " exit 0;; esac done
# ! /bin/bash # Programa para empaquetamiento con clave ZIP # Author Diego Beltran histagram @diegodevelops echo "Empaquetas todos los scripts con clave" zip -e shellCourse *.sh```
TAR
Creo que este curso merece ser actualizado. El instructor pierde demasiado tiempo editando un archivo. Esas partes se pudieron omitir. Además, la información esta algo confusa cuando habla de tar y gzip.
Archivos .tar.gz: Comprimir: tar -czvf empaquetado.tar.gz /carpeta/a/empaquetar/ Descomprimir: tar -xzvf archivo.tar.gz
Archivos .tar: Empaquetar: tar -cvf paquete.tar /dir/a/comprimir/ Desempaquetar: tar -xvf paquete.tar
Archivos .gz: Comprimir: gzip -9 index.php Descomprimir: gzip -d index.php.gz
Archivos .zip: Comprimir: zip archivo.zip carpeta Descomprimir: unzip archivo.zip
También se puede combinar en una sola linea el tar y gzip empaquetado y compresion tar -czf shellCourse.tar.gz *.sh
Desempaquetar y descomprimir tar -xzf shellCourse.tar.gz
la ultima linea no funciona, crea un archivo vació seria mejor de la siguiente manera: tar -c *.sh | pbzip2 -c > shellCourseDos.tar.bz2
thank you so much! I spent so much time trying to figure out what it does, and I arrived to the same conclusion, but I wanted to see if someone had already mentioned it here!
En el script 27 deberian revisar la ultima linea lo mas simple es poner
echo "Empaquetar directorio con tar y pbzip2" tar -cjf shellcoursedos.tar.bz2 *.sh
Lo que hace tu linea es solo agruparla pero no la comprime
Una manera para lograr que el script sea mas practico es pasar los archivos a empaquetar y comprimir por argumentos en la ejecucion del programa.
hola buenas tardes , yo pienso que en realidad el archivo .tar no se elimina sino que cambia o se mueve de ser un archivo empaquetado a ser un archivo comprimido
Claro pero a lo que se refiere es que no quedamos con el original como pasaria en windows.