Search code examples
unixdirectorycommandrmrmdir

Remove first a from $HOME/a/a/b/c


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.


Solution

  • 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