この質問を改善したいですか? この投稿を編集して、詳細を追加し、問題を明確にしてください。
4年前に閉鎖されました。
この質問を改善する
1つのコマンドラインでcat、tar、gzipを使用して.tar.gzファイルを解凍およびアーカイブ解除するにはどうすればよいですか?これも可能ですか?
承認された回答:
cat
は必要ありません またはgzip
:
$ tar xvzf archive.tar.gz
オプション文字列はtar
に通知します 抽出する(x
)冗長モード(v
)圧縮された(z
)f
に続くアーカイブ フラグ。
すべてのcat
を使用する 、tar
および gzip
(これはばかげています、これをしないでください ):
$ cat archive.tar.gz | gzip -d -c | tar xvf -
または
$ gzip -d -c archive.tar.gz | cat | tar xvf -
-
が与えられた場合 ファイル名として、tar
標準入力からアーカイブを読み取ります。
最後の2つの例は、一般に「cat
の無用な使用」と呼ばれるものに悩まされています 「、cat
だけなので パイプラインの次の部分にデータをシャッフルすることです。
cat
のない少し良いバージョン :
$ gzip -c -d archive.tar.gz | tar xvf -
これは、tar
が存在するシステムでの実行方法を知るのに実際に役立つ場合があります。 圧縮されたアーカイブの処理方法がわかりません。
tar
に使用した古風なオプション文字列 上記、ダッシュなし(-
)その前にあるのは、コマンドラインオプションを指定するためにダッシュが一般的に使用される前の時間です。通常のオプション構文を使用しない他のユーティリティには、dd
が含まれます。 およびmt
、ただし、tar
のほとんどの実装は 今日理解 新しいダッシュオプション、dd
通常はそうではありません。 mt
コマンド(磁気テープの操作を制御する)はいくつかのダッシュオプション(特にLinuxの場合)を取得しましたが、コマンドラインのオプションではない部分は、rewind
またはeof
。