Wouldn't tar --help suffice? Afaik, it returns exit code 0.
Programmer Humor
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
Depends. Is it GNU tar, BSD tar or some old school Unix tar?
Double hyphen "long options" are a typical GNU thing.
That’s why those commands have two?
Yes, the terse Unix version, which needs to be supported for compatibility, and the more readable GNU long option
tar -h?
~# tar -h
tar: You must specify one of the '-Acdtrux', '--delete' or '--test-label' options
Try 'tar --help' or 'tar --usage' for more information.
***********************************************
WARNING: Self destruct sequence initiated
***********************************************
A little trick I learned on here was to imagine yourself as a little evil man saying "Extract ze files!" in a German accent. Extract ze files >>> xzf.
Only works for tar.gz. Remember there's also tar.xz, tar.bz, tar.bz2 and half have their own extractor flag. FUN. It's usually J.
The post only calls for "a valid tar command", not that it has to work for any specific circumstance.
tar -xzvf archive.tar.gz
eXtract Zhe Vucking File
Sorry, it was Solaris - you just blew it up (the minus is invalid on many Unix versions of tar)
Oh come on!
Inadvertent oracle attack.
xtract ze vucking file
Then comes a .tar.bz2 file along and you're screwed. xtract je vucking file?
Pro tip: -z, -j are not needed by tar anymore since many years, tar will autodetect what compression was used if your distro is anything remotely modern.
Pro tip: -z, -j are not needed by tar anymore since many years, tar will autodetect what compression was used if your distro is anything remotely modern.
😵
If you can't tar to a pipe into ssh to a remote host and untar into an arbitrary location there, are you really using Unix?
I had to pipe dd through gzip over SSH recently to locally image a disk on a cloud server. That was fun.
What the fuck lmao I didn't know that was possible
I remember those 2 and thats all I need.
tar -extrakt ze file
tar -compress ze file
Tar Xtract Ze Vucking File
Edit: apparently someone else already mentioned this, oops
tar -extract -any -file is easier, auto detect the compression based on filename.
tar --help
is a valid command
For GNU tar
it is, for any other version I would not be so sure. Especially when disabling an atomic bomb.
tar xvf somearchive.tar
Is that right? )= I'm scared I lost.
user@server:~> tar xvf somearchive.tar
tar: somearchive.tar: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
Scheiße...
tar
Done. That's a valid command, no error code, nothing. KISS!
false
tar: You must specify one of the '-Acdtrux', '--delete' or '--test-label' options
Try 'tar --help' or 'tar --usage' for more information.
zsh: exit 2 tar
💥
Surely tar --help
is a valid tar command, right?
I know this is a meme, but I actually find tar
fairly easy to remember.
tar -xf $archive
is extract file
tar -czf $archive dir/
is create zipped (compressed) file and the positional arguments are the files to add to the archive.
And this is 99% of my usage. You can skip -f $archive
to use stdin/stdout or use -C
to change directory (weird name but logically tar always extracts to the current directory). There is also a flag to list which I always forget and lookup each time, but I list much less often. -v
is useful for verbose.
Overall there are much harder commands to remember. find
always gets me if I go beyond -name
. ps
, tree
and ls
(beyond -Al
) always get me to open the man page.
There is also a flag to list which I always forget and lookup each time
That would be -t
, which I tend to remember as "test", as in testing to see what is inside the archive!
tealdeer is a great program to have installed for easily getting a breakdown of the flags of pretty much any CLI app that at least I can ever think of!
man tar
“Yeah nvm, we’re fucked”
The command that I can never get right the first time is ln
. I always end up creating a dead link inside my target folder, even when I read the man page directly prior.
Normally I would say view the man page (as a command). Though for some reason when making the thinnest distro possible, the OS team at my job got rid of man.
Wtf man.
tar xzvf file.tar.gz
I got it memorized after installing gentoo over and over again from stage 3 back in 2005
I find it's a lot easier if you think of it in term of tapes, which is what it was originally designed for (Tape ARchiver). It's up there with makefiles for an actually really cool concept that nobody appreciates or even necessarily understands now.
(Well, I guess filesystems are the actual cool concept, from the historical perspective, but seeing the interplay with just tapes is the novel part to me)
tar -tvf
is a favorite of mine.
At some point, I realized tar xf
is enough for extracting a file, so that's what I'm always using now.