Linux中如何删除名为-a及\a的文件及特殊文件?
a 删除名为 -a 的文件
1 rm ./-a
2 rm -- -a,--告诉rm这是一个选项,具体参见getopt
3 ls -i 列出inum,然后用find . -inum inum_of_thisfile -exec rm '{}' \;
b 删除名为 \a 的文件
rm \\a
c 删除名字带的 / 和‘ \0 ' 文件
这些字符是正常文件系统所不允许的字符,但可能在文件名中产生,如unix下的nfs文件系统在Mac系统上使用
1 把nfs文件系统在挂到不过滤'/'字符的系统下,删除含特殊文件名的文件;
2 将错误文件名的目录其它文件移走,ls -id 显示含该文件目录的inum,umount 文件系统,
clri清除该目录的inum,fsck,mount,检查lost+found目录,将其中的文件更名。
另外,可以通过windows ftp过去删除任何文件名的文件
d 删除名字带不可见字符的文件
列出文件名并转储到文件:ls -l > del.sh
然后编辑文件的内容加入rm命令使其内容成为删除上述文件的格式:
vi del.sh
rm -rf *******
执行sh del.sh
e ">删除文件大小为零的文件
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
时间: 2024-09-17 03:56:36