Mv: не может быть с *


11

Я пробовал это раньше. Я клянусь, что смог выдать такую ​​команду раньше:

mv /home/user/temp1/* /home/user/temp2

В основном, я получил эту команду отсюда: /superuser/273254/move-files-and-folders-recursively-in-linux

Любая идея, почему это говорит мне

mv: cannot stat `/home/user/temp1/*': No such file or directory

Ответы:


7

Я могу думать о 2 возможных причинах, почему это может произойти:

  1. Исходный каталог может не существовать (ИЛИ)
  2. Исходный каталог может быть пустым

Игнорировать, если нет!


5

Вы должны использовать $USERдля пользователя, чтобы расширить свое имя пользователя. /home/userдопустимо только если у вас есть имя пользователя user. Это будет работать, если temp1и temp2существует в вашем домашнем каталоге

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

3

Я постараюсь помочь и немного устранить путаницу:

  • Если вы хотите переместить папку и ее содержимое в другую, введите:

    mv ~/Scripts ~/Podcasts

  • Если вы хотите переместить содержимое папки, но не саму папку в другую папку, вы должны ввести, например mv ~/Scripts/* ~/Podcasts,. Вы можете войти, echo ~/Scripts/*чтобы проверить содержимое папки

  • (Если вам также нужно знать о том globstar, что позволит вам проходить через все уровни каталогов, см. Эту статью и эту . Она может быть включена с shopt -s globstar, но ее нужно будет поместить в .bashrc для постоянной работы .)

( tilde~ In ~ / Scripts расширяется до /home/mike/или вашего имени пользователя автоматически оболочкой)


0

Если вы используете bash, а исходный каталог пуст, вы можете изменить поведение расширения по умолчанию оболочки:

shopt -s nullglob

включить nullglob и заставить любые последующие команды, например, mvвести себя правильно, когда исходный каталог пуст. Помните, что это может привести lsк неожиданному поведению других команд .

Вы можете снова отключить nullglob с помощью:

shopt -u nullglob

Для получения дополнительной информации смотрите здесь и здесь .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.