1

I was trying to delete files inside the current directory with rm -r /./* command. When executed it warned me about removing "...Siri..Application". I kind of panicked, thinking it's trying to delete all files from system and immediately terminated the terminal process. I want to know if this command deleted any other files. I see most files there and am able to restart iMac so all seems good but just to be sure.

PS: sorry for lack of full warning message. I quickly closed the terminal and not going to try command again to get it.

  • 2
    That command will indeed try to delete all files from your entire computer. Recent versions of macOS protect many things, leading to errors like the ones you saw. But the errors won't tell you which files it did succeed in deleting, or which ones it hadn't gotten around to trying before you killed it. It's going to be hard to tell what did get deleted until/unless you notice something missing. Check for any 3rd party apps you've installed -- are they all still there? – Gordon Davisson Aug 12 at 21:07
  • Looks to be so. I remember few of apps I installed and they are there. Is there any way to output/echo the results of the command to the terminal? Or should I just factory reset? TIA – User 10482 Aug 12 at 21:50
4

The path you gave rm to delete was /./*. Let’s break this down:

  1. / The root mount point, such as Macintosh HD. This is the root of the disk, therefore an absolute path was given rather than a relative path operating on the current directory.
  2. ./ The current directory, which is now / by the path given so far. /. is equivalent to /, so // is the path so far, except duplicate directory delimiters are combined to a single delimiter, so / so far, the same as step 1.
  3. * Glob all files and folders at this level.

Therefore, the command given was to delete all files and folders starting at the root mount point, i.e. delete all files and folders on the entire volume.

macOS System Integrity Protection will prevent this mischief from causing much damage to the system’s core components, but your own files won’t be protected if you have given full disk access to the Terminal app. I hope you have a backup of the files you need, especially from the beginning of the disk depending when you stopped the command.

  • Unfortunate for me I did not have latest backup. Nevermind though I can start over. The hard part is figuring out what went away. If I may ask, what was the correct command to delete all files recursively in the current folder. (I tried ./* as path which did not work) – User 10482 Aug 12 at 22:15
  • @User10482 just reinstall the system from recovery hd or internet recovery. That archives the old system, drops a fully functioning one with all built in apps and then migrates all users, settings, data and third party apps. Unless you will pay for professional recovery software or services, getting back the deleted files is somewhat lengthy and not guaranteed if you’ve kept using the system and started overwriting the space where the deleted files were stored. – bmike Aug 12 at 22:30
  • @user All you want is step 3, so rm -r * from the correct directory. – grg Aug 13 at 0:10
  • 1
    @user10482 rm ./* should work. If it doesn’t please post a new question with details (error messages, files not deleted etc) so we can help. – nohillside Aug 13 at 4:33
  • 1
    Using rm [-r] ./* is safer than simply rm [-r] *, in case that there are entries in the current directory whose names start with a hyphen and would otherwise be interpreted as options to rm (e.g., a file named -f). – wchargin Aug 13 at 4:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .