Команда mv с * -wildcard показывает ошибку & ldquo; Нет такого файла или каталога & rdquo;

У меня на рабочем столе 6 .txt файлов, которые я пытаюсь переместить с помощью терминала. Однако, когда я пытаюсь массово переместить их все в папку texts, которая находится на моем рабочем столе, я получаю следующую ошибку:

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

Вот код, который я выполняю для выполнения задачи:

mv Desktop/*.txt Desktop/texts

Что я делаю не так?


Также я сейчас нахожусь в ~/home/dlundy1


Здесь нет ls -al ~/Desktop/*.txt

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

** ПРИМЕЧАНИЕ: ** Я хочу научиться использовать только терминал для выполнения основных задач, чтобы ограничить решения теми, которые не используют GUI.

3
задан 19 April 2015 в 15:16

3 ответа

Необходимо записать следующий

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

, Вы забыли ~ , который указывает на Ваш корневой каталог.

0
ответ дан 20 April 2015 в 01:16

Вы создавали каталог сначала? В противном случае

mkdir Desktop/texts

Использование-p опция создать промежуточные каталоги, которые отсутствуют.

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

Вы также не упоминали, в каком пути Вы в настоящее время находитесь в, по умолчанию Терминальный сеанс запускается в Вашем собственном корневом каталоге, но удостоверяться, что Вы могли использовать полный путь или ~ для указания на корневой каталог. ~ расширен для заполнения остальной части пути корневого каталога.

После проверки места назначения существует,

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

из-за ~, она совпадает с использованием,

mv /home/dlundy1/Desktop/*.txt /home/dlundy1/Desktop/texts
1
ответ дан 20 April 2015 в 01:16

Когда файлы с именами, заканчивающимися в .txt существуйте в каталоге ~/Desktop, bash оболочка заменит ~/Desktop/*.txt списком файлов, которые соответствуют шаблону шарика *.txt перед mv команда выполняется:

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

был бы изменен на

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

если ~/Desktop содержит first.txt и second.txt, например.

Но при отсутствии файлов, соответствующих шаблону шарика *.txt в ~/Desktop, оболочка не имеет ничего для замены его. В зависимости от опций оболочки это или откажется выполнять команду, показывая ошибку, или это просто не изменит команду и выполнит его, как. В Вашем случае это сделало второе: Так mv попытки переместить файл с именем *.txt в каталоге ~/Desktop - но это поворачивается, там не такой файл.
Ошибка cannon stat средства это ничего не может найти тем именем.

Таким образом, проблема, кажется, что файлы, которые Вам нравится перемещать, не существуют в том каталоге. Возможно, Вы уже переместили их?

1
ответ дан 1 December 2019 в 17:02

Другие вопросы по тегам:

Похожие вопросы: