macOS : Removing caches and temporary files in macOS

The easiest way is using an application like Onyx.

You can check the amount of space taken by the files using du.

$ du -ch /path
# du -ch /path

Before using any deletion command you can check with ls what exactly is going to be deleted.

$ ls /path
# ls /path

When using rm enable verbose mode (-v). Don’t delete the root folders, just the files contained in them. If you have a trailing /** it will ensure you don’t have any mishaps.

$ rm -rfv /path/**
# rm -rfc /path/**

As with everything related to deleting files. Be careful.

User & App Caches

List files.

[Logged user caches]
$ du -ch ~/Library/Caches/
$ du -ch~/Library/Logs/

[All users caches, requires sudo]
# du -ch /Users/*/Library/Caches/
# du -ch /Users/*/Library/Logs/

Delete files.

[Current user caches]
$ rm -rfv ~/Library/Caches/**
$ rm -rfv ~/Library/Logs/**

[All users caches, requires sudo]
# rm -rfv /Users/*/Library/Caches/**
# rm -rfv /Users/*/Library/Logs/**

Check also your home folder for hidden configuration files and folders. This tends to be filled with quite a lot of old stuff.

$ ls -la ~

Trashes

On shared systems deleting trashes might be of help.

You will be emptying other people’s trash. Ask for permission!

List files

[Current user trash]
$ du -ch ~/.Trash/

[All users trash]
# du -ch /Users/*/.Trash/

Delete files.

[Current user trash]
$ rm -rfv ~/.Trash/**

[All users trash]
# rm -rfv /Users/*/.Trash/**

System Caches

List files.

# du -ch /Library/Caches

Delete files.

# rm -rfv /Library/Caches/**

/private/var

Manually deleting these folders isn’t recommended. Although I haven’t checked in detail if there are any exceptions.

macOS will clean the folders during boot. Just restart the system.

If folders aren’t cleared, boot in Safe Mode and then restart again.

/var/vm

In this location sleep images used to be stored. They can be quite bulky and can be deleted.

Temporary files

Usually located in /tmp, but you can also use the system variable $TMPDIR.

/tmp/ can be cleared safely.By definition, anything stored in that folder will be deleted sooner or later anyway.

Browser Caches

These would have already been deleted by deleting the applications caches earlier. They are listed here for completion.

Safari

Listing files.

$ du -ch ~/Library/Caches/com.apple.Safari/Cache.db

# du -ch /Users/*/Library/Caches/com.apple.Safari/Cache.db

Deleting files.

$ rm -rfv ~/Library/Caches/com.apple.Safari/Cache.db

# rm -rfv /Users/*/Library/Caches/com.apple.Safari/Cache.db

Browser Caches (Chrome)

~/Library/Caches/Google/Chrome/
~/Library/Application Support/Google/Chrome/Default/Application Cache/

Listing files.

$ du -ch "~/Library/Caches/Google/Chrome/" "~/Library/Application Support/Google/Chrome/Default/Application Cache/"

# du -ch "/Users/*/Library/Caches/Google/Chrome/" "/Users/*/Library/Application Support/Google/Chrome/Default/Application Cache/"

Deleting files.

$ rm -rfv "~/Library/Caches/Google/Chrome/" "~/Library/Application Support/Google/Chrome/Default/Application Cache/"

# rm -rfv "/Users/*/Library/Caches/Google/Chrome/" "/Users/*/Library/Application Support/Google/Chrome/Default/Application Cache/"

Browser Caches (Firefox)

Listing files.

$ du -ch ~/Library/Caches/Firefox/Profiles

# du -ch /Users/*/Library/Caches/Firefox/Profiles

Deleting files.

$ rm -rfv ~/Library/Caches/Firefox/Profiles

# rm -rfv /Users/*/Library/Caches/Firefox/Profiles

DNS Caches

$ sudo dscacheutil -flushcache ; sudo killall -HUP mDNSResponder

# dscacheutil -flushcache ; killall -HUP mDNSResponder