Conforme descrito por @ssssteffff, with mv *
, o shell está fazendo expansão de curinga a partir dos arquivos no diretório atual. No entanto, o comportamento do mv
comando depende de quantos argumentos se *
expande. Se houver mais de dois argumentos, o último argumento deverá 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 vem como último parâmetro para a expansão de curingas, então:
$ mkdir 6
$ mv *
$ ls
6
$ ls 6
1 2 3 4 5
Você deve verificar qual foi o último argumento.
- Se o último argumento foi um diretório, talvez seus dados estejam seguros.
- Se o número total de argumentos for 2 e o último argumento for um diretório, talvez seus dados também estejam seguros.
- Se o número total de argumentos for 2 e o último argumento for um arquivo, o segundo arquivo desaparecerá com certeza.
Tem certeza de que não viu o erro em algo assim?
mv: target ‘5’ is not a directory`