GNU/Linux >> Belajar Linux >  >> Linux

Tar:Ekstrak File Tunggal Ke Direktori Tanpa Membuat Subfolder?

Tujuan saya adalah untuk mendapatkan helm biner dari helm-v2.5.0-linux-amd64.tar.gz ke dalam /usr/local/bin saya dalam langkah sesedikit mungkin. Tantangannya adalah .tar.gz file berisi biner dalam linux-amd64 subdirektori.

Jadi ketika saya melakukan ini:

$ 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

Saya berakhir dengan /usr/local/bin/linux-amd64/helm bukannya /usr/local/bin/linux-amd64/helm .

Apakah ada tar parameter yang saya lewatkan atau saya perlu menyertakan beberapa mv &langkah pembersihan?

Jawaban yang Diterima:

Anda perlu menggunakan --strip-components=NUMBER :

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

yang berarti perintah Anda akan terlihat seperti ini:

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

Linux
  1. Membuka file .tar.gz dengan satu perintah

  2. Memperbarui satu file dalam tar terkompresi

  3. Mengecualikan direktori saat membuat file .tar.gz

  1. file_put_contents tidak membuat file txt

  2. Cara mengekstrak file nama file.tar.gz

  3. Unrar semua file dalam direktori tanpa diminta

  1. Cara Mengekstrak File Tar ke Direktori Tertentu atau Berbeda di Linux

  2. Cara mengekstrak file .gz dan .tar.gz di Linux

  3. Volume file tunggal dipasang sebagai direktori di Docker