GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo archivar archivos y directorios en Linux [Parte 2]

En la guía anterior, aprendimos cómo archivar archivos y directorios usando el comando tar en linux Ahora vamos a hacer lo mismo, pero usando Zip un Descomprimir programas La aplicación zip es tanto una utilidad de archivado como de compresión, por lo que podemos usarla para archivar, comprimir y descomprimir archivos y directorios en sistemas operativos Linux y similares a Unix. Esta aplicación zip es compatible con Windows y otras aplicaciones zip del sistema operativo. Sin embargo, gzip y bzip2 son las aplicaciones de compresión predominantes. Ahora veamos cómo archivar archivos y directorios en Linux usando Zip programa.

Archivar archivos y directorios en Linux usando el programa Zip

El programa Zip viene preinstalado con algunas distribuciones de Linux. En caso de que no esté disponible, puede instalarlo utilizando el administrador de paquetes predeterminado de la distribución.

En Arch Linux y variantes:

$ sudo pacman -S zip unzip

En RHEL, CentOS, Fedora:

$ sudo yum install zip unzip

En Debian, Ubuntu, Linux Mint:

$ sudo apt-get install zip unzip

En SUSE/openSUSE:

$ sudo zypper install zip unzip

Ahora veamos algunos ejemplos.

Crear un nuevo archivo

Para archivar un grupo de archivos en uno, simplemente haga lo siguiente:

$ zip file.zip file1 file2 file3

La salida de muestra sería:

adding: file1 (stored 0%)
adding: file2 (stored 0%)
adding: file3 (stored 0%)

Aquí, estamos creando un archivo llamado file.zip de archivo1 , archivo2 y archivo3 . No tienes que usar el .zip extensión al final del nombre del archivo. Lo he añadido en aras de la claridad.

De manera similar, para crear un archivo de un directorio, ejecute:

$ zip directory.zip ostechnix/
 adding: ostechnix/ (stored 0%)

Aquí, he creado un archivo llamado directory.zip de la ostechnix carpeta. Tenga en cuenta que esto solo agrega el directorio principal (es decir) al archivo. Para archivar todos los subdirectorios de forma recursiva, use -r marca como a continuación.

$ zip -r directory.zip ostechnix/
 adding: ostechnix/ (stored 0%)
 adding: ostechnix/file.txt (deflated 67%)
 adding: ostechnix/audio.mp3 (deflated 6%)
 adding: ostechnix/image.jpg (deflated 3%)

A diferencia de la utilidad tar, el programa zip crea un archivo y lo comprime cuando es posible. Pero tar es un archivador, no una herramienta de compresión.

Cree un archivo de múltiples directorios y/o archivos a la vez

A veces, es posible que deba crear un archivo a partir de un grupo de archivos y carpetas. Para hacerlo, ejecute:

$ zip -r directory.zip ostechnix/ file1 file2 file3
 adding: example/ (stored 0%)
 adding: example/Stephen.jpg (deflated 3%)
 adding: file1 (stored 0%)
 adding: file2 (stored 0%)
 adding: file3 (stored 0%)

El comando anterior crea un archivo llamado directory.zip de ostechnix directorio y el grupo de archivos a saber, file2 , archivo2 , archivo3 .

Ahora déjame mostrarte otro ejemplo.

$ zip directory.zip file4
 adding: file4 (stored 0%)

¿Te diste cuenta? He especificado el archivo existente, pero el programa zip actualizó el contenido del archivo existente sin reemplazarlo. Entonces, si especificó un archivo existente, se actualiza en lugar de reemplazarse. En pocas palabras, se conserva el archivo existente, se agrega el nuevo archivo4. Esta es una ventaja notable del programa zip sobre la utilidad tar.

Extraer archivos

Extraer archivos es tan simple como crear archivos. Para extraer un archivo, simplemente haga:

$ unzip directory.zip

La salida de muestra sería:

 Archive: directory.zip
 creating: ostechnix/
 inflating: ostechnix/file.txt 
 inflating: ostechnix/audio.mp3 
 inflating: ostechnix/image.jpg 
 extracting: file1 
 extracting: file2 
 extracting: file3 
 extracting: file4

También puede extraer de forma selectiva un archivo o una carpeta específicos del directorio. Por ejemplo, el siguiente comando extrae file4 del archivo directory.zip .

$ unzip directory.zip file4
 Archive: directory.zip
 extracting: file4

Lista de contenido de un archivo sin extraerlo

Para enumerar el contenido de un archivo sin extraerlo, use -l bandera.

$ unzip -l directory.zip
 Archive: directory.zip
 Length Date Time Name
--------- ---------- ----- ----
 0 2018-03-29 15:55 ostechnix/
 1286 2018-01-11 12:16 ostechnix/file.txt
 8073033 2018-03-29 14:03 ostechnix/audio.mp3
 15240 2018-03-29 14:45 ostechnix/image.jpg
 5 2018-03-29 15:58 file1
 5 2018-03-29 15:58 file2
 5 2018-03-29 15:58 file3
 5 2018-03-29 16:37 file4
