Como @jcbermu disse, para a maioria dos programas e na maioria dos casos, a ordem dos sinalizadores de linha de comando não é importante. No entanto, alguns sinalizadores esperam um valor. Especificamente, o sinalizador -f
do tar é:
-f, --file ARCHIVE
use archive file or device ARCHIVE
Portanto, tar
espera que -f
tenha um valor e esse valor seja o nome do arquivo tar criado. Por exemplo, para adicionar todos os arquivos .jpg
a um arquivo chamado foo.tar
, você executaria
tar -f foo.tar *jpg
O que você estava executando era
tar -cfv test.tar *.jpg
tar
entende como "create ( -c
) um arquivo chamado v
( -fv
), contendo arquivos test.tar
e qualquer final em .jpg
.
Quando você executa tar -cvf test.tar *.jpg
, por outro lado, é preciso usar test.tar
como nome do arquivo e *jpg
como a lista de arquivos.