GNU/Linux >> Tutoriales Linux >  >> Linux

Tar:¿Extraer un solo archivo a un directorio sin crear subcarpetas?

Mi objetivo es conseguir el helm binario de helm-v2.5.0-linux-amd64.tar.gz en mi /usr/local/bin en el menor número de pasos posible. El desafío es que el .tar.gz El archivo contiene el binario en un linux-amd64 subdirectorio.

Así que cuando hago esto:

$ wget -P /tmp https://storage.googleapis.com/kubernetes-helm/helm-v2.5.0-linux-amd64.tar.gz
$ tar -xzvf /tmp/helm-v2.5.0-linux-amd64.tar.gz -C /usr/local/bin linux-amd64/helm

Termino con /usr/local/bin/linux-amd64/helm en lugar de /usr/local/bin/linux-amd64/helm .

¿Hay un tar parámetro que me falta o necesito incluir algunos mv y pasos de limpieza?

Respuesta aceptada:

Debe usar --strip-components=NUMBER :

--strip-components=NUMBER
          Strip NUMBER leading components from file names on extraction.

lo que significa que su comando debería verse así:

tar -xzvf /tmp/helm-v2.5.0-linux-amd64.tar.gz -C /usr/local/bin --strip-components=1 linux-amd64/helm

Linux
  1. Cómo extraer archivos Tar a un directorio específico o diferente en Linux

  2. Cómo extraer o descomprimir el archivo tar.xz en Linux

  3. Exclusión de directorio al crear un archivo .tar.gz

  4. Cómo extraer el archivo filename.tar.gz

  5. Volumen de archivo único montado como directorio en Docker

Cómo extraer (descomprimir) el archivo Tar Gz

Cómo extraer (descomprimir) el archivo Tar Bz2

Cómo extraer (descomprimir) el archivo tar.xz

Cómo tar tipos de archivos específicos (extensiones) en un directorio

Cómo extraer el archivo Tar.xz en la línea de comandos de Linux

Extraiga el archivo tar.gz en Linux