In the case of shortly taking good care of day by day duties, the command line may be each highly effective and harmful. Take the instructions on this article for example: the rm
command means that you can take away (or delete) recordsdata. The rmdir
command does the identical to directories (also called folders). However watch out: In contrast to whenever you transfer recordsdata to the Trash from the Finder, there’s no method to get them again for those who use these instructions.
Nonetheless, if you wish to faucet into Terminal’s powers in macOS Sonoma or older variations, this can be a command you’ll be able to’t overlook. I’ll present you learn how to add a safeguard to make sure that you solely delete recordsdata you actually wish to delete.
Why hassle deleting recordsdata with the command line?
Deleting recordsdata with the Finder isn’t too tough, plus you’ll be able to all the time fish recordsdata out of the Trash for those who change your thoughts. So why hassle utilizing the command line? Listed below are some causes:
- You should utilize wildcards to delete a number of recordsdata shortly and effectively.
- You possibly can take away recordsdata from the Trash whenever you encounter cussed errors.
- You possibly can delete recordsdata which can be hidden within the Finder. These recordsdata, which might comprise settings for sure apps or components of macOS, comprise a dot (.) earlier than their names and the Finder doesn’t present them.
- For those who’ve misplaced entry to the Finder as a result of your Mac is on the blink, you may have the ability to use the command line to troubleshoot the issue.
The right way to delete recordsdata
It’s dangerously straightforward to delete recordsdata with the rm
command. Right here’s an instance. After you launch Terminal (in your /Purposes/Utilities folder) kind cd ~/Desktop
to navigate to the Desktop listing. To delete a file on the Desktop, kind rm filename
, changing filename
with the precise title of the file you wish to delete. (If in case you have a file title with areas, you want to put the title in quotes: "For Instance.txt"
.) For those who had a file right here named MyFile.rtf that you simply by no means, ever wished to see once more, you possibly can run this command:
rm MyFile.rtf
Whenever you press Return, the file will go poof! The Mac doesn’t verify if you wish to delete the file. Will probably be gone, toast, historical past. You possibly can’t get it again.
You possibly can even delete a number of recordsdata in a single command. If in case you have three recordsdata in your Desktop that you simply wish to delete, and also you wish to delete them , you are able to do so like this (if in case you have a file title with areas, you want to put the title in quotes: "For Instance.txt"
.):
rm MyFile.rtf MyCV.rtf MyGreatAmericanNovel.rtf
Once more, urgent the Return key does the soiled work.
A security web
It’s price repeating: this command deletes recordsdata. It nukes them. You possibly can’t get them again. You possibly can’t click on on the Trash icon and retrieve recordsdata you’ve by accident deleted.
However there’s a security web: it’s the -i
(interactive) flag. So for those who’re feeling cautious, you possibly can run the above instructions with this flag as follows:
rm -i MyFile.rtf
Or, within the case of deleting a number of recordsdata:
rm -i MyFile.rtf MyCV.rtf MyGreatAmericanNovel.rtf
In every case, urgent Return received’t really activate the rm
command, as a result of the -i
flag acts as a pause button. You’ll see the next in Terminal when operating these instructions:

IDG
With the intention to proceed, you want to kind sure
, or just y
. Within the case of a number of recordsdata, you’ll see one question for every file. Granted, it’s straightforward to get into the behavior of shortly typing y
, however the query is meant to make you cease and suppose very rigorously about whether or not you actually wish to delete that file.
The right way to delete empty directories (a.okay.a folders)
Deleting directories, or folders, is a bit totally different. For those who attempt to run the rm
command on a listing, you’ll see the next message:

You possibly can’t delete a listing utilizing the rm command.
IDG
There’s a particular command for deleting directories: rmdir
. So to delete a listing named Archives, run this command (If in case you have a listing title with areas, you want to put the title in quotes: "For Instance"
.):
rmdir Archives
You possibly can’t use the -i
flag with the rmdir
command, so the command is a bit riskier.
Be aware that this command solely deletes empty directories. If you wish to delete a listing and the recordsdata it accommodates, learn on.
The right way to delete the whole lot in a listing
The rm
command has a strong choice, -R
(or -r
), in any other case often known as the recursive choice. Whenever you run the rm -R
command on a folder, you’re telling Terminal to delete that folder, any recordsdata it accommodates, any sub-folders it accommodates, and any recordsdata or folders in these sub-folders, all the way in which down. You enter the command as rm
-R directoryname
, the place you substitute directoryname
for the title of the listing you wish to delete. (If in case you have a listing title with areas, you want to put the title in quotes: "For Instance"
.)
For instance, let’s say you could have a listing stuffed with archives, containing sub-directories and recordsdata. Deleting every merchandise individually from the Finder or the command line can take a very long time. So simply run the command like this:
rm -R Archives
Keep in mind, this deletion is remaining. However you should utilize the -i
flag for cover:
rm -iR Archives
It will ask you to verify the deletion of every merchandise. This may be annoying, however until you’re actually certain you wish to delete all these recordsdata, it’s in all probability finest to be secure.
Can’t empty Trash within the Finder? Use the Terminal
When can the rm -R
command turn out to be useful? Say you’ll be able to’t empty the Trash in your Mac. A file may be locked or you might not have permission to delete a number of recordsdata. This kind of glitch is annoying, however you should utilize the command line to offer a straightforward resolution.
In Terminal, kind the next:
rm -R
Then kind an area.
Within the Finder, open the Trash, after which drag the gadgets it accommodates to the Terminal window. You’ll see a number of recordsdata with paths comparable to /Customers/.Trash/file.txt.
If there are many recordsdata, you might discover that the ensuing record—all on one lengthy line, wrapping within the Terminal window—could also be very lengthy. For those who’re completely certain that you simply wish to delete all this stuff, press Return. Terminal will empty the Trash. Command line win!

IDG
Need to be taught extra? See our articles about navigating the file system with the command line, learning from man pages, and copying and moving files.