linux服务器怎么查看已安装字体,字体安装命令

Linux服务器默认只安装少量基础字体,绝大多数业务场景都需要手动补装中文字体和特定格式字体,用fc-list命令可以快速查看当前系统已安装的所有字体。


linux服务器查看已安装字体命令,一条命令搞定

很多人在服务器上遇到图片拼接文字变方块、PDF报表中文乱码时,第一反应是代码写错了,其实排查步骤很简单:先确认服务器里到底有没有这个字体。

linux安装使用字体
加载中
linux安装使用字体

用fc-list查看字体全家福

Linux服务器上最常用的字体查看命令是fc-list,它属于fontconfig工具包,执行后,每行输出一个字体的完整路径、字体族名和样式。

fc-list

如果命令提示command not found,说明系统还没装fontconfig,Debian/Ubuntu系用sudo apt install fontconfig,CentOS/RHEL系用sudo yum install fontconfig。

按字体族名和文件名过滤

服务器字体数量动辄几百个,肉眼翻找不现实,用fc-list配合过滤条件,秒出结果。

# 查看所有中文字体
fc-list :lang=zh
# 查看包含“Song”或“Hei”的字体
fc-list | grep -i "song|hei"
# 只查看字体族名
fc-list : family

其中lang=zh这个参数非常实用,直接告诉你有多少字体支持简体中文,如果输出为空,说明服务器没有中文字体,后续操作才能渲染出中文。

验证字体文件是否真实存在

有时候fc-list列出了字体,业务程序仍然报错,这种情况多半是字体文件路径不在程序搜索范围,用fc-list加上文件名查看具体路径:

fc-list | grep "arial"

然后用ls -l确认文件大小是否正常,0字节的字体文件通常是上传中断或磁盘故障导致的,直接重新上传即可。


linux服务器中文字体安装方法,解决乱码和方块

服务器上没中文字体,最典型的症状就是网页上显示方块、PDF导出乱码、验证码图片生成空白,下面按安装方式拆解。

包管理器安装,省心省力

主流Linux发行版都维护了中文字体包,安装后自动进入系统字体目录。

发行版 常用包名 安装命令
Debian/Ubuntu fonts-noto-cjk sudo apt install fonts-noto-cjk

linux服务器怎么查看已安装字体,字体安装命令

CentOS/RHEL google-noto-sans-cjk-fonts sudo yum install google-noto-sans-cjk-fonts
Fedora google-noto-sans-cjk-fonts sudo dnf install google-noto-sans-cjk-fonts

安装完成后执行fc-cache -f刷新字体缓存,再用fc-list :lang=zh验证,行业共识认为,Noto CJK是目前Linux生态兼容性最好的中文开源字体,覆盖简体、繁体、日文和韩文。

手动上传字体文件,适合内网环境

内网服务器无法访问外网仓库时,可以从开发机上传字体文件,先创建目录,再拷贝文件,最后刷新缓存。

sudo mkdir -p /usr/share/fonts/custom
sudo cp ./yourfont.ttf /usr/share/fonts/custom/
sudo chmod 644 /usr/share/fonts/custom/
sudo fc-cache -f

注意权限必须设置成644,否则其他用户无法读取,这里推荐使用.ttf或.otf格式,兼容性最好,.ttc集合格式在旧版fontconfig中可能无法正确识别。

业务应用专属字体目录

有些Java应用(比如基于OpenPDF、Apache POI的报表系统)不走系统字体库,而是读取应用内部固定目录,比如/app/resources/fonts,此时把字体文件扔进该目录,重启应用就能生效,网上很多linux服务器字体乱码怎么解决的教程都只讲系统层面,忽略了应用层面,这就是为什么改了系统字体后应用还是乱码。


服务器字体缺失怎么定位,从日志到业务排查

乱码不一定都是系统缺字体,也可能是编码转换问题,定位流程比直接装字体更重要。

三步定位法

  1. 查看程序日志,Java应用出现乱码时,日志常伴有UnknownHost或invalid character提示;PDF生成库会直接抛出FontNotFoundException。
  2. 检查字体路径,如果程序使用自定义字体路径,先用ls确认路径是否存在,再和系统字体库路径对比。
  3. 测试渲染结果,生成一个包含中文的测试页面或PDF,然后用pdffonts查看嵌入字体列表,确认实际用到的是什么字体。

常见误判场景

  • PDF打开正常,在服务器端提取文本乱码,通常是PDF没有嵌入字体,和服务器字体库无关。
  • 网页显示正常,生成的图片上文字变成豆腐块

    linux服务器怎么查看已安装字体,字体安装命令

    ,这多半是图片处理库(如GD、ImageMagick)没有正确配置字体路径,而不是系统缺字体。

  • 容器环境,Docker容器内即使宿主机有字体,容器里也看不到,需要单独在Dockerfile中安装字体。

Docker容器字体补充技巧

