温馨提示×

centos反引号为什么乱码

小樊
41
2026-09-24 14:15:22
栏目: 智能运维

在 CentOS(或其他 Linux 发行版)中,反引号(`)本身不会乱码,你看到的“乱码”通常是下面几种原因之一:


一、终端字符编码不一致(最常见)

如果你的终端编码和 CentOS 的 LANG / LC_* 不一致,特殊字符(包括反引号、管道、括号)就可能显示成乱码。

检查系统编码

locale

正常应类似:

LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8

如果不是 UTF-8

临时设置:

export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

永久生效(CentOS 7):

localectl set-locale LANG=en_US.UTF-8

二、终端软件编码设置错误

如果你用的是:

  • PuTTY
  • Xshell
  • SecureCRT
  • MobaXterm

请确认:

  • Remote character set = UTF-8
  • 不要选 GBK(除非服务器本身是 GBK)

三、字体不支持反引号

某些老旧或精简字体:

  • 不显示反引号
  • 显示成方块、问号、乱码

解决方法:

  • 更换终端字体(如 DejaVu Sans Mono、Consolas、Monaco)

四、你看到的其实是“命令替换语法”

在 shell 中:

`command`

是命令替换(老写法),现代更推荐:

$(command)

如果你在脚本或文档里看到:

echo `date`

这不是乱码,是正常语法。


五、复制粘贴导致的字符变形

从网页 / Word / PDF 复制命令时:

  • 反引号可能被变成:
    • ’(单引号)
    • `(全角反引号)
    • 不可见字符

建议:

  • 手动输入反引号
  • 或用 $( ) 代替

六、Shell 不是 bash

某些最小系统用的是 sh / dash,对特殊字符处理不同,但反引号一般不会乱码。


快速自检

echo `whoami`
echo $(whoami)

如果两者显示一致、不报错,说明反引号是正常的。


如果你愿意,可以:

  • 发一张乱码截图
  • 或贴出 locale 输出 + 用的终端软件

我可以直接帮你定位是哪一种原因。

0 踩