rm -rf * #删除所有文件
rm -rf !(1.txt) #删除所有文件,但是排除1.txt
rm -rf !(1.txt|2.txt) # 删除所有文件,但是排除1.txt和2.txt
正常情况下是全部文件被删除了,只留下了1.txt,但是有时候我们的系统没配置好,可能会报错,例如下面这种:
root@abc:/home/# rm -rf !(1.txt)
-bash: !: event not found
上面这种情况是因为我们的系统没有开启通配符功能,我们执行下面的命令开启通配符功能先:
shopt -s extglob
查看通配符功能是否开启,on表示已经开启
shopt -s