--------- -------
 8089579 8 files

Esto puede ser útil cuando desea buscar y extraer un archivo específico en lugar de extraer todo el archivo.

Crear un archivo cifrado

La otra característica notable del comando zip es que nos permite crear un archivo cifrado, por lo que los usuarios deben ingresar la contraseña para extraer o ver el contenido del archivo.

Para crear un archivo cifrado, use -e bandera.

$ zip -e -r directory.zip ostechnix/ file1 file2 file3 file4
Enter password: 
Verify password: 
 adding: ostechnix/ (stored 0%)
 adding: ostechnix/file.txt (deflated 67%)
 adding: ostechnix/audio.mp3 (deflated 6%)
 adding: ostechnix/image.jpg (deflated 3%)
 adding: file1 (stored 0%)
 adding: file2 (stored 0%)
 adding: file3 (stored 0%)
 adding: file4 (stored 0%

Al extraer o ver el contenido del archivo, debe ingresar la contraseña correcta.

$ unzip directory.zip 
Archive: directory.zip
[directory.zip] ostechnix/file.txt password:

Crear un archivo de varias partes

A veces, es posible que necesite compartir un archivo de almacenamiento a través de Internet y ese archivo de almacenamiento en sí mismo puede ser demasiado grande para enviarlo a través de Internet o LAN. En tales casos, podemos crear archivos multipar de pequeño tamaño y enviarlos a través de Internet.

Para archivar un directorio en varias partes más pequeñas, por ejemplo, 3 MB cada uno, hacemos:

$ zip -r -s 3m archive.zip ostechnix/

Este comando creará archivos de almacenamiento de 3 MB de tamaño como archive.z01 , archivo.z02 , archivo.z03 .... y archivo.zip . Debe enviar estos archivos al destinatario. Al extraer estos archivos de almacenamiento, todo el contenido se extraerá en una sola carpeta llamada ostechnix .

Para dividir el archivo en GB, use "g" como se muestra a continuación:

$ zip -r -s 3g archive.zip ostechnix/

Crear archivos de otros programas

Zip puede aceptar entradas estándar, por lo que es posible crear un archivo de otros programas. El siguiente comando canaliza la salida del comando "ls" como entrada al comando zip.

$ ls -l Documents/ | zip ls-documents.zip -
 adding: - (deflated 56%)

Recuerda aquí ls-documents.zip es el archivo del comando "ls". Por lo tanto, no mostrará el contenido del archivo usando -l cambiar.

En su lugar, puede ver su contenido usando el comando:

$ unzip -p ls-documents.zip | less

Aquí, -p se refiere a la tubería.

Comprimir archivos con tasa de compresión

Para archivar un directorio y su contenido con el nivel más alto [9] de compresión:

$ zip -r -9 archive.zip ostechnix/

Zip admite tres niveles de compresión como se indica a continuación.

  • 1 – Más rápido (peor)
  • 9 – Más lento (mejor o más alto)
  • 6 – Nivel predeterminado

Excluir archivos o carpetas al crear archivos

Podemos excluir archivos o subdirectorios no deseados mientras creamos un archivo. Para hacerlo, use -x marca como a continuación:

$ zip -r directory.zip ostechnix/ -x ostechnix/image.jpg

El comando anterior creará un archivo del directorio ostechnix, pero excluirá image.jpg archivo del archivo.

Puede verificar el contenido sin extraer el archivo comprimido usando el siguiente comando.

$ unzip -l directory.zip

Eliminar archivos de un archivo existente

Es posible que haya olvidado excluir algunos elementos no deseados al crear archivos. ¡No hay problema! Puede eliminar esos archivos incluso después de crear el archivo.

Para eliminar los archivos no deseados de un archivo existente, use -d bandera como se muestra a continuación.

$ zip -d directory.zip "ostechnix/file.txt"
deleting: ostechnix/file.txt

De manera similar, para eliminar un grupo del mismo tipo de archivos, por ejemplo .txt uso de archivos:

$ zip -d directory.zip "ostechnix/*.txt"

Y, eso es todo por ahora. Solo arañamos la superficie de los comandos zip/unzip. Puedes hacer mucho más usando estos programas. Para obtener más detalles, consulte las páginas man.

$ man zip
$ man unzip

Linux
  1. Cómo comprimir archivos y directorios en Linux (con ejemplos)

  2. Cómo archivar y comprimir archivos en Linux

  3. Cómo comprimir varios archivos en Linux

  4. Linux Eliminar archivos y directorios

  5. Cómo encontrar y eliminar directorios y archivos vacíos en Linux

Cómo hacer una copia de seguridad de archivos y directorios usando Rsync en Linux

Cómo cambiar el nombre de archivos y directorios en Linux

Cómo copiar archivos y directorios en la terminal de Linux

Cómo comprimir archivos y carpetas en Linux

Cómo eliminar archivos y directorios usando la línea de comandos de Linux

Cómo comprimir un archivo en Linux