Can't Empty External Trash Bins

I am trying to delete old backups from my external hard drives. When I moved it to my Mac’s trash bin and tried to delete it I couldn’t. It’s a large file. Now I can’t get rid of it from the trash bin. Keeps coming back each time I connect the hard drive. I’ve tried just deleting it and using Clean My Mac - but they just keep working it for over 2 days with no deletions. What the right/best approach?

Hi David,

If there is nothing else on the drive then just format it :wink:

I would suggest using OmniDiskSweeper to delete the files for you:

Once you run it have it ‘sweep’ your external drive to find all the file sizes, once it is done then go through the columns to find the Trash folder (or pull the annoying file out and put it in an easier to find location on the external drive) then select it in OmniDiskSweeper and in the File menu there is a Destroy / Trash option.

The latest version replaced “OmniDiskSweeper’s Delete button with a Trash button, which will move files to your Trash—which is where you can go looking to recover any files you might realize you need back. If the selected files are already in your trash, it becomes a Destroy button with a big warning sign. (You can also get to the Destroy button and menu item directly by holding the Option key, if you’re really sure that’s what you want to be doing.)”




I use an application called “Trash-It” when I have problems emptying the trash.

I use Marcel Bresniks TinkerTool System.

If there is other data on the drive, use rm -rf <PathToFile> in

If there is no other data, then Erase in Disk is the appropriate solution.

Thank you all very much for the quick responses and helpful info.

Deleting everything on the disk is a rather drastic action, though if it’s empty anyway, it’s a pretty easy approach. If you need to keep other contents, you can use Unix commands to clear out any directory including the trash.

The Trash files are kept in a .Trashes directory at the root of the volume. To get to the .Trashes directory, launch Terminal and go to the .Trashes directory on that volume, which would be reached with this command:

cd /volumes/volume name/.Trashes

Enter an ls command to show all the subdirectories. One will be “501” or similar, which is your user number tied to your login. cd to that directory, and

rm -rf *

This will do a recursive forced remove of everything in the directory (The * is the wildcard for “everything”). It can be a dangerous command, so always before using it enter:


to show what directory you’re in and list the files and directories. If all looks OK, execute the remove.

If you run into a permissions problem:

sudo su

and then enter your admin password at the prompt. Then execute the remove command.

1 Like