2010-07-09 11:58:42 +0000 2010-07-09 11:58:42 +0000
67
67

¿Comando para 'gzip' una carpeta?

Soy nuevo en el tema del símbolo del sistema de Mac. ¿Cómo se crea un gzip de una carpeta en Mac OS X? Algunas personas me han dicho que si quieres crear un gzip de una carpeta, primero debes “tar” y luego “gzip”. ¿Es esto correcto?

Respuestas (6)

132
132
132
2010-07-09 12:10:37 +0000

Tar es la herramienta de archivo y gzip es la herramienta de compresión. Para comprimir un directorio completo, primero hay que archivarlo en un solo fichero. Eso es lo que el trabajo es tar. y luego comprimir el archivo archivado. Puedes hacer ambas tareas en un solo comando tar con la opción adecuada.

tar -czf folder\_name.tar.gz folder\_name/

Si no quiere hacer un archivo tar (puede ser que quiera comprimir sólo un archivo), entonces puede usar el comando gzip directamente.

gzip file.txt

Creará un archivo comprimido llamado archivo.txt.gz

14
14
14
2015-03-25 02:35:06 +0000

Si alguien sigue encontrando esta pregunta al buscar “gzip en Mac”, he escrito una guía que puede ser útil para alguien más. Aquí va:

Comprimiendo

El comando más básico comprimirá el archivo filename.ext y luego lo reemplazará por filename.ext.gz en el mismo directorio.

gzip filename.ext

Si no quiere perder su archivo original, entonces necesita canalizar la salida de gzip -c a un archivo.

gzip -c filename.ext > anotherfile.gz

También podemos comprimir desde la entrada estándar, por lo que podemos comprimir la salida de otros comandos.

cat filename.ext | gzip > anotherfile.gz

OS X también viene con los comandos compress y uncompress. Hacen que el gzip sea más “inteligente”, ya que no comprime el archivo si éste crece después del proceso de compresión. El siguiente comando sustituye filename.ext por filename.ext.Z en el mismo directorio.

compress filename.ext

Descompresión

Para restaurar un archivo a su estado natural sin comprimir se puede utilizar gzip u otro de los wrappers. El modo de descompresión de gzip se llama con la bandera -d. Este modo reemplazará el archivo filename.ext.gz por filename.ext en el mismo directorio. También hay un atajo llamado gunzip que hará lo mismo.

gzip -d filename.ext.gz
gunzip filename.ext.gz

También podemos canalizar el archivo descomprimido a la salida estándar para guardarlo en otro archivo.

gzip -cd filename.ext.gz > anotherfile
gunzip -c filename.ext.gz > anotherfile

Otra forma rápida de leer el contenido de un gzip a la salida estándar es zcat, es básicamente lo mismo que llamar a gzip -cd pero puedes llamar a varios archivos y hacer que se concatenen de la misma forma que el comando cat concatena archivos de texto. El único inconveniente es que tus archivos deben tener el sufijo .Z para que funcione…

zcat filename.ext.Z
zcat file_a.Z file_b.Z file_c.Z

¡Pero no temas! zcat sigue siendo útil, porque puede descomprimir desde la salida estándar. Así que básicamente puedes canalizar tus archivos a zcat para que los descomprima en la ventana de la terminal.

cat filename.ext.gz | zcat

Esto es muy útil si necesitas comprobar el contenido de un archivo realmente rápido, e incluso puedes guardar la salida de zcat en un archivo, así de fácil.

cat filename.ext.gz | zcat > anotherfile

El wrapper uncompress funciona como gzip -cd pero busca archivos con la extensión .Z para reemplazarlos en el directorio actual, por lo que sólo necesitas especificar el nombre del archivo que quieres restaurar, pero no pasa nada si lo llamas con la extensión .Z, ya que el programa lo ignorará.

compress filename.ext
uncompress filename.ext

Espero que te sea útil mi guía :)

4
4
4
2010-07-09 12:03:04 +0000

MacOS X es Unix así que esto debería funcionar (esto funciona en GNU/Linux)

tar czvf compressed.tar.gz folder
3
3
3
2010-07-09 22:42:42 +0000

Para añadir a la respuesta de @taskinoor: si utilizas la versión de un solo archivo, es decir,

gzip file.txt

ten en cuenta que el archivo original (file.txt) se eliminará y sólo tendrás file.txt.gz

Pondría esto como comentario pero no tengo suficiente karma para hacerlo :=)

3
3
3
2010-07-09 12:04:07 +0000

Sí, tienes que hacer tar el directorio primero. El comando tar puede hacer ambas cosas:

tar -czf archiv.tar.gz mydir/

extraer su archivo:

tar -xzf archiv.tar.gz
1
1
1
2010-07-09 12:04:43 +0000

Sí, esto es correcto. gzip sólo puede comprimir un archivo. tar codifica el contenido del directorio en un solo archivo, que puede comprimirse aún más utilizando gzip, bzip2, lzma o cualquier otra cosa.