Ask Different is a question and answer site for power users of Apple hardware and software. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a USB plugged in Mac. What I found was .Trashes was not emptied with the emptying trash (right click of the trash and run empty trash) for the USB drive.

What might be wrong? Is there any other way to empty trash the USB drive?

share|improve this question
Interesting, emptying the trash always does so successfully for my USB drives. My only complaint about it is that often I'd like to only empty the trash on my USB drive and not have to do so for every drive on the system. – Matthew Frederick Jan 16 '11 at 0:34
@Matthew try rm -R /Volumes/volumename/.Trashes/$UID – Gordon Davisson Jan 16 '11 at 2:55
@Gordon Perfect, thanks! Created a one-line Applescript to run the command and it's a couple of QuickSilver keystrokes any time. – Matthew Frederick Jan 16 '11 at 8:22
up vote 23 down vote accepted

It's possible that the files are in some other user's trash. The .Trashes folder at the top of each volume has subfolders for each different user, by user ID number (e.g. user #501's trash is in .Trashes/501). You can delete everyone's trash by deleting the entire .Trashes folder with sudo rm -R /Volumes/volumaname/.Trashes (warning: as with anything involving "rm -R", use this carefully; if you type it wrong, it could have ... unpleasant consequences).

share|improve this answer
The "might be in someone else's Trash" is exactly the issue I was running into. This should be better advertised! – cdeszaq Nov 11 '12 at 16:28
Adding the -f switch to the command will force the action. Substituting the "volumename" with "*" would allow you to connect multiple USB drives and empty all the Trash on all of them simultaneously. Don't have to connect 1-by-1 and then re-do. – Danijel-James W Sep 28 '13 at 10:25

I don't know wether it's the best answer, but at least it's working answer.

Open the command line, cd to the USB volume (/Volumes/USB for my case), and type:

/bin/rm -rf ./Trashes/* works fine with me.
share|improve this answer
This would require the user has to go to the specific volume each time. Building on your reply, I've come up with a Bash script and AppleScript solution. – Danijel-James W Sep 28 '13 at 10:09

Usual behavior:
When you delete something off a USB drive, it is moved to a .trashes folder on that volume. When plugged into your computer, deleted items will appear in your trash bin with everything else.
When you unplug it, items that you've deleted from that drive will no longer show up in your trash UNTIL you plug it in again. Then, you can empty the trash. It will really delete them from that drive.

If that isn't happening for you, here's my suggestion:
Select the drive in your Finder sidebar. Without selecting anything else, press cmd-i. Use the Sharing and Permissions section of that window to set Everyone to Read and Write.

Hope this helps.

share|improve this answer
This should be accepted – zsitro Sep 9 '14 at 14:43

2 Solutions. 1 using Bash the other using Bash wrapped in AppleScript.

Solution #1

  1. Create a new AppleScript with /Applications/Utilities/AppleScript Editor
  2. Type the following code:

    do shell script "rm -rf /Volumes/*/.Trashes/*" with administrator privileges

  3. Save the file to somewhere convenient and run it whenever you need to clear the USB Trash
  4. This can be executed by double-clicking on it

NOTE: This will empty the Trash for all connected volumes including your internal hard disk. If you have connected 5 USB drives and a Firewire hard disk, it will empty the trash for all of them.

Solution #2

  1. Fire up your favourite text editor (mine is nano)
  2. Paste the following code into your text editor and save the file

    sudo rm -rf /Volumes/*/.Trashes/*

  3. Save the file to somewhere convenient with the extension .sh and then make it executable with chmod +x {filename}.sh from Terminal

  4. Run that with ./{filename}.sh

NOTE: Same note as above. This is executable from Terminal.

share|improve this answer

I use this script AppleScript, save it as Application :

on open these_volumes
    set t_id to user ID of (system info)
    repeat with i in these_volumes
        if (kind of (info for i without size)) is "Volume" then
            set tPath to (POSIX path of i) & ".Trashes/" & t_id
            do shell script "/bin/rm -Rf  " & (quoted form of tPath) & "/*"
        end if
    end repeat
end open

Drag/Drop Volume(s) on the application.

This script removes the items from your trash (user ID) folder on the volume. if other users use the volume this script will not delete the items from their trash folder, otherwise the script would need an administrator password to do that.

If you want to eject the volume after emptying the trash, use this script.

on open these_volumes
    set t_id to user ID of (system info)
    set volToEject to {}
    repeat with i in these_volumes
        if (kind of (info for i without size)) is "Volume" then
            set tPath to (POSIX path of i) & ".Trashes/" & t_id
            do shell script "/bin/rm -Rf  " & (quoted form of tPath) & "/*"
            set end of volToEject to contents of i
        end if
    end repeat
    if volToEject is not {} then tell application "Finder" to eject volToEject
end open
share|improve this answer
To make the applescript work, simply drag the connected device or drive to the AppleScript application and drop. You can create an alias on the dock next to the regular trash bin for convenience, by dragging and dropping the Application icon into the side-dock. – Tony_kenya Feb 17 '15 at 13:58

protected by Community May 10 '15 at 8:58

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.