Se o pedido é importante depende de você iniciar as opções com menos
$ tar -cfvz casual.tar.gz snapback.txt bucket.txt
tar: casual.tar.gz: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
$ tar cfvz casual.tar.gz snapback.txt bucket.txt
snapback.txt
bucket.txt
Esse comportamento incomum está documentado na página do manual
Options to GNU tar can be given in three different styles.
In traditional style
...
Any command line words that remain after all options has
been processed are treated as non-optional arguments: file or archive
member names.
...
tar cfv a.tar /etc
...
In UNIX or short-option style, each option letter is prefixed with a
single dash, as in other command line utilities. If an option takes
argument, the argument follows it, either as a separate command line
word, or immediately following the option.
...
tar -cvf a.tar /etc
...
In GNU or long-option style, each option begins with two dashes and
has a meaningful name
...
tar --create --file a.tar --verbose /etc
tar
, que é a abreviação de "archive de fita", existe antes de as convenções atuais serem decididas, por isso, mantém os diferentes modos de compatibilidade.
Então, para "absorver o Linux", sugiro algumas lições iniciais:
- leia sempre a página do manual
- pequenas diferenças na sintaxe são por vezes importantes
- a posição dos itens - a maioria dos comandos exige que as opções sejam a primeira coisa após o nome do comando
- se um sinal de menos é necessário (como
tar
,ps
funciona de forma diferente, dependendo de haver menos no início) - se um espaço é opcional, obrigatório ou não deve estar lá (
xargs -ifoo
é diferente dexargs -i foo
)
- algumas coisas não funcionam da maneira esperada
Para obter o comportamento desejado no estilo normal, coloque o nome do arquivo de saída diretamente após o f
ou -f
, por exemplo
$ tar -cvzf casual.tar.gz snapback.txt bucket.txt
snapback.txt
bucket.txt
ou:
$ tar -c -f casual.tar.gz -z -v snapback.txt bucket.txt
ou você pode usar o menos comum, mas mais fácil de ler o estilo longo do GNU:
$ tar --create --verbose -gzip --file casual.tar.gz snapback.txt bucket.txt