程序开发过程中经常会遇到乱码文件,最常引起乱码的情况是上传了文件名中 包含中文的文件,通过正常命令是不能直接操作该文件的,所以只能删除,因为文件是乱码,所以不能直接用文件名,好在强大的Linux对每个文件,文件夹都分配了一个唯一的inode,通过inode我们就可以删除乱码文件。
查看 文件inode
[test@2288 test-etl]$ ll -i
4461854 drwxrwxr-x 2 test test 4096 Aug 23 15:55 conf
4461858 -rw-rw-r-- 1 test test 0 Aug 24 10:19 ?Q?k?ko?
4598517 drwxrwxr-x 2 test test 4096 Aug 23 14:21 sbin
4461862 -rw-rw-r-- 1 test test 0 Aug 24 10:19 Z%??
删除方式1:注意 {} 和 \ 之间是需要有一个空格的.
[test@2288 test-etl]$ find . -inum 4461862 -exec rm {} \;
删除方式2:
[test@2288 test-etl]$ find . -inum 4461858 -delete
再次查看文件,乱码文件已经被删除.
[test@2288 test-etl]$ ll
4461854 drwxrwxr-x 2 test test 4096 Aug 23 15:55 conf
4598517 drwxrwxr-x 2 test test 4096 Aug 23 14:21 sbin
网友评论