¿Quiere extraer un solo archivo o carpeta de un archivo TAR o TAR.GZ? Así es como puede hacerlo en Linux, usando el comando tar.
Un tarball (TAR o TAR.GZ) es un conjunto de archivos agrupados como un solo archivo que facilita el almacenamiento y la transferencia de una gran cantidad de archivos localmente o a través de Internet. Siempre que necesite los archivos, simplemente puede extraer el archivo.
Considere un escenario en el que solo necesita un único archivo de un archivo grande. En tal caso, en lugar de extraer el archivo completo, puede extraer solo el archivo que necesita. Veamos cómo.
Ver el contenido de un tarball
Si solo desea ver el contenido de un archivo TAR o TAR.GZ, no es necesario extraerlo. En su lugar, utilice el siguiente comando para ver lo que hay dentro:
tar -tvf [archivo.tar]
tar -ztvf [archivo.tar.gz]
Esto imprimirá la lista de todos los archivos y directorios dentro del archivo.
Extraer un solo archivo del Tarball
Para extraer un solo archivo de TAR o TAR.GZ, use el siguiente formato de comando:
tar -xvf [archivo.tar] [ruta al archivo]
tar -zxvf [archivo.tar.gz] [ruta al archivo]
Recuerde, deberá proporcionar la ruta completa al archivo que desea extraer. Puede encontrar la ruta completa del archivo o directorio usando el tar -tvf [archivo.tar] dominio.
Para extraer un archivo prueba1.txt desde el prueba.tar y prueba.tar.gz archivos, los comandos serían:
tar -xvf prueba.tar prueba1.txt
tar -zxvf prueba.tar.gz prueba1.txt
...dónde:
- -X se utiliza para extraer archivos del archivo
- -v se utiliza para ver el progreso a medida que se extraen
- -F se utiliza para especificar el nombre tarball
- -z se utiliza para descomprimir archivos TAR.GZ
Estos comandos extraerán el archivo especificado en el directorio del terminal actual.
Extraiga un solo directorio de Tarball
Del mismo modo, también puede extraer un solo directorio de un tarball usando la siguiente sintaxis:
tar xvf [archivo.tar] [ruta al directorio]
tar -zxvf [archivo.tar.gz] [ruta al directorio]
Por ejemplo, para extraer todo un prueba1 subdirectorio de la prueba.tar archivo, deberá proporcionar la ruta completa del directorio, es decir, prueba/prueba1:
tar -xvf prueba.tar prueba/prueba1
Esto extraerá todo el subdirectorio. prueba/prueba1 en el directorio de la terminal actual.
Extraiga un solo archivo o carpeta a un directorio diferente
Tú también puedes extraer un archivo o directorio de un tarball a un directorio diferente. Para esto, use la misma sintaxis que la anterior pero agregue el -C opción seguida del directorio de destino:
tar -xvf [archivo.tar] -C [directorio_destino] [archivo o directorio]
tar -zxvf [archivo.tar.gz] -C [directorio_destino] [archivo o directorio]
Digamos que queremos extraer un directorio prueba2 desde el prueba.tar archivo a la Descargas directorio en lugar del directorio de trabajo actual. El comando, en este caso, sería:
tar -xvf prueba.tar -C ~/Descargas/ prueba/prueba2
Eliminar un solo archivo o directorio de un Tarball
Si necesita eliminar un solo archivo o directorio de un archivo TAR o TAR.GZ, use el --borrar opción con el comando tar:
tar -vf [archivo.tar] --delete [archivo o directorio]
Sin embargo, no puede eliminar un archivo o directorio directamente desde un tarball comprimido (TAR.GZ). Lo que debe hacer es primero descomprimir el archivo TAR.GZ, eliminar el archivo o directorio y luego volver a comprimirlo.
Para descomprimir el archivo TAR.GZ, use el siguiente comando:
gzip -d [archivo.tar.gz]
Al descomprimirlo, el archivo se convertirá en un TAR. Ahora puede eliminar el archivo del archivo TAR usando:
tar -vf [archivo.tar] --delete [archivo o directorio]
Después de eso, vuelve a comprimir el archivo TAR usando gzip:
gzip -f [archivo.tar]
Ahorre tiempo mientras trabaja con archivos en Linux
Extraer solo los archivos necesarios de un archivo no solo evita el desorden, sino que también ahorra tiempo que, de lo contrario, se gastaría buscando en una gran cantidad de archivos.
A veces, la creación y extracción de archivos TAR da como resultado archivos duplicados en su sistema. Por lo tanto, es una buena práctica identificar y eliminar esos duplicados periódicamente para ordenar su espacio.