在构建镜像时加入字体层,这是很常见的做法,以openjdk:17-jdk为基础镜像为例:

RUN apt-get update 
    && apt-get install -y fonts-noto-cjk 
    && rm -rf /var/lib/apt/lists/

构建后进入容器执行fc-list | wc -l,确认字体数量,有人习惯直接COPY宿主机的字体目录进容器,也能用,但镜像体积会变大不少。


定制你的linux服务器字体清单,只留业务需要的

一台业务普通的Linux服务器,字体数量通常在100到300个之间,包管理器默认安装的字体包含很多你根本用不到的字符集,比如蒙古文、藏文、阿拉伯文,按需瘦身可以减少攻击面,也让fc-list输出更加清爽。

查看当前字体占用磁盘大小

fc-list | awk '{print $1}' | sort -u | xargs du -h | tail -20

这条命令会按文件路径列出每个字体的大小,方便你判断哪些字体文件异常巨大,多数情况下,Noto CJK的每个weight文件在15MB到25MB之间,如果出现100MB以上的字体,大概率是误装了超大字符集。

禁用不想使用的字体

不需要删除文件,只需改一下配置就能让字体“隐形”,进入/etc/fonts/conf.d/,写一个屏蔽配置文件。

sudo nano /etc/fonts/conf.d/50-exclude.conf

写入:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <selectfont>
    <rejectfont>
      <glob>/usr/share/fonts/your-font-dir/</glob>
    </rejectfont>
  </selectfont>
</fontconfig>

保存后执行fc-cache -f,再fc-list里就看不到这些字体了,这个操作在大量使用中文字体的服务器上很好用,比如针对某个linux服务器字体安装包推荐里带的英文字库,如果不做屏蔽,会自动回退到麻烦的渲染路径。

备份字体清单辅助资产盘点

运维做服务器交接时,把字体清单导出来存进文档,下次排障能少花半小时。

linux服务器怎么查看已安装字体,字体安装命令

fc-list > linux-server-fonts-backup-$(date +%Y%m%d).txt

配合文件名和安装来源,还能统计出每类字体占比,下面是一个简化的表格示例。

字体类别 典型文件 常见用途
中文黑体 NotoSansCJK-Bold.ttc 标题、UI按钮
中文宋体 NotoSerifCJK-Regular.ttc 正文、PDF打印
英文字体 DejaVuSans.ttf 日志、代码
图标字体 FontAwesome.ttf 前端图标渲染

Q&A:linux服务器字体常见问题

为什么fc-list命令找不到,但程序可以正常显示文字?

程序可能使用了X11核心字体后端,或者直接调用了/usr/share/fonts下的文件,而fc-list只列出fontconfig识别的字体,先检查程序配置里是否写死了字体路径,再确认fc-list版本和fontconfig库是否一致,fc-list -v可以查看详细信息。

线上服务器想安装微软雅黑,怎么操作最稳妥?

直接把msyh.ttf上传到/usr/share/fonts/msyh/目录,设置644权限后执行fc-cache -f,需要注意微软雅黑是商业字体,不能用于对外分发或嵌入软件产品,只建议在内部服务器测试环境使用,如果业务需要商用授权,推荐使用思源黑体,渲染风格接近且无授权风险。

每次重启服务器后定制字体就失效,是什么原因?

检查字体文件是否放在/tmp或/var/run这类临时目录,重启后会被清理,正确做法是放入/usr/share/fonts或/etc/fonts/fonts.conf配置的持久化路径,云服务器用户还要确认初始化脚本有没有覆盖/etc/fonts目录,比如简米云或酷番云的初始化组件偶尔会重置配置,需要把字体安装步骤写进启动脚本才能根治。


Linux服务器上的字体管理没有想象中复杂,先用fc-list摸清现状,再按业务需求补充中文字体和常用英文字体,最后用配置把不需要的字体屏蔽掉,整个过程从查看、安装到定制,完全可以控制在半小时内完成,下次再遇到乱码,先别急着改代码,执行一条fc-list :lang=zh看看服务器里到底有没有这个字体的底气。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/linux%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%80%8e%e4%b9%88%e6%9f%a5%e7%9c%8b%e5%b7%b2%e5%ae%89%e8%a3%85%e5%ad%97%e4%bd%93%ef%bc%8c%e5%ad%97%e4%bd%93%e5%ae%89%e8%a3%85%e5%91%bd%e4%bb%a4/

赞 (0)
每台服务器每天耗电多少度,电费成本该如何计算
上一篇 2026年10月11日 01:25
云服务器到底能用来做什么,个人用户怎么选?
下一篇 2026年10月11日 01:35

