I have been trying to extract a file from a tgz archive for hours.

Using tar -xzf my.tgz ./file.sh extract the file properly. However, an installation script I am using is extracting the file differently, using tar xfzO my.tgz ./file.sh > /tmp/file.sh.

In the first case, tar complete correctly, extracting the file as intended. In the second case however, it output a message informing me that ./file.sh was not found in the archive. Strangely, tar --list ./file.sh -f my.tgz output that the file doesn't exist, but then why is it successfully extracted the first time ?

How can I extract my file, using the second method properly ? Why is tar not finding it, despite it being there ?

  • What happens if you remove the preceding ./? – undercat applauds Monica Aug 16 '18 at 15:35
  • 2
    Did you try to use a correct command line? Your command line tells a correct TAR to open zO as archive. – schily Aug 16 '18 at 16:06

The order of commands to tar is significant. Specifically: the argument directly after the f must be the tar-archive. Try:

tar xzOf my.tgz ./file.sh > /tmp/file.sh
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.