Permanently deleting files on Mac OS

45,469

Solution 1

I'm not so happy with the way Mac OS X handles this either. If I really want to delete something, especially from USB memory sticks, I usually fire up Terminal and rm the files manually.

Solution 2

Since so many people seem to want it, I just created a Service to do this, for Snow Leopard, called Delete Immediately. It shows up in the Services menu and the context menu in Finder.

You can download it from GitHub. Uncompress the .zip archive and move the resulting "Delete Immediately.service" to the Services folder in your library folder, ~/Library/Services/. You may need to log out and back in (and/or enable it in the Services section of the Keyboard preferences) for the system to recognize the service.

I'd also suggest checking out the README file on the main page on GitHub. And if you want to contribute to the code, localize it, or make an icon, feel free!

Context menu

Services menu

Solution 3

The Terminal-less way of solving this conundrum is to cast the following spell to appease the Apple gods, like so :

Select the file to be sacrificed followed by reciting:

⌘ Delete

⌘ ⇧ ⌥ ⌫

This will send the file to Trash, and then delete the whole Trash, thus should send the victim (and all other trashed items) to oblivion.

Solution 4

To delete a specific file, without going through the trash..

  • open a Terminal
  • type rm (with a trailing space), or rm -r if you plan to remove a directory
  • drag and drop the file onto the Terminal window, which enters the full path to the dropped file
  • hit enter

jtbandes's "Delete Immediately" service solution is much more elegant, but the "Terminal way" doesn't require any additional software (so is good when working on machines that you don't regularly use)

Solution 5

I use rm -rf in the command line. It deletes a lot faster and it deletes everything. A common problem I have with Windows is that deleting is a process rather than a point in time and I often find myself watching Windows delete folders and files for several minutes. Rm -rf is quick.

You can also use rm -rf to delete a specific Trash. The trash can is a hidden folder named .Trash in the root of the relevant volume or directory.

And yes, I think this is how it should be. Users shouldn't be able to delete files too quickly using Finder. Files should be recoverable from the Trash.

Share:
45,469

Related videos on Youtube

Assaf Levy
Author by

Assaf Levy

I'm a software developer by profession, and more active on Stack Overflow. I used to be more of a Linux geek, wasting a lot of free time tweaking my system, following Slashdot, etc. Fortunately I'm mostly past that. :) Nowadays I mainly use Mac at home, while still strongly preferring Linux (Ubuntu these days) for development at work and at work too.

Updated on September 17, 2022

