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

标签 linux shell jenkins

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

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

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

最佳答案

您可以使用查找:

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

关于linux - 如何删除目录中除一个文件夹和一个文件外的所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37837244/

相关文章:

java - ADB shell 获取 Toast 消息

jenkins - jenkinsfile 中的 NotSerializableException

jenkins - 捕获 Jenkins 工作流程中的多个错误

c - 2 线程在 Linux 中并行

c++ - Linux 内存分析工具

bash - 在 Centos 服务器上的 shell 脚本中自动执行 git push 和 commit

bash - Shell脚本语法错误: unexpected end of line

jenkins - 如何在 Jenkins 中使用 filespecs 动态创建文件夹并在 Jfrog artifactory 中上传 Artifactory ?

python - Linux电脑: How to let other Linux devices copy files

linux - 从 Unix 迁移到 powershell,对比 Windows 上的 Cygwin