相关推荐

  • html注释js怎么写?html注释掉js代码的方法

    在HTML中注释JavaScript代码主要有两种标准方式:使用多行注释符号包裹整个脚本块,或使用HTML注释符号<!– … –>包裹脚本标签,前者适用于代码内部逻辑说明,后者适用于防止不支持JS的浏览器显示源码,很多开发者在初期接触前端开发时,往往混淆HTML注释与JS注释的边界,导致代码……

    服务器宽带 2026年6月6日
    3400
  • HPP参数污染如何绕过WAF?WAF绕过技巧有哪些

    HPP参数污染绕过WAF的核心在于利用Web应用防火墙对HTTP参数污染(HPP)处理逻辑的差异,通过构造特定的多重同名参数序列,诱导后端应用与WAF解析结果不一致,从而实现攻击载荷的隐藏或执行,在网络安全攻防的实战场景中,Web应用防火墙(WAF)通常被视为保护后端业务的第一道防线,许多安全设备在处理HTTP……

    2026年6月11日
    4210
  • http推送服务器怎么用?http推送服务器配置教程

    http推送服务器通过建立长连接或轮询机制,实现服务端向客户端的实时数据下发,相比传统轮询方案,它能显著降低服务器负载并提升消息到达的即时性,是构建高并发实时应用的核心基础设施,在数字化业务高速迭代的今天,传统的“拉取”模式已难以满足用户对实时性的苛刻要求,无论是金融交易的毫秒级报价,还是即时通讯软件的消息送达……

    2026年6月4日
    4800
  • 域名过期后如何安全转移到新域名?

    域名过期后,最快且安全的路径是:先尝试在宽限期内赎回原域名,实在无法找回再启动新域名迁移,迁移前务必备份网站文件和数据库,随后同步设置301重定向并更新所有平台绑定信息,这个操作顺序能最大限度保住你现有的搜索排名和访客流量,下面按步骤拆解,域名过期后还能找回吗很多站长的第一反应是赶紧注册新域名,其实漏掉了最关键……

    2026年9月7日
    300
  • 怎样准确判断虚拟机状态?,VMware虚拟机常见故障排查

    判断虚拟机状态的核心在于区分“宿主机健康但客户机异常”和“客户机健康但监控通道异常”这两类场景,前者看资源与进程,后者看Agent与网络链路,虚拟机的“状态”从来不是一个单点指标,而是由可用性、性能、资源争抢、依赖关系四个维度叠加出来的综合结论,本文围绕这一定义,拆解一套可执行的判断逻辑,从一次真实故障说起:为……

    2026年9月2日
    400
  • 数据底座服务器有哪些种类和配置,哪个牌子好?

    市面上并没有单一型号叫“数据底座服务器”,它泛指用来搭建企业数据基础设施的机架式服务器、高密度存储服务器和GPU算力服务器,主流选择集中在戴尔PowerEdge系列、浪潮NF系列、华为FusionServer和超融合一体机这几类,数据底座服务器有哪些类型和主流配置数据底座的本质是承载数据存储、计算、治理和应用的……

    2026年10月12日
    100
  • 虚拟手柄服务器有哪些,哪个平台最稳定?

    虚拟手柄服务器没有统一的官方清单,当前主流解决方案集中在三类:云游戏平台自带手柄服务、PC串流软件(如Steam Link、Moonlight、Parsec)自建服务器、以及局域网虚拟手柄映射工具,虚拟手柄服务器哪个好?三类主流方案对比很多朋友搜“虚拟手柄服务器”时,脑子里其实想的是两件事:要么是《原神》《和平……

    2026年10月20日
    200
  • B究竟是什么东西,这篇文章核心内容是什么意思?

    B是一种在特定语境下被频繁讨论的概念,但多数人对其真实定义和核心价值存在误解;这篇文章直接给你讲清楚B是什么,以及它的核心内容究竟在解决什么问题,B是什么:先给它一个不绕弯子的定义B不是一个凭空出现的缩写,它在不同行业里有不同指向,但如果你现在正在搜索“B是什么”,大概率你遇到的是业务中台(Business M……

    2026年9月1日
    700
  • 广告发布网站模板怎么选?免费下载资源哪里找

    高效构建广告发布平台的核心在于选择并定制专业的广告发布网站模板,这不仅能节省90%以上的开发成本,更能以最快的速度响应市场流量变化,实现广告业务的快速变现与规模化运营,在数字化营销高速发展的今天,企业搭建自有广告发布平台已成为提升品牌影响力和拓展营收渠道的关键战略,传统的定制开发模式动辄耗时数月,且试错成本极高……

    2026年4月3日
    8000
  • 常见的服务器配置有哪些?怎么选性价比高?

    服务器配置没有统一答案,核心取决于业务规模、访问量和预算,选型的关键是优先匹配场景需求而非盲目追求高参数,一台服务器的性能表现,不由单一配件决定,而是CPU、内存、存储和带宽协同工作的结果,下面这篇指南,将帮你理清思路,从入门到进阶,找到最适合自己的那套配置方案,服务器配置怎么选:先看场景再看参数搞清楚服务器配……

    服务器宽带 2026年10月31日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注