【问题标题】:Remove first a from $HOME/a/a/b/c从 $HOME/a/a/b/c 中删除第一个 a
【发布时间】:2013-12-23 14:12:23
【问题描述】:

当我遇到这个问题时,我正在阅读一本关于 UNIX 的书。 你有一个目录结构

    $HOME/a/a/b/c

第一个 a 为空。 你如何删除它并将较低的目录向上移动? 我查看了命令 rmdirrm 的手册页,但一无所获。 请帮帮我。

【问题讨论】:

  • 将第二个a移动到一个临时位置...
  • 我会使用类似 mv $HOME/a/a $HOME/a
  • 如果$HOME/a/a/b/c 存在,那么第一个a 不为空。它至少包含子目录a...

标签: unix directory command rm rmdir


【解决方案1】:

您应该在删除父目录之前移动子目录。所以..

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

但是,这不起作用,因为名称 a 发生冲突。

重命名父目录以避免名称冲突。

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

【讨论】:

    【解决方案2】:

    由于您无法将 a/a 移动到 a 中,因此您可以重命名 a。

    mv a a_
    mv a_/a .
    rmdir a_
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      • 2015-06-12
      • 2020-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多