Para copiar um diretório para outro diretório, o primeiro diretório deve ser escrito sem a barra final:
# example 1
# this command will copy dir1 to dir2
# (dir2 is preexisting)
cp -Rip dir1 dir2/
Caso contrário, o comando copiará o conteúdo do diretório e não o próprio diretório:
# example 2
# this command will copy dir1 contents to dir2
# (dir2 is preexisting)
cp -Rip dir1/ dir2/
Eu entendo a diferença entre dir1
e dir1/
aqui, e a diferença entre como esses dois comandos se comportam não me confunde.
Mas para copiar o diretório não para outro diretório, mas para o mesmo diretório onde está localizado atualmente, a barra final não fará nenhuma diferença. Por que?
# example 3
# any of these commands will make a dir1 copy
# (dir1-copy isn't preexisting)
cp -Rip dir1 dir1-copy/
cp -Rip dir1/ dir1-copy/
E outra questão intimamente relacionada. Por que não há diferença entre como mv dir1/ dir2/
e mv dir1 dir2/
trabalho? Em outras palavras, por que, em relação à barra final no final do diretório de origem, mv
segue a lógica do terceiro cp
exemplo, e não a lógica dos exemplos um e dois?
macOS 14.3.1, zsh 5.9 (x86_64-apple-darwin23.0)