最近遇到一个很奇怪的问题,Linux系统上在home目录下有个乱码的文件,显示大小为0字节,无法定位到这个文件,更无法使用rm命令删除。

这是一个 空文件(大小 0 字节),文件名包含大量的 非 ASCII 字节序列($'\307'、$'\216\255' 等八进制转义),这些是 UTF-8 解码失败的二进制乱码。
问题诊断:编码错乱 + SFTP 传输断裂
根因分析
这个文件名是由 多个编码层叠加错误 导致的:
文件名是 GBK/GB2312 等中文编码的二进制字节序列,被错误地按 UTF-8 或其他编码写入
$'\307'= 0xC7,是 GBK 编码的汉字首字节,但后面字节被截断或混杂文件中有一个叫
services:的冒号结尾文件(第 449 字节),也说明可能是 lrzsz/sz/rz 工具传输时没有正确解析文件名
最可能的场景
用类似 Xshell + lrzsz (sz/rz) 或 SecureCRT + ZModem 上传文件时:
文件名包含中文
本地系统编码是 GBK/GB2312(Windows 默认)
服务器 locale 是 UTF-8
传输中断/乱码导致文件名被截断或混入多余字节
解决:删除这个文件
直接 rm 这个乱码文件名会失败,因为 shell 无法正确解析。用 inode 号 删除:
# 先找到 inode 号
ls -li /home/yijunzhao/然后把输出中的 inode 号
或者在服务器上直接运行:
ls -li /home/yijunzhao/ | grep -v '/' | head找到乱码文件的 inode 后:
sudo find /home/yijunzhao/ -inum <INODE号> -delete实际操作处理如下
[yijunzhao@yijunzhao ~]$ ls -li /home/yijunzhao/
total 191056
469427 -rw-r--r-- 1 root root 5212 Feb 17 2022 erlang-24.0-1.el7.x86_64.rpm
464029 -rw-rw-r-- 1 yijunzhao yijunzhao 0 Jul 1 2022 ''$'\307''EwL5'$'\216\255''Kt'$'\310''s'$'\242''d'$'\230''Z'$'\247\345\372\304''B'$'\315\342''O'$'\365\366 ''FBO'$'\324'
134221147 drwxrwxr-x 3 yijunzhao yijunzhao 46 Apr 30 08:55 halo
6120965 drwxrwxr-x 3 yijunzhao yijunzhao 108 Apr 25 10:34 hermes-agent
6118395 -rw-rw-r-- 1 yijunzhao yijunzhao 1418 Apr 25 07:46 hermes-gateway.log
43314527 drwxrwxr-x 3 yijunzhao yijunzhao 135 Apr 29 18:37 hermes-webui
69833023 drwxr-xr-x 8 yijunzhao yijunzhao 273 Apr 26 2022 jdk1.8.0_333
464063 -rw-r--r-- 1 yijunzhao yijunzhao 148003421 Jul 1 2022 jdk-8u333-linux-x64.tar.gz
84641279 drwxrwxr-x 3 yijunzhao yijunzhao 26 Jul 1 2022 logs
855258 -rw-r--r-- 1 yijunzhao yijunzhao 3187 Feb 17 2022 rabbitmq-release-signing-key.asc
859727 -rw-r--r-- 1 yijunzhao yijunzhao 14645608 Feb 17 2022 rabbitmq-server-3.9.13-1.el8.noarch.rpm
117447102 drwxrwxr-x 6 yijunzhao yijunzhao 288 Jul 1 2022 rocketmq-all-4.9.4-bin-release
460853 -rw-rw-r-- 1 yijunzhao yijunzhao 32967749 Jun 24 2022 rocketmq-all-4.9.4-bin-release.zip
553451 -rw-rw-r-- 1 yijunzhao yijunzhao 449 Apr 28 22:08 services:
52169140 drwxrwxr-x 6 yijunzhao yijunzhao 100 Jul 1 2022 store
17254783 drwxrwxr-x 3 yijunzhao yijunzhao 44 Dec 10 2023 website
[yijunzhao@yijunzhao ~]$ find /home/yijunzhao/ -inum 464029 -delete
find: ‘/home/yijunzhao/hermes-agent/hermes_data’: Permission denied
[yijunzhao@yijunzhao ~]$ sudo find /home/yijunzhao/ -inum 464029 -delete
[sudo] password for yijunzhao:
[yijunzhao@yijunzhao ~]$ ll
total 191056
-rw-r--r-- 1 root root 5212 Feb 17 2022 erlang-24.0-1.el7.x86_64.rpm
drwxrwxr-x 3 yijunzhao yijunzhao 46 Apr 30 08:55 halo
drwxrwxr-x 3 yijunzhao yijunzhao 108 Apr 25 10:34 hermes-agent
-rw-rw-r-- 1 yijunzhao yijunzhao 1418 Apr 25 07:46 hermes-gateway.log
drwxrwxr-x 3 yijunzhao yijunzhao 135 Apr 29 18:37 hermes-webui
drwxr-xr-x 8 yijunzhao yijunzhao 273 Apr 26 2022 jdk1.8.0_333
-rw-r--r-- 1 yijunzhao yijunzhao 148003421 Jul 1 2022 jdk-8u333-linux-x64.tar.gz
drwxrwxr-x 3 yijunzhao yijunzhao 26 Jul 1 2022 logs
-rw-r--r-- 1 yijunzhao yijunzhao 3187 Feb 17 2022 rabbitmq-release-signing-key.asc
-rw-r--r-- 1 yijunzhao yijunzhao 14645608 Feb 17 2022 rabbitmq-server-3.9.13-1.el8.noarch.rpm
drwxrwxr-x 6 yijunzhao yijunzhao 288 Jul 1 2022 rocketmq-all-4.9.4-bin-release
-rw-rw-r-- 1 yijunzhao yijunzhao 32967749 Jun 24 2022 rocketmq-all-4.9.4-bin-release.zip
-rw-rw-r-- 1 yijunzhao yijunzhao 449 Apr 28 22:08 services:
drwxrwxr-x 6 yijunzhao yijunzhao 100 Jul 1 2022 store
drwxrwxr-x 3 yijunzhao yijunzhao 44 Dec 10 2023 website