Para onde tudo foi?

1

Eu estava movendo arquivos ao digitar acidentalmente o comando mv misc/* * em vez de mv misc/* . onde foi tudo, e como posso recuperá-lo, a pasta misc sumiu?

    
por user1952312 08.06.2017 / 18:36

2 respostas

6

Acho que tudo foi para o último objeto retornado pelo segundo * . Se não fosse um diretório, você teria um erro.

Vá para o diretório em que você executa mv e invoca echo * . Em seguida, examine o último diretório impresso.

O que eu acho que aconteceu é o seguinte:

Seu mv misc/* * foi expandido pelo seu shell para

mv multiple-objects-from-within-misc multiple-objects-from-within-the-current-directory

O último objeto nesta seqüência é o destino para onde seus arquivos e diretórios foram. Com base nos seus comentários, acho que foi o diretório tmp . Infelizmente os objetos de misc e do diretório superior agora estão em tmp (e com tudo o que já existia) e você não pode saber com facilidade qual deles veio de onde.

    
por 08.06.2017 / 18:45
2

Se você executar ls, provavelmente notará que tem um diretório agora chamado *

Sim, você renomeou para * !

Para recuperá-lo, use mv novamente, mas você precisará escapar do *.

mv ./\* ./misc

O \ before * o escapa, o que significa que é tratado como um literal * em vez de tentar combinar algo diferente.

Se você não consegue lembrar onde estava no sistema de arquivos, use find / -name '\*' 2>/dev/null para localizá-los.

    
por 08.06.2017 / 18:42