Estou tentando tar
uma coleção de arquivos em um diretório chamado 'my_directory' e remova os originais usando o comando:
tar -cvf files.tar my_directory --remove-files
No entanto, está apenas removendo os arquivos individuais dentro do diretório e não o próprio diretório (que é o que eu especifiquei no comando). O que estou perdendo aqui?
EDITAR:
Sim, suponho que a opção 'remover arquivos' seja bastante literal. Embora eu também ache a página de manual pouco clara nesse ponto. (No linux, eu não costumo distinguir muito isso entre diretórios e arquivos, e às vezes esqueço que eles não são a mesma coisa). Parece que o consenso é que ele não remove os diretórios.
No entanto, meu principal argumento para fazer essa pergunta decorre do manuseio de caminhos absolutos pelo tar. Como você deve especificar um caminho relativo para um arquivo / s a ser compactado, você deve, portanto, mudar para o diretório pai para tarar corretamente. Na minha opinião, usar qualquer tipo de comando 'rm' subsequente é potencialmente perigoso nessa situação. Assim, eu esperava simplificar as coisas, fazendo o próprio tar remover.
Por exemplo, imagine um script de backup em que o diretório para backup (ou seja, tar) esteja incluído como uma variável do shell. Se esse valor da variável do shell tiver sido digitado incorretamente, é possível que o resultado possa ser excluído dos arquivos do diretório em que você esteve por último.