"- f" diz ao tar que o próximo parâmetro é o nome do arquivo do repositório ou STDOUT se for "-".
Ao usar tar
, sempre incluo -f
nos parâmetros, mas não faço ideia do motivo.
Eu olhei para o homem e ele 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?
Muito simples. Se você oprimir o parâmetro -f
, a saída será passada para stdout:
gammy@denice:/tmp/demo$ tar -c a b c
a0000644000175000017500000000000011435437117010223 0ustar gammygammyb0000644000175000017500000000000011435437117010224 0ustar gammygammyc0000644000175000017500000000000011435437117010225 0ustar gammygammygammy@denice:/tmp/demo$ ls
a b c
gammy@denice:/tmp/demo$
... que bagunça!
O -f
-parameter (como você citou) espera um nome de arquivo (e, opcionalmente, um nome de host), portanto, o primeiro argumento após ser o nome do arquivo de saída:
gammy@denice:/tmp/demo$ tar -cf output.tar a b c
gammy@denice:/tmp/demo$ ls
a b c output.tar
gammy@denice:/tmp/demo$
Ele permite que você especifique o arquivo ou dispositivo com o qual você vai trabalhar. Quer criar, atualizar ou extrair coisas dele dependendo de outros flags 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
Tags tar