En realiadad es muy sencillo comprimir un directorio en Linux/UNIX y es muy útil para hacer backup de archivos, enviar por correo un grupo de archivos, o incluso enviar un software que hayas creado a un amigo. Tecnicamente estos archivos son llamados “archivos comprimidos”.
El comando tar es el ideal para esta tarea y puede ser utilizado en servidores Linux/Unix y en general realiza dos acciones principales:
- Crea el archivo
- Comprime el archivo
Para comprimir un archivo debe utilizar el comando tar como se muestra a continuación:
tar -zcvf nombre-archivo.tar.gz nombre-directorio
Donde:
- -z: comprime el archivo usando el programa gzip
- -c: crea el archivo
- -v: verbose. Muestra el progreso mientras se comprime el archivo
- -f: el nombre del archivo a crear
Por ejemplo:
Digamos que tiene un directorio llamado /home/user/programa el cual quieres comprimir, bueno se utilizaría el siguiente comando:
tar -zcvf prog-1-ene-2017.tar.gz /home/user/programa
El comando anterior creará un archivo llamado prog-1-ene-2017.tar.gz en el directorio actual. Si deseas restaurar el archivo entonces necesitas utilizar el siguiente comando (Extraerá los archivos en el directorio actual):
tar -zxvf prog-1-ene-2017.tar.gz
Donde:
- -x: Extrae los archivos.
Si se desea extraer los archivo en un directorio en particular, por ejemplo si quisiera extraer los archivos en /tmp se usaria el siguiente comando:
tar -zxvf prog-1-ene-2017.tar.gz -C /tmp
Nota sobre los comando no gnu/tar
Los comandos anteriores hacen referencia a la sintaxis de GNU tar para comprimir y descomprimir archivos sin embargo si tu sistema no usa GNU tar igualmente puedes crear archivos comprimidos a travez del siguiente comando:
tar -cvf - file1 file2 dir3 | gzip > archive.tar.gz