mv comando com * -wildcard mostra erro “Nenhum tal arquivo ou diretório”

2

Eu tenho 6% de arquivos.txt na minha área de trabalho que estou tentando mover usando o Terminal. No entanto, quando tento migrar todos eles para a pasta texts que está no meu Desktop, recebo o seguinte erro:

mv: cannot stat ‘Desktop/*.txt’: No such file or directory

Aqui está o código que estou executando para executar a tarefa:

mv Desktop/*.txt Desktop/texts

O que estou fazendo de errado?

Além disso, estou atualmente em ~/home/dlundy1

Aqui está fora de ls -al ~/Desktop/*.txt

ls: cannot access /home/ubuntu/Desktop/*.txt: No such file or directory

** NOTA: ** Eu quero pegar o jeito de usar apenas o terminal para executar tarefas básicas para restringir as soluções para aqueles que não utilizam GUI.

    
por dlundy1 16.04.2015 / 22:50

3 respostas

1

Você criou o diretório primeiro? Se não,

mkdir Desktop/texts

Use a opção -p para criar diretórios intermediários que estão faltando.

mkdir -p Desktop/texts/DoesNotExist/NotHere/Yet

Você também não mencionou em qual caminho você está atualmente; por padrão, a sessão do Terminal inicia em seu próprio diretório pessoal, mas para garantir que você possa usar o caminho completo ou ~ para indicar seu diretório pessoal. ~ é expandido para preencher o restante do caminho do seu diretório pessoal.

Depois de verificar se o destino existe,

mv ~/Desktop/*.txt ~/Desktop/texts

Por causa do ~, é o mesmo que usar,

mv /home/dlundy1/Desktop/*.txt /home/dlundy1/Desktop/texts
    
por Sinn3d 16.04.2015 / 23:15
1

Quando arquivos com nomes terminando em .txt existirem no diretório ~/Desktop , o bash shell substituirá ~/Desktop/*.txt pela lista de arquivos que correspondem ao padrão de glob *.txt antes do comando mv executado:

mv ~/Desktop/*.txt ~/Desktop/texts

seria alterado para

mv ~/Desktop/first.txt ~/Desktop/second.txt ~/Desktop/texts

se ~/Desktop contiver first.txt e second.txt , por exemplo.

Mas, se não houver arquivos correspondentes ao padrão de glob *.txt in ~/Desktop , o shell não terá nada para substituí-lo. Dependendo das opções do shell, ele se recusará a executar o comando, mostrando um erro ou simplesmente não alterará o comando e o executará como está. No seu caso, ele fez o segundo: Então mv tenta mover o arquivo com o nome *.txt no diretório ~/Desktop - mas acontece que não existe tal arquivo.
O erro cannon stat significa que não é possível encontrar nada com esse nome.

Portanto, o problema parece ser que os arquivos que você gosta de mover não existem nesse diretório. Talvez você já tenha movido eles?

    
por Volker Siegel 17.04.2015 / 22:36
0

Você deve escrever o seguinte

mv ~/Desktop/*.txt ~/Desktop/texts

Você esqueceu o ~ que indica o seu diretório pessoal.

    
por nux 16.04.2015 / 23:05