Domanda

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.

È stato utile?

Soluzione

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

Altri suggerimenti

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

mv a a_
mv a_/a .
rmdir a_
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top