如何删除目录中除一个文件夹和一个文件以外的所有文件?

时间:2016-06-15 13:43:04

标签: linux shell jenkins

我的应用程序有一个名为vendor的文件夹和一个名为.env的文件。当我自动将源代码文件发布到文件夹时,除了这两个文件之外,所有旧文件都应该被删除。

如何使用shell在linux中执行此操作?

PS:我正在尝试在Jenkins中实现回滚机制。我将从旧版本中复制工件并使用ssh将它们传输到服务器。但这将是一个复制操作。所以我想在使用SSH开始复制之前删除以前的文件。

2 个答案:

答案 0 :(得分:2)

您可以使用find

find ! \( -name 'name1' -o -name  'name2' \) -exec rm -r {} +

答案 1 :(得分:0)

尝试使用此命令

rm !(<filename>)