Linux中删除特殊文件的技巧
一.删除名为-a 的文件
1 rm ./-a
2 rm — -a,–告诉 rm 这是一个选项,具体参见 getopt
3 ls -i 列出 inum,然后用 find . -inum inum_of_thisfile -exec rm ‘{}’ \;
二.删除名为\a 的文件
rm \\a
三.删除名字带的/和‘\0’文件
这些字符是正常文件系统所不允许的字符,但可能在文件名中产生,如 unix 下的 nfs 文件系 统在 Mac 系统上使用
1 把 nfs 文件系统在挂到不过滤’/’字符的系统下,删除含特殊文件名的文件;
2 将错误文件名的目录其它文件移走,ls -id 显示含该文件目录的 inum,umount 文件系统, clri 清除该目录的 inum,fsck,mount,检查 lost+found 目录,将其中的文件更名。 另外,可以通过 windows ftp 过去删除任何文件名的文件
四.删除名字带不可见字符的文件
列出文件名并转储到文件:ls -l > del.sh 然后编辑文件的内容加入 rm 命令使其内容成为删除上述文件的格式: vi del.sh rm -rf ******* 执行 sh del.sh
五.删除文件大小为零的文件
1 rm -i find ./ -size 0
2 find ./ -size 0 -exec rm {} \;
3 find ./ -size 0 | xargs rm -f & 4 for file in * #自己定义需要删除的文件类型
do
if [ ! -s ${file} ] then
rm ${file}
echo “rm $file Success!”
fi
done