拡張子が* tar.gzのファイルを自分のディレクトリに抽出しようとしています。
tar -zxf /tmp/ranger/ranger-2.1.0-solr_audit_conf.tar.gz
上記のように、すべてのファイルが現在の作業ディレクトリに抽出されますが、そのファイルをすべて独自のディレクトリに移動したいと思います。
次のコマンドは特定のディレクトリに抽出します。
tar -zxf /tmp/ranger/ranger-2.1.0-solr_audit_conf.tar.gz -C /tmp/ranger/ranger-2.1.0-solr_audit_conf
注:-Cなしで他のファイルを処理しようとすると、独自のディレクトリに抽出できますが、これは面白いです。
答え1
tar -x
ファイルの内容を*.tar.*
現在の作業ディレクトリ...期間に抽出します。これが意味するものは次のとおりです。そして、望ましい動作を得るためにこれを修正する方法は次のとおりです。
通常、ディレクトリは圧縮パッケージです。誰かが書いたという意味:
tar -czf tarball.tar.gz somedirectory
この場合、これを行うと、tar -x
コンテンツがsomedirectory
。誰かが以下を使用してアーカイブを圧縮した可能性があります。
tar -czf tarball.tar.gz file1 file2 file3
この場合を実行すると、tar -x
現在のディレクトリに、file1
とが表示されますfile2
。file3
この場合、抽出したファイルを別のディレクトリに保存するには、次の手順を実行する必要があります。
mkdir tarball && cd tarball && tar -xzf ../tarball.tar.gz
tar -x
を使用するかmkdir _ & cd _ & tar -x ../_
使用するかを調べるには、tar --list -f tarball.tar.gz
タールボールを抽出する前にタールボールの内容を一覧表示するので、そのまま抽出するか、pwd
新しいディレクトリを作成してそこから抽出するかを決定できます。