Eu posso copiar um diretório assim:
~$ cp -r ./Desktop/ /tmp/
Da mesma forma, se eu quisesse copiar os arquivos de dentro de um diretório, eu poderia fazer isso:
~$ cp -r ./Desktop/. /tmp/
As coisas se tornam um pouco mais complicadas se eu quiser copiar o diretório de origem em um diretório de destino, que é um subdiretório da origem. isto é, copie um diretório para si mesmo. Por exemplo:
~$ cp -r ./Desktop/ ./Desktop/sub/
Ocorreria o seguinte erro: cp: não pode copiar um diretório, './Desktop/', para dentro dele, './Desktop/sub /'
Isso pode ser circunavegado, de alguma forma, usando extglob, da seguinte forma:
~$ cp -r ./Desktop/!(sub) ./Desktop/sub/
No entanto, este último comando depende do diretório sub já existente.
Como você pode copiar um diretório para si mesmo, de tal forma que o comando faça isso ao mesmo tempo?