Comments

  • Assaf Levy
    Assaf Levy over 1 year

    A while back, as relatively new Mac OS X user, I was surprised to learn that you cannot easily delete files. Directly, that is, without moving them to the trash first. On Windows and Linux this can obviously be done with ease, but not so on the Mac.

    I noticed this when trying clear up files from a USB memory stick — removing the files ("move to trash") does not free up space; that happens only after emptying the whole system-wide Trash. Not particularly convenient! (It seems stupid to have to empty the whole trashcan just to make some space on the USB stick. There might be gigabytes of stuff in there, and this sort of defeats its purpose - what if you'd actually need to restore something from the trash some day.)

    So, what's your way of getting around this? Have you bought a 3rd party application like RAW Trash for $16.95 just to delete files, or do you diligently empty the trashcan whenever needed? Or did I miss something? Also, can you convince me that this is actually the way it should be — that users shouldn't be able to fiddle with the filesystem easily? :)

    • Daniel
      Daniel over 5 years
      Were you looking for the shortcut ⌘+⌥+⌫ (Command+Option+Delete)?
  • Andrew J. Brehm
    Andrew J. Brehm almost 15 years
    Note that if space in the Trash is not counted as space used, files in the Trash will be overwritten over time and cannot be recovered any more. So the choice is really between keeping files in the Trash and suffering the space hit or not keeping files in the Trash and having more space available. Combinations between the two are unpredictable for a normal user.
  • Dennis Williamson
    Dennis Williamson almost 15 years
    rm -rf bin - oops I forgot to cd, but I'm not in / so not so big an oops. rm -rf /bin - oops I forgot to type . so BIG OOPS! (regardless of where I've cd'd to)! So I disagree.
  • avstrallen
    avstrallen almost 15 years
    @Dennis - yep, if you forget to type the period you're in a world of pain! I guess this is the main reason Apple doesn't want their average user doing this kind of stuff, hence the Trash functionality the OP was taking issue with. So, I agree with your disagreement, but it sounds like you and I are experienced *nixers who respect the command shell as the potentially dangerous place we know it to be. I was only suggesting that less experienced users get into a habit of mind before using potentially dangerous commands.
  • Assaf Levy
    Assaf Levy almost 15 years
    Cool, thanks! Right now I cannot confirm if this works, but if so, it's exactly what I wanted :)
  • Assaf Levy
    Assaf Levy almost 15 years
    Thanks. I agree that it's easy enough to do it on command line. But in this case I don't especially like having to resort to that... On Mac OS, you're not supposed to have to use the command line for common, end-user kind-of things, IMHO, and freeing up space on a USB stick is a pretty common thing to do.
  • Daan
    Daan almost 15 years
    What this does is first deleting the file, then emptying the trash. While its a useful keyboard shortcut, it doesn't really address the issue of being unable to easily delete selected files.
  • GeneQ
    GeneQ almost 15 years
    Agreed Daan. It's not ideal. But using rm in the Terminal is also not an ideal and rather un-Mac way of doing things. Our friend Jonik will have to weight the pros and cons I guess. ;-)
  • avstrallen
    avstrallen almost 15 years
    I agree with @GeneQ and @Daan - but I have a methodological workaround: I don't put anything in the Trash until I know for sure I'm done with it and then empty the Trash immediately every time... problem solved.
  • Assaf Levy
    Assaf Levy almost 15 years
    Thanks for the clarifying comments! So yeah, it's not exactly what I wanted after all, but good to know the shortcut for emptying trash. Out of the options presented so far, I'd probably go with rm on the command line, although I agree with GeneQ that it's a rather un-Mac way for a task like this.
  • Babu
    Babu almost 15 years
    This is good advice, but I think that it should be made extremely clear to the unwary/non-savvy that rm -rf needs to be used extremely carefully; it will erase everything in the folder you pass to it, including the folder, without confirmation. If a system folder is passed into this command, you can do enough damage to require you to reinstall the operating system (While the permissions should keep you from destroying the system, I tend to try not to rely on them).
  • dbr
    dbr over 14 years
    -1 also, the original question mentions that emptying the system wide trash "Not particularly convenient!", which is what that shortcut does..
  • dbr
    dbr over 14 years
    Shiney. You can also bind a keyboard shortcut to this service: "In the Application menu choose Services/Services Preferences. Open System Preferences/Keyboard/Keyboard Shortcuts/Services. Select a service, press Enter and then press your chosen shortcut key combo" (from gingerbeardman.com/services )
  • Assaf Levy
    Assaf Levy over 14 years
    Very nice, thanks! Does this only work on 10.6? (I'll still be on Leopard for a while.)
  • Assaf Levy
    Assaf Levy over 14 years
    +1, thanks for the drag and drop onto Terminal tip
  • Assembler
    Assembler over 14 years
    It does only work on 10.6 for now, I'm not as familiar with how Services work on 10.5 (they don't show up in the context menu, and writing a context menu plugin for 10.5 is a bit harder).
  • Assembler
    Assembler over 14 years
    And, Jonik, I'd really recommend you upgrade to 10.6 if your hardware allows (i.e. you have an Intel Mac). Even if you won't get many of the speed boosts if you don't have a 64-bit machine, like I don't, the minor refinements are definitely worth the low price.
  • Assaf Levy
    Assaf Levy over 14 years
    [ Yes, I will upgrade, as soon as I get it. :) Just that I very recently bought a Mac mini, which still came with Leopard, and it probably takes a little while before I get Snow Leopard through apple.com/macosx/uptodate. Btw, I do hope some solution is found to this annoyance before I upgrade: superuser.com/questions/31925/… ]
  • Assaf Levy
    Assaf Levy about 14 years
    Finally got round to testing this, and it indeed works smoothly! (So a big +1 from me too; I'll keep the rm method as accepted answer though, as installing 3rd party tools for this shouldn't be mandatory IMHO...) Your "Delete Immediately" might end up putting creators of RAW Trash out of business, you know. :D Assigning a keyboard shortcut for the service makes this even better. Some feedback about the instructions: 1) Services folder under ~/Library may not exist (didn't on my machine), so perhaps mention that you may need to create it. 2) Is there an easy way to install system-wide?
  • Kaushik Gopal
    Kaushik Gopal almost 13 years
    for all the things that Mac OS X doesn't already provide, there's Keyboard Maestro.
  • haridsv
    haridsv over 12 years
    Is there a way to assign Shift+Del as shortcut to this service? It seems like System Preferences beeps at you for any combination that involves Del.
  • Andrew J. Brehm
    Andrew J. Brehm over 11 years
    Why the down-vote???
  • Devarshi
    Devarshi over 11 years
    Thanks for the useful tip, based on your suggestion I have made a simple cocoa app, here is the link: daemonconstruction.blogspot.in/2013/01/…
  • Devarshi
    Devarshi over 11 years
    @dbr.. thanks for informing me.. I have updated it now :-)
  • kentcdodds
    kentcdodds about 11 years
    GitHub changed their interface and I can't find the downloads tab. Could you put it somewhere else?
  • Assembler
    Assembler about 11 years
    @kentcdodds It's sad that GitHub killed the downloads tab! I added a zip file to the repository itself, so you should be able to directly download it from there. See the link on the wiki. Let me know if this works!
  • kentcdodds
    kentcdodds about 11 years
    @jtbandes I don't see any tar/zip files in the repository...
  • Assembler
    Assembler about 11 years
    It's in the root directory, named Delete Immediately.service.zip. I put a link on the wiki page too.
  • Tyler Collier
    Tyler Collier over 10 years
    If someone would kindly upvote this comment, I'll have enough reputation to add my own answer with screenshots. I'd like to recommend Trash Without, which is $0.99 but has convenient options like adding a button to Finder. See: itunes.apple.com/us/app/trash-without/…
  • Tyler Collier
    Tyler Collier over 10 years
    I ended up adding my answer on the sister site here: apple.stackexchange.com/questions/43577/…