如何使用SSH删除某个目录下的文件

如何使用SSH删除某个目录下的文件

我可以使用什么代码通过远程 Linux 计算机上的 SSH 终端删除 wp-content/uploads/2019/01 内扩展名为 .jpg.webp 的所有文件?我只想删除该目录中的所有 .jpg.webp 文件并保留其他目录中的所有 .jpg.webp 文件。谢谢。

答案1

只需 ssh 然后(确保您首先位于正确的目录中或提供目录的完整路径!): rm wp-content/uploads/2019/01/*.jpg.webp

但如果有很多文件,那么事情可能会变得复杂。*.jpg.webp文件在 bash 中扩展为一长串名称,并且拒绝rm正确引导命令。

作为后备,您可以使用find命令来搜索并在搜索到的文件上执行命令。

find wp-content/uploads/2019/01/ -name '*.jpg.webp' -maxdepth 1 -exec rm {} +

这转化为以下部分:

  • find wp-content/uploads/2019/01/浏览目录内容。
  • -name '*.jpg.webp'查找名称以.jpg.webp.结尾的文件
  • -maxdepth 1表示 find 应该只深入 1 层(这是它正在使用的当前目录)。重要提示:这仅在远程计算机使用 Linux 或具有 GNU 的情况下才有效find
  • -exec rm {} +rm表示对找到的每个文件执行;这+使得它将文件分组为批次以运行更少的命令。

相关内容