Em
sudo mv folder1/* .
Seu shell (em execução como você , não root
) está expandindo (bem, tentando expandir) esse folder1/*
glob.
Isso resulta em vários argumentos para passar para sudo mv
. No entanto, aqui, você (ao contrário de root
) não tem acesso de leitura a esse diretório, portanto, o glob não corresponde a nenhum arquivo. Seu shell é um daqueles shells quebrados (IMO) como bash
ou sh
, quando um glob não combina, é passado como está.
Portanto, em vez de o shell retornar um erro para informar que não encontrou nenhum arquivo correspondente a esse padrão, ele passou a string folder1/*
literalmente como um argumento para sudo mv
. E mv
reclama que não pode encontrar um arquivo chamado folder1/*
(felizmente inofensivo neste caso).
Aqui, você desejaria que o glob fosse expandido por root, então você precisaria iniciar um shell como root para expandir esse glob:
sudo sh -c 'mv folder1/* .'