2017-07-28 110 views
-1

我有一个文件夹结构如下:删除所有子目录和文件,除了一个

/home/user/<individual_user>

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

我宁愿执行此命令作为cron下的单行命令。

回答

4

你的编辑后,您可以使用:

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

一旦你满意与输出,你可以用-delete替换-print使它:

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

我原来的帖子有问题。现在已经修好了。 – user3299633

+0

好吧现在尝试我更新的答案。 – anubhava

1

如何:

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

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

+0

我没有得到“明显的原因”。你会有更多的“显而易见”。并提供了一个工作演示ideone.com或类似 – sehe

+1

我没有测试它,因为它会删除我的很多文件... –

+0

1.创建大量的文件2.测试它3.利润 – sehe

相关问题