質問

I was reading a book on UNIX when I came across this question. You have a directory structure

    $HOME/a/a/b/c

where the first a is empty. How do you remove it and move the lower directories up? I have looked on the man pages of the commands rmdir and rm but could find nothing. Please help me.

役に立ちましたか?

解決

You should move subdirectory before remove parent directory. So..

mv $HOME/a/a $HOME
rmdir $HOME/a

But, this does not work because name a collide.

Rename the parent directory to avoid name collision.

mv $HOME/a $HOME/temp_a
mv $HOME/temp_a/a $HOME
rmdir $HOME/temp_a

他のヒント

Since you cannot move a/a into a, you could instead rename a.

mv a a_
mv a_/a .
rmdir a_
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top