Linux 删除乱码文件或文件夹

有时候在 windows 下用 FTP 上传文件,如果 FTP 做的不够严谨的话,Linux 服务器上可能会产生乱码名字的文件或者文件夹。

通过两个步骤就能删除这类乱码文件

测试环境

  • CentOS 6.5

步骤一

在终端中先 cd 进入乱码文件所在的目录,然后

1
2
3
4
5
6
7
8
[root@localhost ~]# ls -ali
8388609 dr-xr-x---. 37 root root 4096 Apr 15 11:31 .
2 dr-xr-xr-x. 27 root root 4096 Feb 27 08:58 ..
8388624 -rw-------. 1 root root 17281 Apr 15 09:37 .bash_history
8388612 -rw-r--r--. 1 root root 18 May 20 2009 .bash_logout
8388613 -rw-r--r--. 1 root root 176 May 20 2009 .bash_profile
8388614 -rw-r--r--. 1 root root 176 Sep 23 2004 .bashrc
8388644 -rw-r--r-- 1 root root 0 Apr 15 11:31 test

利用 ls 的 -i 参数,看到结果前面会有一串数字,这个就是文件对应的 inode 值,记住这个值 ,继续第二步

步骤二

删除乱码文件

1
2
[root@localhost ~]# find . -inum 8388644 -print -delete;
./test

再 ls 一次发现文件就被删除了。 删除乱码文件夹

1
2
[root@localhost ~]# find . -inum 8388644 -print -exec rm -rf {} \;
./test

注意: 执行前要谨慎,确认 inode 值没错之后再执行,博主曾经就在 rm 上吃过亏