Линукс мв команда странность
Может кто-нибудь сказать мне, почему, когда я печатаю:
mv -f ./tmp/members ./
Я получил:
mv: cannot move `./tmp/members' to a subdirectory of itself, `./members'
И к тому же правильный способ перемещения этого каталога?
Кроме того, в./members уже есть каталог... Я хочу полностью перезаписать этот каталог, а не просто добавить в него новое содержимое.
Directory Structure:
./
./members
./members/srno
./members/srno/expired
./members/1
./members/1/active
./members/members
./members/members/srno
./members/members/srno/expired
./members/members/1
./members/members/1/active
./members/members/57364
./members/members/57364/expired
./members/members/11939
./members/members/11939/expired
./members/members/123
./members/members/123/expired
./members/members/73331
./members/members/73331/expired
./members/members/88144
./members/members/88144/expired
./members/members/25051
./members/members/25051/expired
./members/57364
./members/57364/expired
./members/11939
./members/11939/expired
./members/123
./members/123/expired
./members/73331
./members/73331/expired
./members/88144
./members/88144/expired
./members/remove
./members/25051
./members/25051/expired
./index.html
./tmp
./tmp/members
./tmp/members/srno
./tmp/members/srno/expired
./tmp/members/1
./tmp/members/1/active
./tmp/members/57364
./tmp/members/57364/expired
./tmp/members/11939
./tmp/members/11939/expired
./tmp/members/123
./tmp/members/123/expired
./tmp/members/73331
./tmp/members/73331/expired
./tmp/members/88144
./tmp/members/88144/expired
./tmp/members/25051
./tmp/members/25051/expired
./tmp/subscribers.xml
./premium.cgi
Спасибо!
-Эрик
3 ответа
Попробуйте следующее:
cp -rf ./tmp/members/* ./
После этого удалите ./tmp/members
если вы не хотите хранить копию. mv
не "перезаписать"
Использование относительных путей - плохая привычка, о которой вы легко пожалеете. Я рекомендую использовать полные пути всякий раз, когда это целесообразно.
Другой ответ (хотя вы уже приняли другой):
mv ./members ./.trash-members ; mv ./tmp/members ./ ; rm -rf ./.trash-members &
Таким образом, старый каталог удаляется в фоновом режиме, а новый каталог создается в очень коротком порядке (два перемещения должны быть очень быстрыми, если вы находитесь в одной файловой системе)
Также обратите внимание, что это решение не использует безопасные временные файлы так, как должно.