Estrutura de diretórios do arquivo sem o conteúdo do arquivo

0

Eu gostaria de criar um arquivo que captura toda a estrutura de um diretório, incluindo subdiretórios e arquivos. De preferência, preservando atributos de arquivo, como tempo de modificação. O arquivo não deve conter qualquer conteúdo de arquivos, no entanto.

Em outras palavras, o efeito que estou tentando alcançar é o mesmo que se eu criasse uma cópia exata do diretório, reduzisse os tamanhos de todos os arquivos para zero e, em seguida, arquivasse com tar .

Eu olhei para várias opções de tar e parece não suportar o que eu preciso. Eu pensei que haveria algo como --use-compress-program=true , mas esse é aplicado a todo o arquivo, não a arquivos individuais, infelizmente. Eu também não vi nenhuma opção rsync relevante.

Existe uma maneira de criar esse arquivo com a ferramenta unix?

    
por Mifeet 08.11.2015 / 11:57

2 respostas

2

à primeira vista (sem a data do arquivo / diretório):

find data -type d -exec echo mkdir -p {} \;  | ( cd tmp7 ; bash )
find data -type f -exec echo touch {} \; | ( cd tmp7 ; bash )

onde

  • os dados são sua fonte
  • tmp7 seu destino
por 09.11.2015 / 09:28
0

Essa pergunta é um pouco antiga e minha resposta não atende aos critérios de "ferramenta Unix", mas, pelo que vale, a ferramenta de sincronização do Windows Robocopy pode fazer isso com um simples switch / CREATE (ela cria o Toda a árvore de arquivos da origem para o destino, com 0 arquivos de comprimento, mas todos os registros de data e hora preservados, mesmo aqueles de diretórios, se a opção / DCOPY: T também for usada). Esse é um exemplo em que uma ferramenta do Windows pode facilmente fazer algum truque que aparentemente não é possível por meios simples em um sistema Linux / Unix.

    
por 11.11.2017 / 07:11