ファイルの抽出に使用されたコマンドによっては、tarはアーカイブ内のファイルを見つけることができません。

ファイルの抽出に使用されたコマンドによっては、tarはアーカイブ内のファイルを見つけることができません。

私は何時間もtgzアーカイブからファイルを抽出しようとしてきました。

tar -xzf my.tgz ./file.sh抽出したファイルを正しく使用してください。しかし、私が使用するインストールスクリプトはtar xfzO my.tgz ./file.sh > /tmp/file.sh

最初の場合、tarは正しく完了し、期待どおりにファイルを抽出します。ただし、2番目のケースでは、アーカイブで./file.shが見つからないというメッセージを出力します。奇妙にtar --list ./file.sh -f my.tgz出力ファイルが存在しないのに最初に抽出に成功する理由は何ですか?

2番目の方法を正しく使用してファイルを抽出するにはどうすればよいですか? tarがそこにあるのになぜ見つからないのですか?

答え1

コマンドの順序がtar重要です。具体的には:fの後のパラメータはtarアーカイブでなければなりません。努力する:

tar xzOf my.tgz ./file.sh > /tmp/file.sh

関連情報