Como posso copiar um diretório e renomeá-lo no mesmo comando?

3

Atualmente, estou executando esses dois comandos para criar um backup rápido do diretório. Existe uma maneira de combinar os dois comandos em um, de modo que eu esteja copiando e renomeando o novo diretório em um único comando?

#cp -R /tf/Custom_App /tf/Custom_App_backups/
#mv /tf/Custom_App_backups/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21
    
por AllisonC 21.12.2017 / 14:28

1 resposta

8

Você deve ser capaz de fazer apenas

cp -R /tf/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21

No entanto, , se o diretório de destino já existir, isso acrescentaria a parte final do caminho de origem ao caminho de destino, criando /tf/Custom_App_backups/Custom_App_2017-12-21/Custom_App e, em seguida, copie o restante da árvore dentro dela.

Para evitar isso, use /tf/Custom_App/. como a origem. É claro que, nesse caso, você pode querer rm -r /tf/Custom_App_backups/Custom_App_2017-12-21 primeiro, se não quiser mais arquivos antigos por aí após a cópia.

A diferença entre /some/dir e /some/dir/. foi discutida há algum tempo em cp se comporta de maneira estranha quando. (ponto) ou .. (ponto ponto) são o diretório de origem

    
por 21.12.2017 / 14:45

Tags