Linux 删除除指定文件外的其他文件

Find

1
2
3
4
5
# 排除单个文件
find . ! -name 'exec.js'
# 排除多个文件
find . ! -name 'exec.js' -a ! -name '.git'

Bash

1
2
3
4
5
6
7
shopt -s extglob
# 排除单个文件
rm -- !exec.js
# 排除多个文件
rm -- !(exec.js|.git)

Zsh

1
2
3
4
5
6
7
setopt extended_glob
# 排除单个文件
rm -- ^exec.js
# 排除多个文件
rm -- ^(exec.js|.git)