For years, no decades, I've typed tar tzf something
, tar xzf
something
. Except when someone annoying sent an uncompressed tar
file and I had to then go and take out the z
in the middle.
Then came bzip2
, and we learned tar tjf
, tar xjf
. OK, I could
live with that. One emerging problem was that the tab completion now
worked the wrong way around conceptually, because you had to pick and
type the right letter first in order to see the appropriate set of
files to unpack offered for completion.
Then came lzma
, which was (quick, guess?), tar tJf
, tar xJf
.
And then there was lzop
, which was too boring to get its own letter,
so you had to type out tar -x --lzop -f
.
But lzma
was short-lived, because then came xz
, which was also
J
, because lzma
was now too boring as well to get its own letter.
Oh, and there is also the old compress
, which is Z
, and lzip
,
which I'd never heard of.
But stop that. Now there is
-a, --auto-compress
use archive suffix to determine the compression program
This handles all the above compression programs, and no compression. So from now on, I always use tar taf
and tar xaf
. Awesome.
The finger movements will be almost the same on QWERTY and AZERTY, and easier than before on QWERTZ.
Actually, this option is already four years old in GNU tar. Funny I'd never heard of it until recently.
You might like to know that 'tar tf' and 'tar xf' work fine with compressed files even without -a; you only need it when creating an archive.
ReplyDeleteOh thanks for that tip. I think I like the symmetry with 'a' though.
DeleteYou can find atool ( http://packages.debian.org/squeeze/atool ) very handy.
ReplyDeleteTo pack just type in:
$ apack archive.7z ./file1 ./file2
and this tools create 7zip archive from files
or like this:
$ apack archive.tgz ./file1 ./file2
for tar.gz archive
there is also aunpack tool, just give it a try.
You forgot the brief time when bzip2 had -I.
ReplyDeleteThanks for the tip :) Btw, found this when I came home and saw the article slowly output by xscreensaver "apple ][" saver :p
ReplyDeleteThanks for mentioning it, I’ve just added the ‘a’ flag to paxtar (Debian wheezy and up, package “pax”).
ReplyDeleteHowever! I am still of the opinion that, when *creating* an archive, one shall always create to stdout and pipe that through an explicit compressor. Otherwise you get gzip -6 (laughable compression) and xz -6 (overkill for a lot of things).
paxtar -cf - foo | gzip -n9 >foo.tgz
find foo -type f | sort | paxcpio -oHustar | xz -2e >foo.txz
These are examples. (pax, paxtar and paxcpio also support archive normalisation, that is, flags for things like setting uid and gid to 0, mtime to 0, not storing the user and group id names (only numbers), etc. and compression ratio _can_ increase when the files are ordered (instead of “sort” above) correctly.) By the way, xz -2 is not slower than gzip -9 and compresses not worse. (xz -e is slower, and higher numbers are NOT always better with xz, see its manpage.)
PS: Posting with OpenID (using Launchpad’s) is impossible here.
Since which version GNU tar has supported that option?
ReplyDeleteversion 1.20, 2008-04-14
DeleteThanks! That's why I could not find that option in RHEL 5.
Delete