Conforme descrito por @ssssteffff, com mv *
, o shell está fazendo uma expansão de curingas a partir de arquivos no diretório atual. No entanto, o comportamento do comando mv
depende de quantos argumentos *
se expande para. Se houver mais de dois argumentos, o último argumento deve ser um diretório:
mv [OPTION]... SOURCE... DIRECTORY
Então,
Eu criei 5 arquivos
$ touch 1 2 3 4 5
$ ls
1 2 3 4 5
$ mv *
mv: target ‘5’ is not a directory
$ ls
1 2 3 4 5
Agora, se eu criar um diretório que venha como último parâmetro para a expansão do curinga, então:
$ mkdir 6
$ mv *
$ ls
6
$ ls 6
1 2 3 4 5
Você deve verificar novamente qual foi o último argumento.
- Se o último argumento foi um diretório, então seus dados talvez estejam seguros.
- Se o número total de argumentos fosse 2 e o último argumento fosse um diretório, seus dados talvez sejam seguros.
- Se o número total de argumentos fosse 2 e o último argumento fosse um arquivo, o segundo arquivo desapareceria com certeza.
Tem certeza de que não viu o erro algo assim?
mv: target ‘5’ is not a directory'