tar é um daqueles comandos antigos dos dias em que a sintaxe da opção não tinha sido padronizada. Como todas as chamadas úteis de tar exigem a especificação de uma operação antes de fornecer qualquer nome de arquivo, a maioria das implementações tar interpreta seu primeiro argumento como uma opção, mesmo que não comece com - . A maioria das implementações atuais aceitam - ; a única exceção que eu conheço é Minix .
Versões mais antigas de POSIX e Unix Unix incluíam um comando tar sem - antes do especificador de operação. O único Unix v2 tinha os dois arquivadores tradicionais cpio e tar , mas muito poucos sinalizadores poderiam ser padronizados porque as implementações existentes eram muito diferentes, então os padrões introduziram um novo comando, pax , que é o único arquivador padrão desde Somente Unix v3 . Se você quiser conformidade padrão, use pax , mas cuidado com o fato de que muitas distribuições Linux não o incluem em sua instalação base, e não há pax em Minix . Se você quiser portabilidade na prática, use tar cf filename.tar .