4 ms·
Yeah, it's true, rsync is a real nightmare when it comes to arguments. I remember reading that xkcd comic though and I went "yup, that's me!", and I've spent a
by OskarS 7y ago
Yeah, it's true, rsync is a real nightmare when it comes to arguments.
I remember reading that xkcd comic though and I went "yup, that's me!", and I've spent a bunch of time thinking about why that was. You list those flags there and say there intuitive, but they're unique to tar, you have to memorize them, and there's no reason that they need to be in tar when they're available right there in the shell.
Why do I need to memorize that the "f" flag is "file output/input", when I can just write "> dest-file" or "cat src-file |" (or "< src-file") in my shell? That works for every command, not just tar. Why do I need to remember that the z file is for gzip (what's the equivalent flag for bzip2?) when gzip/gunzip exists and works for anything?
So many people simply don't understand what tar does or how to use it without googling the magic formula they need, and it's because of all these damn flags that everyone insists on using instead of doing it the "unix way".
- jandrese 7y agoBackwards compatibility is a bitch mostly. Tar defaults to using the tape drive because that's what it was originally designed to do. Using it to create file archives was a hack added later, but nobody wanted to break backwards compatibility with old backup scripts by changing its defaults, so we're stuck with its oddball syntax today. dd is another program where the commandline flags predate modern usage (although it does at least behave nicely with pipes by default) and look totally weird compared to everything else. But again nobody wants to touch them because it would break millions of existing scripts.