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缓存清理

开发或运维场景中,命令行工具(如wgetcurl)也会生成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高效下载?

    在虚拟机软件中安装Linux系统,配置网络连接后,使用系统自带或安装的下载工具(如wget、curl或图形化下载器)进行文件下载,注意管理虚拟磁盘空间。

    2025年7月30日
    18200
  • 装Win7和Linux双系统,分区与引导如何正确配置?

    安装双系统(Windows 7和Linux)可以让用户同时体验Windows的兼容性和Linux的灵活性,但安装过程需要谨慎规划,尤其是分区和引导配置,以下是详细的安装步骤,涵盖准备工作、系统安装、引导优化等环节,帮助顺利完成双系统部署,安装前的准备工作备份数据分区操作可能导致数据丢失,务必提前将重要文件备份至……

    2025年9月29日
    13000
  • Linux磁盘怎么删才不留后患?

    核心概念设备标识:Linux磁盘以设备文件形式存在(如 /dev/sda、/dev/nvme0n1),通过字母(sda, sdb…)或数字(nvme0n1p1)区分磁盘与分区,分区表:记录分区信息的结构(常见类型:MBR、GPT),删除磁盘需先清除分区表,数据擦除:仅删除分区表可恢复数据;彻底擦除需覆盖磁盘……

    2025年7月28日
    17300
  • 如何登陆Linux主机?详细步骤与方法指南

    Linux作为广泛使用的操作系统,其登陆方式因使用场景(本地/远程)、环境(图形/命令行)及安全需求不同而有所差异,掌握正确的登陆方法不仅是基础操作,更是保障系统安全的关键,本文将详细解析Linux主机的各类登陆方式、操作步骤及注意事项,本地登陆:物理接触直接访问本地登陆适用于操作者位于Linux主机物理位置的……

    2025年9月27日
    13200
  • Linux启动进程的具体方法与步骤有哪些?

    Linux系统中,进程是程序执行的基本单位,启动进程是系统运行的核心操作之一,理解Linux如何启动进程,需要从进程的基本概念、启动方式、底层机制及管理工具等多个维度展开,进程的基本概念与属性在Linux中,进程是一个动态执行的实体,拥有独立的虚拟地址空间、系统资源(如文件描述符、内存空间)和执行状态,每个进程……

    2025年9月30日
    10600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信