删除 ~/.cache 文件夹可以吗?

Ane*_*ner 230 cache home-directory

当我使用磁盘使用分析器并扫描我的主文件.cache夹时,我的主目录中的文件夹总是显示其中有一些不错的东西。

我可以删除此文件夹的内容还是会损坏某些内容?

Pan*_*her 129

要回答这个问题,IMO 您可以删除所有内容,.cache而不会产生长期不利影响。

如果您的应用.cache程序越来越大,最好查看内容并确定是什么应用程序使它变大并重新配置了一个运行不良的应用程序(而不是.cache在它变得太大时简单地删除)。

另一个可能占用大量空间(和/或保存令人尴尬的证据)的.thumbs目录是目录。中的许多文件.thumbs似乎是重复的。

清理(​​只需注意-rf标志和其他目录;)

rm -rf ~/.thumbs/*
Run Code Online (Sandbox Code Playgroud)

当您不熟悉 Ubuntu/Linux 时,很难知道您可以和不能删除主目录中的哪些内容。在大多数情况下,您可以删除主目录中的大部分内容,需要的程序或应用程序.cache(或其他点文件,例如.local)将重新创建它们。

大多数情况下,在最坏的情况下,您会丢失自定义配置,但不会对系统造成真正的伤害。

我不建议您养成删除主目录中不了解的内容、备份或使用测试帐户的习惯。如果有疑问,安全的做法是备份或移动文件。

mv .cache .cache_backup
Run Code Online (Sandbox Code Playgroud)

然后,您可以根据需要从备份中恢复。

绝对不要开始删除主目录之外您不了解的内容。

  • 我对任何启动 `rm -rf` 的命令感到非常紧张,所以我建议使用 `gvfs-trash ~/.thumbs` 代替 (3认同)
  • 还有“trash-cli”(至少在我的 Kubuntu 机器上),对于那些对“rm -rf”命令持谨慎态度的人来说,可以使用“sudo apt installrash-cli”轻松安装。 (3认同)

and*_*ien 60

我刚刚发现我的备份磁盘被 .cache 中的东西填满了(我猜应用程序正在清理它们自己的缓存,但我没有删除备份,所以它变得越来越大)。所以我从我的备份列表中排除了 .cache,但我注意到 .cache 有十年前的东西,我忘记了我用过的软件!

这将删除一年多前上次访问的 .cache 中的所有内容

find ~/.cache/ -type f -atime +365 -delete
Run Code Online (Sandbox Code Playgroud)

如果您对运行它感到紧张,这将显示将要删除的内容:

find ~/.cache/ -depth -type f -atime +365 
Run Code Online (Sandbox Code Playgroud)

我为此使用了“访问时间”,您也可以通过使用 -ctime 来尝试“创建时间”(尽管我发现了许多已有多年但仍在访问的缓存文件)。感谢@n33rma 的编辑建议。

  • 也是我的问题!我的每日备份始终约为 1.7GB。现在我删除了 `~/.cache`,它们只有 ~0.1 GB!好的建议:`-atime` 标志也是。我所做的是在我的 crontab 中放置一个类似的 find 命令,也用于我的 `/tmp/` 文件夹;我使用 `-atime +1` 没有问题。 (2认同)
  • 问题:du ~/.cache | sort -n 查看按目录大小排序 (2认同)

ros*_*sch 48

删除它通常安全的。您可能希望关闭所有图形应用程序(例如 banshee、rhythmbox、vlc、software-center 等),以防止访问缓存的程序出现任何混淆(我的文件突然跑到哪里去了!?)。

它的大小很容易达到 100+ MB,所以如果你想释放磁盘空间,那就去做吧。

正如BretDDylan McCall已经指出的那样,文件类型是部分下载、浏览器缓存、图标等媒体文件,用于加快未来对相同文件的访问。

要记住的另一件事:删除应用程序不一定删除相关的 ~/.cache/removed_prog 文件夹;在这种情况下,这些文件只占用空间而不使用。那些绝对可以删除。


Bre*_*etD 5

我建议不要删除它。我不是 Linux 专家(尽管我希望是!)并且不知道文件系统结构的细节,但是您可以通过进入您的主文件夹并按 ctrl+h 来查看该文件夹中的确切内容隐藏文件夹。然后你可以进入 .cache 文件夹,看看里面有什么。

快速浏览一下我的系统,我知道 Banshee 将专辑封面存储在缓存文件夹中(不知道为什么),chrome 在缓存文件夹中有数据,许多程序将日志保存在 .cache 文件夹中,以及其他东西。

我不确定这些文件是否都只是为了提高速度而暂时存在(例如浏览器缓存),或者这个“缓存”是否包含用于其他目的的文件(因为浏览器缓存的速度增加是为了抵消重新使用带宽的过度使用) -访问服务器上的文件,而硬盘上不同文件位置的 r/w 时间应该没有明显差异)。

我希望有人比我更了解这一点,并且可以给你一个更好的回应。

  • .cache 的想法是它 _is_ 可删除(参见 http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html)。应用程序不应该依赖它,我真的从未注意到应用程序做错了。Banshee 确实是一个有趣的案例,但它是一个很好的例子:BretD 是对的,您可能不想删除所有缓存,因为它通常存在是有充分理由的。Banshee 需要很长时间才能获得封面。它可以再做一次,但在此期间它会看起来很丑陋。 (39认同)
  • @DylanMcCall 该标准的链接使您的评论比所有其他答案更有用。如果您将该评论作为答案,我会赞成。 (3认同)
  • 为什么要发布“我不知道”作为答案?这只是增加了我的困惑...... (3认同)

小智 5

这是我在所有机器上保留的用于查找磁盘猪的脚本:

$ cat ~/bin/hog
#! /usr/bin/env bash
#
# -*- mode: shell-script -*-

case $# in
(0) dir='.';;
(1) dir=$1;;
(*) echo "usage: hog <dir>"
  exit 1;;
esac

du -s --one-file-system $dir/* $dir/.[A-Za-z0-9]* | sort -rn | head
Run Code Online (Sandbox Code Playgroud)

此外,在我的机器上,我的主目录安装了该noatime选项,因此我将上述内容修改为:

find ~/.cache -depth -type f -mtime +365 -delete
Run Code Online (Sandbox Code Playgroud)

哪个键关闭修改时间。

您可能还想将其放在您的 crontab 中,crontab -e并添加以下行:

# Clean out ~/.cache
13 3 * * 0 chronic find ~/.cache -depth -type f -mtime +365 -delete
Run Code Online (Sandbox Code Playgroud)