删除Linux中的乱码文件
|Word count:539|Reading time:2min|Post View:
在使用lrzsz命令上传文件出现异常或者因编码原因上传、创建中文文件或目录时,通常都会产生乱码文件,而且这种文件是无法直接使用rm命令删除的,所以就需要使用inode来删除这种文件。
首先,先看一下乱码文件:
1 2 3
| [root@slave2 ~] = =2018-11-01 04:00:00 4 anaconda-ks.cfg BMNC_DATE_PROP.txt hdfs install.log ?n Python rarlinux-x64-5.7.1.tar.gz test.sh ?????Ǘ+??K????P?q??d?1 {??? 3 ?4?.??A?8 AND derby.log hello.sql install.log.syslog pyspark rar testa time.txt z_tmp
|
从这里可以看到,这里还是有不少乱码文件的,奇怪的是这台机器很久没登录了,不小的啥时候生成的,使用rm命令直接删除试试。
1 2 3 4
|
= 4 AND derby.log hello.sql install.log.syslog pyspark rar testa time.txt =2018-11-01 04:00:00 anaconda-ks.c hdfs install.log ?n
|
这里可以看到是可以直接删除的,但是我试了另外一个环境的的确无法删除,唯一不同的就是字符集可能有区别把。
1 2 3 4 5 6 7 8 9 10 11 12
| [appuser@localhost webapps]$ ll total 20 -rw-r--r-- 1 appuser appgroup 0 Mar 15 15:19 ܘ -rw-r--r-- 1 appuser appgroup 0 Mar 15 15:19 ????????혒 drwxr-x--- 15 appuser appgroup 4096 Mar 15 15:15 docs drwxr-x--- 7 appuser appgroup 4096 Mar 15 15:15 examples drwxr-x--- 6 appuser appgroup 4096 Mar 15 15:15 host-manager drwxr-x--- 6 appuser appgroup 4096 Mar 15 15:15 manager drwxr-x--- 3 appuser appgroup 4096 Mar 15 15:15 ROOT [appuser@localhost webapps]$ rm -f ????????혒 [appuser@localhost webapps]$ ls ܘ ????????혒
|
如果遇到无法删除的情况,可以使用删除inode
的方式来删除。
1 2 3 4 5 6
| [root@slave2 ~] 总用量 636 1710957 drwxr-xr-x 2 root root 4096 5月 26 2020 = 1706027 -rw-r--r-- 1 root root 0 7月 26 2019 =2018-11-01 04:00:00 1706031 -rw-r--r-- 1 root root 0 7月 26 2019 4 1703945 -rw-------. 1 root root 0 10月 13 2016 anaconda-ks.cfg
|
前面的数字就代表该文件的inode
。使用如下命令删除:
1
| find -inum 1710957 -exec rm -rf {} \;
|
当然,还有一个办法就是使用SFTP登录到服务器上,然后在SFTP客户端中删除。