GNU/Linux >> Linux Esercitazione >  >> Linux

Tar:estrarre un singolo file in una directory senza creare sottocartelle?

Il mio obiettivo è ottenere il helm binario da helm-v2.5.0-linux-amd64.tar.gz nel mio /usr/local/bin nel minor numero di passaggi possibile. La sfida è che il .tar.gz contiene il file binario in un linux-amd64 sottodirectory.

Quindi, quando faccio questo:

$ 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

Finisco con /usr/local/bin/linux-amd64/helm invece di /usr/local/bin/linux-amd64/helm .

C'è un tar parametro mi manca o devo includere alcuni mv e passaggi di pulizia?

Risposta accettata:

Devi utilizzare --strip-components=NUMBER :

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

il che significa che il tuo comando dovrebbe assomigliare a questo:

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

Linux
  1. Come estrarre i file Tar in una directory specifica o diversa in Linux

  2. Come estrarre i file .gz e .tar.gz in Linux

  3. Evitare file extra durante la creazione di Tar.gz?

  4. Come estrarre il file nomefile.tar.gz

  5. Decomprimi tutti i file nella directory senza chiedere conferma

Come estrarre (decomprimere) il file Tar Gz

Come estrarre (decomprimere) il file Tar Bz2

Come estrarre (decomprimere) il file tar.xz

Come eseguire il tar di tipi di file specifici (estensioni) in una directory

Come estrarre il file Tar.xz sulla riga di comando di Linux

Estrai il file tar.gz in Linux