Eu criei um link para o diretório atual,
$ ln -s "$PWD" math
Eu então queria movê-lo para outro diretório.
$ mv math/ ~/dirlinks/maths/
Eu então percebi que deveria
$ mv math ~/dirlinks/maths/
Então, pressione Ctrl-c para cancelar o processo antes que ele termine.
Descobri que há um diretório math
abaixo ~/dirlinks/maths/
e parece que os arquivos abaixo .
são copiados para ~/dirlinks/maths/math
, porque eu vi os arquivos abaixo ~/dirlinks/maths/math
também aparecerem abaixo .
. Mas eu não entendo porque é mv
não cp
. O que aconteceu quando eu corro mv math/ ~/dirlinks/maths/
?
Obrigado.
~/dirlinks/maths/math
não é um link simbólico? Isso explicaria por que os arquivos aparecem nos dois caminhos.~/dirlinks/maths/math
é um dir, não um link simbólico, criado quando eu corrimv
.mv
deve ser diferente da minha :)cd -P ~/dirlinks/maths/math; pwd
?mv
equivale acp source-dir/* target-dir; rm -rf source-dir
. Provavelmente não exatamente - não sei a ordem que seguiria - mas está muito perto. Então, espero que você tenha interrompido apenas o bit da cópia? Verifique atentamente se há arquivos ausentes no/windows-d
.Respostas:
Vamos dar uma olhada no que seu primeiro comando fez: ele criou um link simbólico
math
no diretório atual que aponta para o caminho absoluto do diretório atual. Vamos inspecionar um pouco mais perto:Agora, se você adicionar alguns arquivos
$PWD
e executar a movimentação:Basicamente, move todo o diretório apontado por
math
para o destino. Como ele aponta para o diretório atual, ele é completamente movido para onde você o disse. Se você estivesse em algum lugar diretamente acima do destino, poderia ter resultado em um problema de loop interessante.fonte