Переместить файлы из подпапки в текущую папку

8

Скажем, мои файлы на сервере Ubuntu: /folder1/folder2/

Я нахожусь в folder1настоящее время, и я хочу переместить все файлы / папки (рекурсивные) из folder2текущей папки.

Как я могу это сделать?

Бланкмэн
источник

Ответы:

16

укороченная версия:

mv folder2/* .
panaroik
источник
3

mv /folder1/folder2/* /folder1/

Джеймс Мартенал
источник
3

Существует предостережение, если в вашей папке есть невидимые файлы (начинающиеся с '.'). dotglob (*) не будет расширять (и mv не будет перемещать) невидимые файлы, если вы не измените его поведение с помощью shopt. shopt -s dotglobразвернуть невидимые файлы и shopt -u dotglobвернуться к настройкам по умолчанию.

Арт Шайдеров
источник
0

рекурсивно переместить файлы в текущую папку:

find -type f -exec mv -v {} . \;

Имейте в виду, что вы не будете перезаписывать существующие файлы.

kazuni
источник
Вы должны были объяснить, как это будет вести себя иначе, чем предыдущие ответы, и в каких обстоятельствах это было бы желательно.
kasperd
Например, это будет работать, когда имеется больше файлов, чем может поместиться в одной команде оболочки. Или вы в оболочке, которая не поддерживает глобализацию.
птенцы