我在unix环境中工作,我很好奇是否有一个漂亮/简写的方法来执行以下操作。
删除第一个 foo 目录。
(不是:第一个foo目录中没有任何东西,但随后的foo目录/ *)
/directory1/foo/foo/bar/baz/
为:
/directory1/foo/bar/baz/
同时保持foo / bar / baz下所有内容的完整性。
我正在构建一个服务器而我无意中创建了一个额外的文件夹。
当然,我可以将foo / *中的所有内容复制到另一个文件夹中,删除所有内容然后抓住它并在没有第一个foo的情况下将其放回去。好奇,如果有一种速记方式这样做。
由于
答案 0 :(得分:0)
你可以找到foo目录的inode,然后取消链接第一个目录,并将第二个链接到它的位置,但我还没有找到一种方法直接用ln命令链接inode。
相反,你可以这样做:
ln / directory / foo / foo / directory / foonew&& unlink / directory / foo / foo&& unlink / directory / foo&& mv / directory / foonew / directory / foo
答案 1 :(得分:0)
mv /directory1/foo/foo/* /directory1/foo && rmdir /directory1/foo/foo