Команда mv перемещает или переименовывает файлы и директории. Команда mv может перемещать в том числе не пустые директории, в результате чего будут перенесены все файлы в указанной папке.
Но при попытке переместить директорию в папку если она уже существует (чтобы объединить содержимое двух директорий) возникает ошибка «mv: невозможно переместить '... в ...: Каталог не пуст».
Пример команды
sudo mv usr/* /usr/
вызывающей данную ошибку:
mv: невозможно переместить 'usr/bin' в '/usr/bin': Каталог не пуст mv: невозможно переместить 'usr/sbin' в '/usr/sbin': Каталог не пуст mv: невозможно переместить 'usr/share' в '/usr/share': Каталог не пуст
Пример этой же ошибки в системах с англоязычной локалью:
[sudo] password for mial: mv: cannot move 'usr/bin' to '/usr/bin': Directory not empty mv: cannot move 'usr/sbin' to '/usr/sbin': Directory not empty mv: cannot move 'usr/share' to '/usr/share': Directory not empty
Команда mv не позволит вам слить две папки, то есть переместить указанную директорию в то место, где уже существует директория с таким же названием. Но нужного вам результата вы можете добиться следующими двумя командами:
cp -R ИСТОЧНИК/* НАЗНАЧЕНИЕ/ rm -R ИСТОЧНИК/
Команда копирования cp с опцией -R скопирует файлы и папки из указанного ИСТОЧНИКА в директорию НАЗНАЧЕНИЕ. А вторая команда удалит скопированные папки файлы, как если бы исходные файлы были перенесены, а не скопированы.
В качестве альтернативы cp вы можете использовать rsync.
Связанные статьи:
- Решение проблемы «the disc contains an unclean file system» (51.1%)
- Решение ошибки VERR_VD_IMAGE_READ_ONLY (51.1%)
- Зависание при доступе к DCIM/Camera на Android (51.1%)
- Как исправить ошибку ‘No Space Left on Device’ (на устройстве не осталось места) на Linux, когда свободное место на самом деле есть (51.1%)
- Какие файлы можно удалить при нехватке места на диске Linux (51.1%)
- Решение проблемы со сломавшимся после обновления пакетов Pip (RANDOM - 1.1%)