谁能告诉我为什么当我input:
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
谢谢!
-Eric
尝试以下操作:
cp -rf ./tmp/members/* ./
之后,如果您不想保留副本,请删除./tmp/members 。 mv不会“覆盖”。
使用相对path是一个坏习惯,将是你会很容易后悔的东西。 我build议每当合理时使用完整path。
这应该工作:
mv -f ./tmp/members .
另一个答案(尽pipe你已经接受另一个答案):
mv ./members ./.trash-members ; mv ./tmp/members ./ ; rm -rf ./.trash-members &
这样旧的目录就会在后台被删除,新的目录就会以很短的顺序被放置(只要你在同一个文件系统中,这两个步骤应该是非常快的)
另外请注意,这个解决scheme并不使用安全的临时文件。