O comando tar
extrai os arquivos em seu diretório de trabalho atual . Quando você executa tar
de um shell, esse é o diretório de trabalho atual do shell, aquele que é definido pelo comando cd
, exibido pelo comando pwd
e, às vezes, exibido no prompt. O diretório de extração pode ser alterado com a opção -C
.
Muitos arquivos tar têm todos os arquivos dentro de um único diretório de nível superior (relativo ao diretório de extração), geralmente com um nome que se parece com o arquivo tar. Nesse caso, todos os arquivos extraídos estão nesse diretório. Mas isso não é uma obrigação, existem muitos arquivos tar que contêm vários diretórios de nível superior e arquivos de nível superior. Por outro lado, tar
no Ubuntu e na maioria dos outros sistemas não extrairá nenhum arquivo fora do diretório de extração.
O diretório de extração não depende da localização do arquivo tar. (Isso é para o comando tar
e geralmente a maioria dos programas de manipulação de arquivo de linha de comando. Programas GUI podem se comportar de maneira diferente.) O diretório de extração é o local do arquivo tar se o argumento de nome de arquivo tar passado para tar
não contiver qualquer parte do diretório, mas em geral poderia estar em qualquer lugar.
Se você não lembra qual era o diretório atual quando executou o comando tar
, verifique seu histórico de shell (no bash, pressione Ctrl + R digite tar
; pressione Ctrl + R novamente para repetir a pesquisa). Se você encontrar um caminho relativo para o arquivo morto (por exemplo, tar xf subdir/archive.tar
), talvez consiga descobrir qual era o diretório atual (com este exemplo, era o pai do diretório que contém o arquivo). É claro que isso nem sempre ajuda, por exemplo, se o caminho é absoluto.
Se você não encontrar os arquivos, tente procurar arquivos que foram criados ou modificados (mais precisamente, qualquer alteração feita no arquivo ou em suas propriedades) no intervalo de tempo correto, com o comando find
e sua opção -ctime
ou -cmin
, por exemplo
find ~ -cmin +30 -cmin -61
para procurar arquivos que foram alterados entre 30 e 60 minutos atrás em seu diretório pessoal. Em vez de -cmin
e -ctime
, você pode usar -cnewer somefile
para comparar o tempo de alteração com o do arquivo somefile
. Você pode adicionar -name foo
no final do comando find
para restringir a um nome de arquivo específico contido no arquivo (sem qualquer parte do diretório).
Se você executou tar
no dia anterior ou antes, o banco de dados localizar poderá informar onde seu arquivo é. Por exemplo, se o arquivo contiver um arquivo some/directory/myfile.txt
, então locate some/directory/myfile.txt
dirá onde esse arquivo pode ser encontrado.