It's the option you use to specify the actual pathname of the archive you would want to work with, either for extracting from or for creating or appending to, etc. If you don't use -f archivename
, different implementations of tar
will behave differently (some may try to use a default device under /dev
, the standard input or output stream, or the file/device specified by an environment variable).
In the command line that you quote,
tar -zxvf myFile.tar.gz
which is the same as
tar -z -x -v -f myFile.tar.gz
you use this option with myFile.tar.gz
as the option-argument to specify that you'd like to extract from a particular file in the current directory.
Consult the manual for tar
on your system to see what data stream or device the utility would use if you don't use the -f
option.
The GNU tar
implementation, for example, has a --show-defaults
option that will show the default options used by tar
, and this will probably include the -f
option (this default may be overridden by setting the TAPE
environment variable).
-f
option really doesn't make immediate sense to most of us today. Essentially,tar
is a tape archiver, and we use-f
to telltar
not to use a tape drive, but a file instead. – Christopher Jul 10 '19 at 12:25