-C
não afeta onde o arquivo é criado. Isso afeta apenas quais arquivos são adicionados ao arquivo. Assim, por exemplo, dado tar cvf foo.tar a -C /b c -C /d e
, tar
adicionará a
do diretório atual, alterne para /b
e adicione c
, mude para /d
e adicione e
. foo.tar
será criado no diretório atual (onde a
foi).
Se nenhum arquivo for fornecido na linha de comando para adicionar, mas -C /some/dir
for usado, então tar
mudará para /some/dir
e adicionará tudo nele ao arquivo morto.
(Da mesma forma, ao extrair, -C
não afeta onde tar
procura o arquivo morto. Isso afeta somente onde os arquivos extraídos vão).
Portanto: tar czf Pictures_$CREATION_TIMESTAMP.tar.gz -C /home/$USER Pictures
de /home/$USER/coding/python_code/
sempre criará o arquivo em /home/$USER/coding/python_code/
, com o diretório Pictures
de /home/$USER
.
Se você quiser que o diretório Pictures
de /home/$USER
em um arquivo criado em /home/$USER
, você precisará cd
to /home/$USER
e criar o arquivo:
cd "/home/$USER"; tar czf "Pictures_$CREATION_TIMESTAMP.tar.gz" Pictures
Ou especifique o caminho para o arquivo:
tar czf "/home/$USER/Pictures_$CREATION_TIMESTAMP.tar.gz" -C "/home/$USER" Pictures