tar sem opção -f na extração

1

A minha pergunta é semelhante à pergunta O que o parâmetro -f faz no comando tar , mas se refere à extração de arquivos. Se eu emitir tar x em vez de tar xf mytarball.tar , ele está esperando que eu "insira" o arquivo por meio de stdin? E isso deve ser terminado por Ctrl-Z?

    
por Tosh 07.03.2016 / 23:18

1 resposta

5

Isso depende da implementação de tar . tar sendo o arquivador de fitas , com a maioria das implementações tar , se você não der uma opção f , com x , tar extrairá dados de algum dispositivo de fita.

Em algumas implementações modernas como GNU tar , no entanto, em vez do primeiro dispositivo de fita, ele lê o arquivo de stdin.

Se stdin de tar é um terminal, como quando você executa tar x em um prompt de shell em um terminal sem redirecionamento de entrada, então sim, você teria que digitar o conteúdo do arquivo no teclado (que vai ser muito difícil de fazer considerando que os arquivos tar são binários) e finalizar pressionando a tecla ou combinação de teclas que envia o caractere eof duas vezes (geralmente ^D (0x4) que geralmente é obtido pressionando Ctrl + D ).

Geralmente, você não digita o conteúdo do arquivo, mas prefere definir stdin em um arquivo ou pipe ou soquete como

tar x < file # better tar xf - < file for portability
xzcat file.xz | tar x
    
por 07.03.2016 / 23:31

Tags