Ao usar tar
, sempre incluo -f
nos parâmetros mas não tenho ideia do porquê.
Eu olhei para o homem e disse;
-f, --file [HOSTNAME:]F
use archive file or device F (default
"-", meaning stdin/stdout)
Mas, para ser honesto, não tenho ideia do que isso significa. Alguém pode lançar alguma luz sobre isso?
O -f
opção diz a tar
que o próximo argumento é o nome do arquivo do arquivo, ou saída padrão se for -
.
Bem simples. Se você omitir o -f
parâmetro, a saída é passada para stdout:
[email protected]:/tmp/demo$ tar -c a b c
a0000644000175000017500000000000011435437117010223 0ustar gammygammyb0000644000175000017500000000000011435437117010224 0ustar gammygammyc0000644000175000017500000000000011435437117010225 0ustar [email protected]:/tmp/demo$ ls
a b c
[email protected]:/tmp/demo$
...que bagunça!
O -f
- parâmetro (como você citou) espera um nome de arquivo (e opcionalmente um nome de host), portanto, o primeiro argumento após ele é o nome de arquivo de saída:
[email protected]:/tmp/demo$ tar -cf output.tar a b c
[email protected]:/tmp/demo$ ls
a b c output.tar
[email protected]:/tmp/demo$
Ele permite que você especifique o arquivo ou dispositivo com o qual trabalhará. Criar, atualizar ou extrair coisas dele, dependendo de outros sinalizadores fornecidos. Por exemplo:
# Create a tar file with the contents of somepath/
tar -cvf filename.tar somepath/
# Extract the tar file.
tar -xvf filename.tar