O arquivo foi movido para o diretório pai atual daquele em que você estava, em vez do diretório pai do symlink que você seguiu para chegar lá. Por padrão, cd
se comporta de maneira diferente de ls
ou mv
ao encontrar ..
. O cd
apenas sobe no caminho, efetivamente invertendo os links simbólicos, enquanto os outros vão para o pai real do diretório em que estão, independentemente de como você chegou lá.
Imagine uma árvore de diretórios como essa ( ~
é o diretório inicial e shortcut
é um link simbólico para maindir/subdir
):
~
├── maindir/
│ └── subdir/
│ └── file.txt
└── shortcut -> maindir/subdir/
Se você simplesmente cd
a ~/shortcut
, então ls
mostrará file.txt
e pwd
mostrará ~/shortcut
. No entanto , enquanto a saída de pwd
está correta de acordo com o symlink que você seguiu para chegar lá, você está realmente ("fisicamente", se quiser) em ~/maindir/subdir
. ls
e mv
estão cientes disso, então mv file.txt ..
moverá file.txt
para o diretório pai real: ~/maindir
, em vez de ~
conforme o esperado.
Você pode fazer com que cd
se comporte como os outros usando a opção -P
. Portanto, se você estiver no diretório em que originalmente executou o comando mv
de ( ~/shortcut
) e executar cd -P ..
, ele será direcionado para o diretório pai real (por exemplo, ~/maindir
), e você poderá encontrar file.txt
lá com um simples ls file.txt
. (Você também pode acessar o diretório atual com cd -P .
.)