如何删除父目录而不删除子文件夹?

如何删除父目录而不删除子文件夹?

例如,

我的父目录中有 5 个目录,我想删除父目录而不删除 5 个子目录。

截至目前我正在使用下面的代码,

 mv parentFolder/* parentFolder/.. && rm -rf parentFolder

我们还有其他比这更简单的选择吗?

答案1

mv parentFolder/* parentFolder/..

将移动所有(非隐藏)文件,而不仅仅是类型的文件目录

仅移动目录zsh(同时缩短代码)

(){mv $1/{*(/),..} && rm -rf $1} parentFolder

或者包括隐藏的:

(){mv $1/{*(D/),..} && rm -rf $1} parentFolder
  • (){..$1..} arg:带有参数的匿名函数(用于分解parentFolder
  • {a,b}csh 风格的大括号扩展,也用于分解
  • (/): glob 限定符仅选择目录。您也可以这样做*/(这也适用于bash,但也包含目录的符号链接)。
  • (D/)D对于点文件(名称以 开头的隐藏文件.)。

相关内容