例如,
我的父目录中有 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
对于点文件(名称以 开头的隐藏文件.
)。