Linux系统如何清理HTTP缓存?

Linux系统中,HTTP缓存的清理是释放存储空间、解决因缓存导致的内容加载异常(如旧页面显示、资源加载失败)的常见操作,HTTP缓存主要分布在浏览器本地存储、命令行工具临时目录及系统DNS缓存等位置,不同类型缓存的清理方式有所差异,需结合具体场景选择合适方法。

linux如何清理http缓存

浏览器本地HTTP缓存清理

浏览器是HTTP缓存的主要生成者,其缓存通常存储在用户目录下的特定文件夹中,包含网页资源(图片、CSS、JS等)及会话数据,主流浏览器的缓存路径及清理命令如下:

Google Chrome/Chromium

缓存路径:~/.cache/google-chrome/Default/Cache/(Chrome)或~/.cache/chromium/Default/Cache/(Chromium)。
清理命令:

rm -rf ~/.cache/google-chrome/Default/Cache/*  # 清理缓存文件(保留目录结构)
rm -rf ~/.cache/google-chrome/Default/Code Cache/*  # 清理JS编译缓存(如有)

注意:清理前需完全关闭Chrome浏览器,避免文件被占用导致删除失败。

Mozilla Firefox

缓存路径:~/.cache/mozilla/firefox/xxxx.default/cache2/(xxxx.default为随机 profiles 名称)及~/.cache/mozilla/firefox/xxxx.default/startupCache/。
清理命令:

# 查找Firefox profiles目录
ls ~/.mozilla/firefox/
# 清理指定profiles的缓存(替换"xxxx.default"为实际名称)
rm -rf ~/.cache/mozilla/firefox/xxxx.default/cache2/*
rm -rf ~/.cache/mozilla/firefox/xxxx.default/startupCache/*

Firefox也可通过about:cache页面查看缓存详情,或通过菜单“设置→隐私与安全→清除数据”图形化清理。

Microsoft Edge

缓存路径:~/.cache/microsoft-edge/Default/Cache/及~/.cache/microsoft-edge/Default/Code Cache/。
清理命令与Chrome类似:

linux如何清理http缓存

rm -rf ~/.cache/microsoft-edge/Default/Cache/*
rm -rf ~/.cache/microsoft-edge/Default/Code Cache/*

命令行工具HTTP缓存清理

开发或运维场景中,命令行工具(如wget、curl)也会生成HTTP缓存,需单独清理。

wget缓存

wget默认将缓存存储在~/.wget-hists(下载历史)及~/.cache/wget/(临时文件)。
清理命令:

rm -f ~/.wget-hists  # 清空下载历史
rm -rf ~/.cache/wget/*  # 清理临时缓存文件

若需禁用wget缓存,可使用-nc(no-clobber)参数避免覆盖,或通过--cache=off禁用缓存功能。

curl缓存

curl默认不启用文件缓存,但会存储DNS解析结果(可通过--dns-cache控制),若需清理DNS缓存或临时文件:

# 清理curl的DNS缓存(需安装`libc-bin`或`bind-utils`)
nscd -i hosts  # 清理主机名缓存(适用于nscd系统)
# 或直接删除curl可能的临时文件(如通过`--output`保存的文件需手动指定路径清理)

系统级HTTP缓存清理

除用户级缓存外,系统还可能存在代理服务器缓存或DNS缓存,影响HTTP请求。

代理服务器缓存(如Squid)

若系统运行Squid代理,缓存默认位于/var/spool/squid/,清理需通过服务命令:

linux如何清理http缓存

sudo systemctl stop squid    # 停止服务
sudo rm -rf /var/spool/squid/*  # 清空缓存目录
sudo squid -z               # 重新初始化缓存
sudo systemctl start squid  # 启动服务

DNS缓存

DNS缓存虽非HTTP缓存,但可能导致域名解析异常,需结合发行版清理:

  • systemd-resolved系统(Ubuntu 18.04+、CentOS 8+):
    sudo systemd-resolve --flush-caches
  • nscd服务(CentOS 7、Debian旧版):
    sudo nscd -i hosts
    sudo systemctl restart nscd  # 重启服务生效
  • NetworkManager管理的DNS(桌面Linux):
    sudo nmcli dns flush

不同类型缓存清理方法总结

缓存类型 默认路径/命令 清理命令/操作
Chrome缓存 ~/.cache/google-chrome/Default/Cache/ rm -rf ~/.cache/google-chrome/Default/Cache/*(关闭浏览器后执行)
Firefox缓存 ~/.cache/mozilla/firefox/xxxx.default/cache2/ rm -rf ~/.cache/mozilla/firefox/xxxx.default/cache2/*
wget缓存 ~/.wget-hists、~/.cache/wget/ rm -f ~/.wget-hists; rm -rf ~/.cache/wget/*
curl DNS缓存 系统DNS缓存 sudo systemd-resolve --flush-caches(systemd系统)或sudo nscd -i hosts
Squid代理缓存 /var/spool/squid/ sudo systemctl stop squid; rm -rf /var/spool/squid/*; sudo squid -z; start squid

相关问答FAQs

Q1:清理浏览器缓存后,是否会影响已保存的登录状态或书签?
A:清理缓存通常不会删除登录状态(存储在cookies中)或书签(存储在~//.config/google-chrome/Default/Bookmarks等配置文件),但部分网站依赖本地存储(localStorage)的“记住登录”功能可能失效,若需保留登录状态,可通过浏览器设置“清除浏览数据”时勾选“缓存的图片和文件”,而保留“Cookies及其他网站数据”。

Q2:为什么清理HTTP缓存后,某些网页仍显示旧内容?
A:可能原因包括:① 浏览器启用了“硬缓存”(如Service Worker),需进入开发者工具(F12)选择“Application→Storage→Clear storage”手动清理;② CDN节点缓存未刷新,需等待CDT TTL(生存时间)过期或联系CDN服务商强制刷新;③ 本地hosts文件有域名映射,需检查/etc/hosts文件是否包含旧IP地址。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/38019.html

赞 (0)
酷番叔酷番叔
上一篇 2025年10月8日 01:14
下一篇 2025年10月8日 01:30

相关推荐

  • Linux下fgets如何检测tab字符?

    fgets是Linux/C语言标准库中用于从文件流读取一行数据的核心函数,其原型为char *fgets(char *str, int size, FILE *stream),功能是从stream指向的文件流中读取至多size-1个字符,存入str指向的缓冲区,并在末尾自动添加’\0’终止符,在文本处理场景中……

    2025年8月27日
    22000
  • Linux操作系统下如何用Python进行高效编程与自动化运维管理?

    在Linux系统中,Python凭借其简洁的语法、丰富的库生态和跨平台特性,成为自动化运维、系统管理、Web开发等领域的核心工具,无论是日常系统维护还是复杂开发任务,Python都能与Linux环境深度结合,高效完成任务,以下从安装配置、命令行交互、文件管理、系统自动化、网络编程等多个维度,详细解析Linux中……

    2025年9月23日
    21800
  • Linux如何查看NFS版本?

    在Linux系统中,NFS(Network File System,网络文件系统)是一种常用的分布式文件系统协议,允许客户端通过网络访问服务端的文件系统,不同版本的NFS在功能、性能、安全性等方面存在差异,因此准确查看当前系统使用的NFS版本对于协议兼容性排查、性能优化及安全加固至关重要,本文将详细介绍在Lin……

    2025年9月28日
    27500
  • Linux中如何定义一个变量?

    在Linux系统中,变量是用于存储数据值的标识符,通过变量可以方便地在命令、脚本或程序中引用和操作数据,Linux中的变量主要分为局部变量和环境变量两类,前者仅在当前Shell会话中有效,后者则可传递给子进程,正确理解和使用变量是掌握Linux操作的关键技能之一,变量的定义与类型Linux中的变量按作用域可分为……

    2025年10月4日
    26200
  • Linux文件加锁如何实现?

    在Linux系统中,文件加锁是一种多进程并发访问文件时保证数据一致性和完整性的重要机制,当多个进程同时读写同一个文件时,如果没有锁机制,可能会导致数据错乱、丢失或覆盖等问题,Linux文件加锁主要分为两类:建议性锁(Advisory Locking)和强制性锁(Mandatory Locking),建议性锁依赖……

    2025年10月8日
    31800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信