What does `tar -C` mean?

In the section "Installing Portage", the Gentoo installation docs say:

# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

What does this command do?


Solution 1:

Tar is used to handle archives (historically saved on tapes).

  • The x tells it to extract files from the archive
  • v stands for verbose
  • j for bzip2 archive
  • f indicates the file name
  • finally: C tells it to change directory (so the package content will be unpacked there)

See also man tar.

Solution 2:

If you ever need to know what a parameter does again, try to read the man first. The command man tar, and then doing /-C will get you to the section describing what -C stands for, which in this example represents 'change directory' (i.e. sends the results of the unpacking to /mnt/gentoo/usr).