Linux下删除乱码或特别字符文件的要领解说
因为编码缘由,在linux服务器上上传、创建中文文件或目录时,会发生乱码,要是想删除它,用rm下令是删除不了的,这种状况下,用find下令可以删除乱码的文件或目录。
在linux文件系统中,每个文件都有一个i节点号,可以通过i节点号来治理文件。首先进入乱码文件或目录所在的目录
运用ls -i下令找到文件或目录的inode,
文件或目录前面的数字字符串就是inode,接下来运用find下令查询并且删除此文件或目录。
注意:此要领只适用于删除文件或空的文件夹。
非空文件夹怎么删除呢?
首先也是先查inode,然后用如下下令即可:
find -inum 2236429 -exec rm -rf {} \;
会提醒找不到此文件或文件夹,但其实已经删除了。
怎样在Linux下删除文件名是乱码或者带有特别字符的文件。
今天碰到一个题目,一个文件名是“-MXV9.log
”,直接用rm删除的时候就报错
[localhost]rm -MXV9.log
rm: illegal option -- M
rm: illegal option -- X
rm: illegal option -- V
rm: illegal option -- 9
rm: illegal option -- .
rm: illegal option -- l
rm: illegal option -- o
rm: illegal option -- g
Usage: rm [-Rfir] file ...
开端想着带引号删,发明带引号删除也同样报illegal option
的错
找了一些材料,发明这种文件可以这样删除
先ls -i 查到文件的inode,然后用find下令删除
[localhost]ls -ilrt 100985 -rw-r--r-- 1 tbcs users 0 Apr 18 11:32 -MXV9.log
最前面一列的100985就是文件的inode,在主机上施行如下下令即可删除文件
[localhost]find ./ -inum 100985 -exec rm {} \;
这个要领适用于文件名为乱码或者带有特别字符的文件删除
比方说文件名是“*.txt” 要是直接施行rm *.txt,会把文件夹中所有以.txt结尾的文件全部删除了
总结
以上就是这篇文章的全部内容了,但愿本文的内容对大家的学习或者工作拥有一定的参考学习价值,感谢大家对脚本之家的支撑。要是你想理解更多相干内容请查看下面相干链接