o tar tem 3 tipos de sintaxe (de acordo com this ):
- opções longas (--file)
- opções curtas (-f)
- opções antigas (f)
Para a sintaxe da opção antiga, todas as letras devem seguir "tar" e todas devem se encaixar em uma única clump sem espaços. A ordem das letras realmente não importa, desde que os argumentos para essas letras sigam a mesma ordem após o grupo de opções.
Essa antiga maneira de escrever opções de tars pode surpreender até mesmo usuários experientes. Por exemplo, os dois comandos:
# tar cfz archive.tar.gz file
# tar -cfz archive.tar.gz file
são bem diferentes. O primeiro exemplo usa ‘archive.tar.gz’ como o valor da opção ‘f’ e reconhece a opção ‘z’. O segundo exemplo, no entanto, usa "z" como o valor da opção "f" - provavelmente não o que se pretendia.
Opções antigas são mantidas para compatibilidade com versões antigas do tar.
O comando com um '-' é equivalente a
tar -czf archive.tar.gz file
tar -cf archive.tar.gz -z file
tar cf archive.tar.gz -z file
Esse é o motivo pelo qual seu exemplo está funcionando sem um "-" e não com "-"