在旧版本的Unix中,rm如果目录为空,该命令将删除目录。从rm的Research Unix第八版手册页:“如果条目是目录,则只有在为空时才将其删除。” 我喜欢这种行为,所以在我的名字中有了这个别名/etc/profile:alias rm='rm -d'我正在使用GNU coreutils版本的rm,其中-d告诉rm您继续删除目录(如果它们为空)。
到目前为止,一切都很好。该别名使我可以rm像过去一样使用。但是,我想更进一步。我想要rm即使目录包含其他目录,也可以删除目录,只要目录是唯一目录即可。只要目录中没有任何文件,只是空的(一旦您到达底部)目录,目录结构就可以了,我想rm将它们全部删除。
是否可以将其写为别名,而该别名仍然可以用作常规rm文件并删除传递给它的任何文件?
感谢Kevin的建议,但这并不是我想要的行为。如果我跑步
—
WhiteHotLoveTiger 2013年
mkdir -p a/b1/c2 && mkdir -p a/b2/c2; rmdir -p a/b1/c1;,我仍然剩下a,a / b2和a / b2 / c2。我想要的只是将顶级(在本例中为a)传递给rm,并删除它下面的所有内容。
rmdir -p样