我的目录(在 Linux 中)看起来像com/com/{various,files}
wherecom
和com
是同名文件夹,第二个com
包含各种文件。我想删除第一个com
,但保留第二个和第二个中的文件。
答案1
将外部目录重命名,将内部目录移动到您想要的名称,然后删除(现在为空)外部目录:
$ mv com to-delete
$ mv to-delete/com com
$ rmdir to-delete
mv com/com/* com
如果您没有太多文件并且没有一个是点文件,您也可以删除内部目录,但上面的内容更通用且更有效。
答案2
实现此目的的唯一方法是将“各种文件”向上移动一个级别,然后删除第二个“com”目录。
例子
$ mv com/com/(various files) com/.
$ rmdir com/com
答案3
所以这里你已经拥有了这一切:-
mv com/com/ SOME-TEMPORARY-NAME ; rm -rf com ; mv SOME-TEMPORARY-NAME com
它;
只是让您一次性运行所有命令。
然后我使用了rm -rf
这样的方式,即使你里面有任何其他文件,com/
所有文件也会在没有用户交互的情况下被删除。