204

What is the ~/.local folder good for and is it safe to remove the content within this folder?

3 Answers 3

212

This is a recent innovation, followed by Gnome and thus by Ubuntu, to store user-specific data in fixed directories. According to XDG Base Directory Specification, there is

  • a single directory where user data is stored, defaulting to ~/.local/share;
  • a single directory where configuration is stored, defaulting to ~/.config;
  • a single directory which holds non-essential data files, defaulting to ~/.cache.

Historically, Unix programs were free to spread their data all over the $HOME directory, putting their data in dot-files (files starting with ".") or subdirectories such as ~/.vimrc and ~/.vim. The new specification is intended to make this behavior more predictable. I suspect this makes backups of application data easier, in addition to giving your home directory a tidier appearance. Not all applications adhere to this standard yet.

In the .local hierarchy, programs put user information such as emails and calendar events. You could manually remove this data, but then the program would lose its state; unless this is what you intend (e.g. when there is a problem with your configuration), you shouldn't remove or change files in that directory. With .cache you can be more careless as the program should be able to recover - redownload or recompute - all the files if you remove them.

8
  • 17
    .local is for storing user program data (like locally installed programs), not user data (like photos, calendars etc) Nov 23, 2010 at 13:55
  • 14
    It seems like .config and .cache should be inside .local for consistency, shouldn't they? Jul 24, 2013 at 21:45
  • 5
    I'm wondering if it's a good idea to backup my ~/.local or parts of it for the purpose of easier recovering when my computer is broken. Or would it be mostly not applicable on a different/new computer? Any suggestion?
    – lumeng.dev
    Sep 4, 2015 at 19:58
  • 2
    What other things can appear in ~/.local other than ~/.local/share and ~/.local/bin (which I know pip uses for user installations)? Jan 6, 2017 at 8:23
  • 2
    @CMCDragonkai, I've personally used ~/.local as a canonical alternative to /usr/ for local installations. Since it already has a ./share, and a ./bin, it may as well have whatever you want to put there. Since PATH seems to search ~/.local/bin already (at least for CentOS), I think it's relatively safe to assume this was at least one intended use case of the directory. May 17, 2018 at 12:33
25

Let me share one of my experiences about the .local directory. I also found my disk partition(root partition) which store home directory has no enough space, and after I check those directories' content, I found the .local directory stores above 70G space, then I want to delete it, but fear the deletion could cause my ubuntu system crash. So I searched this question in google, and it directs me here. But the previous answers could not solve my problems, I only want two results on my system:

  1. Remove some content in the .local directory, then I could have enough disk space to store my new files;

  2. I don't want my system crash, it means I don't want to directly delete the content from my home .local directory, it's too dangerous!

Finally, I found the biggest content under the .local directory is here:

/home/myAccount/.local/share/Trash

It occupies 69G Bytes. I feel it relates to the Trash, so I go to trash, and empty the trash.

Then I found the 69G bytes disk space was freed!!

So my conclusions:

  1. It's highly risky to delete .local directory directly

  2. We could safely delete content under /home/myAccount/.local/share/Trash by "Empty" trash.

3
  • 2
    Thanks for this answer. The first answer might be the best for the question that got asked, but it's kind of dishonest in a way. It says .local contains "user information such as emails and calendar events", but the vast majority of what's in .local isn't user info at all: it's trash can files. Your answer explained what actually takes up the vast majority of .local, making it the better answer IMHO. Dec 19, 2018 at 23:31
  • 3
    well, how much is in your trash depends on you - I clean it out regularly, so my .local is mostly user data
    – xeruf
    Apr 6, 2020 at 11:56
  • 1
    You don't have to delete the whole directory. In your instance it sounds like there's an application that's probably dumping a lot of cache into your .local folder. Investigate using du ~/.local and/or use something like find ~/.local -type f -size +100k to find offenders. Then run find ~/.local -type f -size +1M -exec gio trash {} \; to move those files to trash
    – CervEd
    Apr 24, 2021 at 6:47
4

The .local/ directory is used by some software to keep your preferences (as pointed by @loevborg). This directory is part of the effort to standardize the mess that is the $HOME user. But unfortunately many software has not yet joined this effort, even some gnome software still are spreading your preferences in others directory (see .gnome2, .gconf, .evolution, etc).

It is not safe to remove the directory. Some apps store important information/config files inside this directory.

1
  • 2
    .config is there "to keep your preferences", not .local - the directory is meant for user/application data
    – xeruf
    Apr 6, 2020 at 11:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .