Default Tar Directory

1

Não consigo encontrar o diretório padrão. Os arquivos .tar são extraídos para. OS - Ubuntu 16 4. Por favor, não responda: a mesma pasta que o arquivo tar, porque não está lá (e cada tutorial ou pergunta que eu encontrei usa essa resposta). Ajuda, por favor!

    
por eftexar 01.06.2017 / 04:26

3 respostas

1

Quando a imagem é empacotada, sua estrutura de diretórios pode ser preservada. Para ver a estrutura de diretórios de um tar sem un tar -ing it:

tar -ztvf my-data.tar.gz

O -t (abreviação de --list ):

List the contents of an archive. Arguments are optional. When given, they specify the names of the members to list.

Se não estiver no mesmo diretório em que o arquivo tar foi extraído, ele estará em um subdiretório desse diretório, a menos que -C ou --directory tenha sido especificado:

   -C, --directory=DIR
          Change  to  DIR  before  performing any operations.  This option is
          order-sensitive, i.e. it affects all options that follow.

Tente find . -name '*expected file*' para procurá-lo no diretório atual.

    
por 01.06.2017 / 04:30
1

É o diretório codificado no arquivo, a menos que seja alterado com, por exemplo, -C ao extrair. Você sempre pode obter uma listagem dos caminhos de arquivo no arquivo com

tar -t -f archive.tar

Os caminhos armazenados no arquivo são quase sempre caminhos relativos (a menos que -P tenha sido usado ao criar o arquivo), o que significa que o conteúdo do arquivo será descompactado como uma hierarquia de arquivos o diretório atual (a menos que seja alterado com -C ).

    
por 01.06.2017 / 04:56
0

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.

    
por 02.06.2017 / 01:01

Tags