vi编辑器打开Catalina.sh显示^@乱码,如何恢复可读性?
解决vi打开Catalina.sh全显示^@的问题
用vi打开Catalina.sh时,每行所有字符都变成了^@,这是文件被写入大量空字节(NUL字符)导致的乱码,常见于误操作重定向、进程异常写入等场景。可以按以下步骤尝试恢复:
- 先确认文件状态:执行
file Catalina.sh命令,输出里如果包含“with NULs”字样,就能确定是空字节问题。 - 过滤空字节修复:
- 使用
tr命令清理空字符:
完成后用vi打开tr '\0' '' < Catalina.sh > Catalina_fixed.shCatalina_fixed.sh查看是否恢复正常。 - 如果tr无效,换
sed命令尝试:sed 's/\x0//g' Catalina.sh > Catalina_fixed.sh
- 使用
- 若修复后内容缺失或仍不可读,说明原文件已严重损坏:
- 从Tomcat官方安装包重新提取Catalina.sh文件,或者从之前的备份中恢复。
- 恢复后记得给文件加上执行权限(如果需要):
chmod +x Catalina.sh
内容的提问来源于stack exchange,提问作者Luke
相关产品推荐
相关产品推荐

