GNU/Linux >> Linux の 問題 >  >> Linux

Tar:サブフォルダーを作成せずに単一のファイルをディレクトリに抽出しますか?

私の目標は、helmを取得することです helm-v2.5.0-linux-amd64.tar.gzからのバイナリ 私の/usr/local/binに 可能な限り少ないステップで。課題は、.tar.gz ファイルには、linux-amd64のバイナリが含まれています サブディレクトリ。

だから私がこれをするとき:

$ 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

最終的に/usr/local/bin/linux-amd64/helm /usr/local/bin/linux-amd64/helmの代わりに 。

tarはありますか パラメータがありません。またはmvを含める必要がありますか &クリーンアップ手順?

承認された回答:

--strip-components=NUMBERを使用する必要があります :

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

つまり、コマンドは次のようになります。

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

Linux
  1. Linuxで.gzファイルと.tar.gzファイルを抽出する方法

  2. 圧縮 tar 内の単一ファイルの更新

  3. .tar.gz ファイルの作成時にディレクトリを除外する

  1. Linuxで特定のディレクトリまたは別のディレクトリにtarファイルを抽出する方法

  2. tar を使用してフォルダー構造のないファイルを抽出するにはどうすればよいですか

  3. 巨大な tgz ファイルから単一のファイルを抽出する

  1. Linuxでtar.xzファイルを抽出または解凍する方法

  2. 1 つのコマンドで .tar.gz ファイルを開く

  3. file_put_contentsがtxtファイルを作成していません