mv: não é possível stat com *


Respostas:


6

Eu posso pensar em 2 possíveis razões pelas quais isso pode acontecer:

  1. O diretório de origem pode não existir (OR)
  2. O diretório de origem pode estar vazio

Ignore se nenhum dos dois!


5

Você precisa usar $USERpara o usuário expandir para o seu nome de usuário. /home/useré válido apenas se você tiver um usuário chamado user. Isso funcionará se temp1e temp2existir no diretório inicial

mv /home/$USER/temp1/* /home/$USER/temp2

3

Vou tentar ajudar e esclarecer um pouco a confusão:

  • Se você deseja mover uma pasta e seu conteúdo para outra, insira:

    mv ~/Scripts ~/Podcasts

  • Se você deseja mover o conteúdo de uma pasta, mas não a pasta em si, para outra pasta, insira, por exemplo mv ~/Scripts/* ~/Podcasts,. Você pode entrar echo ~/Scripts/*para verificar o conteúdo da pasta

  • (Se você também precisar conhecer globstar, o que permitirá que você recorra em todos os níveis de diretório, consulte este artigo e este . Ele pode ser ativado com shopt -s globstar, mas isso precisará ser colocado no .bashrc para funcionar permanentemente. .)

(O tilde~ em ~ / Scripts é expandido para /home/mike/ou seu nome de usuário automaticamente pelo shell)


0

Se você estiver usando o bash e o diretório de origem estiver vazio, poderá modificar o comportamento padrão de expansão glob do shell com:

shopt -s nullglob

para ativar o nullglob e fazer com que os comandos seguintes mvse comportem corretamente quando o diretório de origem estiver vazio. Cuidado que isso pode fazer com que outros comandos lsse comportem inesperadamente.

Você pode desativar o nullglob novamente com:

shopt -u nullglob

Para mais informações, veja aqui e aqui .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.