删除除一个以外的所有子目录和文件

时间:2017-07-28 21:40:25

标签: linux bash cron find

我有一个文件夹结构如下:

/home/user/<individual_user>

在某些<individual_user>文件夹中,我想保留.bashrc个文件,但我要删除/home/user/<individual_user>下的所有文件和文件夹,但.bashrc除外文件。应删除<individual_user>下的所有其他文件和子目录。 <individual_user>个文件夹数量不确定。

我更愿意在cron下执行此命令作为单行。

2 个答案:

答案 0 :(得分:4)

编辑完成后,您可以使用:

find /home/user -mindepth 2 -not -path '*/.bashrc' -print

对输出感到满意后,您可以将-print替换为-delete来制作输出:

find /home/user -mindepth 2 -not -path '*/.bashrc' -delete

答案 1 :(得分:1)

这个怎么样:

find /home/user ! -name .bashrc -exec rm -rf {} +

由于显而易见的原因,我没有测试过它;)