1

Я загрузил довольно большую файловую структуру (> 100 ГБ) в подпапку моего корневого каталога, давайте назовем его /folder . Проблема в том, что я случайно скопировал ее в подпапку этой папки, а не просто прямо в эту папку, так что теперь у меня есть /folder/folder/* вместо /folder/* что мне и нужно. Есть ли лучший способ удалить дополнительный уровень, чем просто:

# mv /folder/folder/* /folder
# rmdir /folder/folder

4 ответа4

5

Если источник и место назначения находятся в одной файловой системе, mv просто создаст другую запись в каталоге, но не скопирует 100 ГБ данных. Так что это лучший способ сделать это, вам не нужно искать другой путь. Но если они находятся в разных файловых системах, данные будут скопированы. Кроме того, вам не нужно rmdir - mv сделает это автоматически.

4

Команда mv не перемещает данные в файлах, только имена файлов. Если вы беспокоитесь о перемещении всех данных в каждом файле, этого не произойдет.

0

Ты можешь использовать:

# cd /folder/folder
# mv * ../
# rmdir /folder/folder

а в чем проблема с тем что у тебя было? Можете ли вы уточнить, что вы подразумеваете под лучшим способом?

0

Немного более простая процедура (меньше общих операций с mv)

  mv /folder /surplusfolder
  mv /surplusfolder/folder /folder
  rmdir /surplusfolder

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .