4g
rm ./-123.txt

rm -- -123.txt

find大法:find . -not -name "a.txt" -exec rm -rf {} \;
find . -not -name "a.txt" | xargs rm -rf
ls -i #9279334 -123.txt
find ./ -inum 9279334 -exec rm -i {} \;

egrep大法:rm ls *.txt|egrep -v a.txt
rm ls *.txt|egrep -v '(a.txt|b.txt|c.txt)'
rm find . -name *.txt | egrep -v a.txt|b.txt|c.txt)'

awk大法:rm ls *.txt|awk '{if($0 != "a.txt") print $0}'

脚本大法:for i in ls;do if [ "$i" != a.txt ];then rm -rf $i;fi;done;

特殊字符文件名:“”转义符或“”双引号引起控制
乱码文件: 先看下rm有没有别名,再用rm * 逐条输入y

扩展通配符:shopt -s extglob
rm -rf !(a.txt)
\ / \0等系统保留字符:挂nfs在windows下删除

1 对 “rm删除特殊文件名”的想法;

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code