Linux 递归删除目录下某个文件或文件夹

命令

find $path -name/-iname $patten [-print] -exec rm -rf {} \;

详解

  • find 查找文件
  • $path 查找的路径
  • -name/-iname 根据文件名查找,-iname 不区分大小写
  • $patten 文件名格式
  • [-print] 打印查找到的文件,可选参数
  • -exec 查找后执行命令
  • rm -rf 删除文件,-rf 强制删除非空文件夹
  • {} 代表查找到的文件
  • \; ; 是结束符,\ 是转义符

示例

find ./ -name "node_modules" -print -exec rm -rf {} \;
递归删除当前目录下所有名为 node_modules 的文件或文件夹

find ~/ -iname "a*.md" -print -exec rm -rf {} \;
递归删除用户根目录下所有名为以 a 开头并以 .md 结尾的文件或文件夹

2016-12-22 10:09148