Команда Powershell: rm-rf

Я провел небольшое исследование, и я до сих пор не уверен, что именно он делает. Я знаю, что rm удаляет элемент, но я не мог найти никакой документации по-rf. Всякий раз, когда я набирал help-rf, он печатал весь список доступных команд в powershell. Что произойдет, если ввести rm-rf в powershell? Из чтения вокруг я понял, что он удалит все на диске? Я не уверен?

кроме того, rm-rf такой же, как rm-rf /

2 ответов


PowerShell не является UNIX. rm -rf - это код оболочки UNIX, а не сценарии PowerShell.

  • это документация rm (сокращенно Remove-Item) на PowerShell.
  • это документация rm в UNIX.

видите разницу?

в UNIX, является недействительным. Вы сказали ему, что делать через rm на удалить с атрибутами r для рекурсивные и f на силу, но вы не сказали ему, что это действие должно быть сделано. rm -rf /path/to/delete/ означает rm (удалить) с атрибутами r (рекурсивные) и f (силу) в каталоге /path/to/remove/ и его подкаталогах.

правильная, эквивалентная команда в PowerShell будет:

rm C:\path\to\delete -r -fo

отметим, что -f в PowerShell неоднозначно для -Filter и -Force и так -fo необходимо использовать.


вы должны использовать:

Remove-Item C:\tmp -Recurse -Force

или (короткий)

rm C:\tmp -Recurse -Force