img title=“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.”
Wouldn’t tar --help suffice? Afaik, it returns exit code 0.
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 ***********************************************
~# tar -h || tar --help
Ugh. Bsdtar:
-h (c and r modes only) Synonym for -L.
But it has --help too.
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.
xaf
(extract a file) auto-detects the format.Extract Any File
Extract All Files
I don’t remember the last time I had to worry about the compression. I simply run
tar xf myfile.tar.whatever
and it works every time.
I still use that. 😅
That sounds a lot like Czech, “ze” means “from” if you translate it into English
Looks, not sounds. Ahoj!
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.
man wtf
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
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
tar --help
💥
OK now I have to escape to really smart assery and assume that’s what I meant the whole time ;)
Edit code 2 describes something that went wrong - but that something telling you that it went wrong was the tar binary which therefor most have been valid to evaluate that!
Under no circumstances did I assume that the hint towards help itself would’ve been an exit code 0, no sir!
To be honest: if I’d designed that bomb it would’ve exploded in my face for trying to be too clever.
tar --help
is a valid commandFor GNU
tar
it is, for any other versions I would not be so sure. Especially when disabling an atomic bomb.More of a request than a command, I’d have argued
I command you to show me the manual
tar -cvf CowsLookLikeMaps.tar CowsLookLikeMaps
tar xzvf file.tar.gz
I got it memorized after installing gentoo over and over again from stage 3 back in 2005tar -h
I’ll take my award in all ones please
I always liked
dtrx
(do the right extraction)Btw, GNU tar has long options.
tldr tar | head -n 1
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, but seeing the interplay with just tapes is the novel part to me)
I know this is a meme, but I actually find
tar
fairly easy to remember.tar -xf $archive
is extract filetar -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
andls
(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!