When I use disk usage analyzer and scan my home folder, the
.cache folder in my home directory always shows up with a decent bit of things in it.
Would it be okay for me to delete the contents of this folder or would it damage something?
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.Sign up to join this community
To answer the question, IMO you can delete all of
.cache with no long term detrimental effects.
.cache is growing large, it might be better to look at the contents and determine what application is making it large and re-configure a bad acting application (rather than simply deleting
.cache when it grows too large).
Another directory that can take up a lot of space (and/or save an embarrassing bit of evidence) is the
.thumbs directory. Many files in
.thumbs seem to be duplicates.
To clean (just take care with the
-rf flag and other directories ;)
rm -rf ~/.thumbs/*
When you are new to Ubuntu/Linux it is hard to know what you can and can not delete in your home directory. For the most part you can delete most anything in your home directory, programs or applications that require
.cache (or other dot files such as
.local) will re-create them.
Most of the time, at worst, you will lose custom configurations, but no real harm to the system.
I would not advise you start a habit of deleting things you do not understand in your home directory, back it up or use a test account. If in doubt, the safe thing would be to make a back up or move the file.
mv .cache .cache_backup
You can then restore from backup if needed.
Definitely do NOT start deleting things you do not understand outside of your home directory.
It is generally safe to delete it. You might want to close all graphical applications (e.g. banshee, rhythmbox, vlc, software-center, ..) to prevent any confusion of the programs accessing the cache (where did my file go all of a sudden!?).
It can easily have a size of 100+ MB, so if you want to free up disk space, do it.
Another thing to keep in mind: removing an application does not necessarily delete the relevant ~/.cache/removed_prog folder; in this case those files just take space and are not used. Those can definitely be deleted.
I just discovered that my backup disk was filling up with stuff from .cache (I guess applications are cleaning their own cache, but I don't delete backups so it's getting huge). So I'm excluding .cache from my backup list, but I noticed that .cache has stuff from TEN YEARS AGO, software I had forgotten I ever used!
This will delete everything in your .cache that was last accessed more than a year ago
find ~/.cache/ -type f -atime +365 -delete
If you're nervous about running it, this will show you what's going to be deleted:
find ~/.cache/ -depth -type f -atime +365
I'm using 'access time' for that, you could also try 'creation time' by using -ctime (although I've found many cache files which are years old but still accessed). Thanks to @n33rma for the edit suggestion.
I would recommend not deleting it. I am not a Linux expert (though I hope to be!) and don't know the specifics of the file system structure, but you can examine what exactly is in the folder by going into your home folder and hitting ctrl+h to show hidden folders. You can then go in the .cache folder and see what's in there.
Just from a quick peek on my system I know that banshee stores album art in the cache folder (don't know why exactly), chrome has data in the cache folder, a lot of programs keep logs in the .cache folder, and other stuff.
I am not sure if these files are all just there temporarily for speed increase purposes (like browser cache) or if this "cache" contains files for some other purpose (as the speed increase of browser cache is to counteract excessive use of bandwidth by re-accessing files on a server, whereas there should be no discernible difference in r/w times for a different file location on the hard disk).
I hope someone knows more about this than I do and can give you a better response.
Here is a script that I keep on all my machines for finding disk hogs:
$ 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
Also, on my machine, I have my home directory mounted with the
noatime option, so I modified the above to:
find ~/.cache -depth -type f -mtime +365 -delete
which keys off modification time.
You also might want to put this in your crontab, with
crontab -e and add the lines:
# Clean out ~/.cache 13 3 * * 0 chronic find ~/.cache -depth -type f -mtime +365 -delete
.cache will delete most configuration settings to web applications. First to notice are the web browsers and mail clients.
Same applies for folder
For example it will remove all accounts from Thunderbird and you have to re create them again. Regarding to web browsers it will delete the history and some of the
Other than that there is no trouble of deleting these files.