1168: tar

Explain xkcd: It's 'cause you're dumb.
(Redirected from 1168)
Jump to: navigation, search
I don't know what's worse--the fact that after 15 years of using tar I still can't keep the flags straight, or that after 15 years of technological advancement I'm still mucking with tar flags that were 15 years old when I started.

[edit] Explanation

tar ("tape archive") is a Unix application that creates (and extracts) archives in the ".tar" format. It is typically used through the text-based terminal, using cryptic single-letter arguments such as "tar -cvf archive.tar *". The comic alludes to the fact that despite years of use of the command, it's still hard to remember the arguments without searching for them, such as with Google.

The title text points out that while much of computing changes very quickly, the tar program, which is very old (originating ca. 1975), is still around and heavily used. And yet, Randall complains he still cannot type out a line of tar command with correct flags without having to look the flags up.

The joke here is that a "tar" command with perfect syntax on the first try without outside help is such a daunting task that even Rob can't overcome it with assuredness, and apologizes for their imminent death.

The fact that Megan and White Hat assume that Rob can disarm the nuclear bomb because he uses Unix can be referring to an overgeneralization fallacy that a partaker in a practice is an expert of a practice. Not all people who use Unix necessarily know how to use tar commands. Then again, since he's the only person nearby who knows any Unix and thus their only hope, their fallacy is pretty justified.

There is probably also a pun on "tarbomb," a poorly created tar archive that, when extracted, dumps a load of files into the current directory that the user has to clean up.

Alternative explanation: Tar is a very common command that Unix users will come across regularly, much like Windows users will come across .zip files. Depending on the flavor of Unix, the order of the flags, or the lack or inclusion of a '-' could render the command incorrect. Most true Unixes (AIX, HPUX, Solaris) not using the GNU utilities would give an error on the above tar example. For such a simple command, it is one that most people need to look up references to use.

[edit] Transcript

[Megan and White Hat wearing a white hat stand next to a nuclear bomb. The bomb has a hatch open on top, and a small blinking screen. The two people are shouting off-screen.]
Megan: Rob! You use Unix!
White Hat: Come quick!
[Megan, White Hat, and Rob look at the screen. Rob peers closely. The screen reads:
To disarm the bomb, simply enter a valid tar command on your first try. No Googling. You have TEN seconds.
~# _]
[They continue to peer.]
White Hat: ...Rob?
Rob: I'm so sorry.



Is it good that I could have disarmed the bomb, and I have only used tar (or for that matter, Linux) sparsely? NSDCars5 (talk) 12:16, 9 May 2014 (UTC)NSDCars5

The comic is about the difficulty of the tar program options.


  • It shows an atomic warhead


It is hilarious, that

  • this bomb can be disarmed with "common knowledge"

Small notes:




Furthermore, the Tsar bomb was much bigger; I think I've read somewhere that it had the size of a bus. -- 11:11, 3 February 2013 (UTC)




tar -lvvb archive.tar.bz File not found. Sorry, you're dead. ~# 12:35, 1 February 2013 (UTC)












It feels like a partial reference to comic xkcd 208-- 04:31, 2 February 2013 (UTC)

I don't find tar all that tricky. The situation I'm always trumped with is when copying data, using cp, scp or rsync -r, then chmod -R /data 555. Why is '-R' capitalized? -- 19:54, 2 February 2013 (UTC)

Because -r is 'substract the "read" right'. More interresting question is, why ssh -p but scp -P? -- Hkmaly (talk) 00:03, 7 February 2013 (UTC)

First thing that struck me here was the Jurassic Park allusion. Surprised no-one else has mentioned it.-- 07:01, 3 February 2013 (UTC)

No one mentioned "What are four lowercase letters that are not legal flag arguments to the Berkeley UNIX version of `ls'?" question either ... -- Hkmaly (talk) 00:07, 7 February 2013 (UTC)

Does this mean we should start retroactively rename cueball to "rob"?

Rob is a Cueball, not every Cueball, so no. JET73L (talk) 14:05, 8 February 2013 (UTC)

There is something morbid in the subtext here.... I have a feeling that Randall is going to kill off Megan, Rob, and "White Hat"... Greyson (talk) 01:47, 4 February 2013 (UTC)

Randall, I am disappoint! I haven't used tar for more than a year and I don't err anymore: tar -xvzf file (.gz) or tar -xvjf file (.bz2), and I still consider myself quite the newb. Works on all flavors of linux I tried (I like trying linuxes on VMs, dunno about other unixes, but everytime I need it, I get it right, so I wouldn't even consider this in my list of hardest programs to get right first time). For those interested: -x extract -v verbose (I like it) -z uncompress (for some compression types, in some flavors this works with bz2, IIRC) -j uncompress (for bz2, maybe others). 20:51, 4 February 2013 (UTC)

Originally bzip used -y. Not speaking about fact that bzip is pretty new - and some unixes don't have ANY compression support in their tar. -- Hkmaly (talk) 00:03, 7 February 2013 (UTC)

The quickest tar command with valid syntax would be "tar t". Every switch after the first command letter is optional. Even the initial dash is optional. 11:03, 19 February 2013 (UTC)

(That would also be a command that is valid in every known tar version throughout the universe.)

The tar command actually has a unique syntax in unix. Classicly, it's first parameter is a subcommand (letter) followed by zero or more option letters. (And I think the subcommand had to be first.) Parameters for the options follow in sequence after that, in the same order the options where listed. Then, for the 'c' subcommand, an input filename list follows. This syntax was rather painful when you had perhaps 5 different option letters each with parameters, but this was a normal enough occurance when you specified the tape drive, tape block size, tape length, and a few others I can't even remember. Early implementations would have a file listing tape configurations so you could pick one and all its parameters with a single digit. In any case, it should be noted that a dash ('-') was actually NOT ALLOWED on the parameters. More recent versions of tar have attempted to add the more common unix option parsing, but still support the dash-less form. Having said all that, I tend to prefer "tar xvzf filename.tar.gz" and "tar tvzf filename.tar.gz". Divad27182 (talk) 20:18, 23 February 2013 (UTC)

I'm not sure about it, so I'll not add to the explanation: doesn't "tarbomb" also refers to a malicious tarball that releases a ridiculously big file filled with blank/random data? 01:26, 17 February 2014 (UTC)
Personal tools


