The f isn't for force. It's for "file" and it takes the filename as a parameter — that's why you usually see it at the end of the character sequence, a filename has to immediately follow it. If you don't specify -f tar will read from stdin for extraction or write to stdout for creation.
It's redundant for extraction. For creation (-c) where you can list many files, it's just a choice some unix developer made to allow the destination file to be specified independent of order. I think there'd be some awkward edge cases otherwise.
Anyway, adding verbosity to discourage operating on static files and prefering being on a pipeline could be considered a feature.
Comments
The f isn't for force. It's for "file" and it takes the filename as a parameter — that's why you usually see it at the end of the character sequence, a filename has to immediately follow it. If you don't specify -f tar will read from stdin for extraction or write to stdout for creation.
Seems like a redundant flag. Many utilities are perfectly fine reading from stdin if no [file] is specified, without any kind of -f flag.
It's redundant for extraction. For creation (-c) where you can list many files, it's just a choice some unix developer made to allow the destination file to be specified independent of order. I think there'd be some awkward edge cases otherwise.
Anyway, adding verbosity to discourage operating on static files and prefering being on a pipeline could be considered a feature.