-1

До сих пор я использовал Ubuntu, и поведение rm для каталогов было следующим:

  • rm -r dir удалил бы dir если он был пуст, и в противном случае выдает ошибку
  • rm -rf dir рекурсивно удаляет dir и его содержимое

Вполне возможно, что rm был привязан к чему-то, чтобы вести себя таким образом, но у меня больше нет доступа к моей системе Ubuntu, поэтому я не могу сказать.

Теперь я переключился на Linux Mint, и поведение его изменилось: rm -r рекурсивно удаляет каталог и его содержимое, как это сделал rm -rf в Ubuntu.

Я посмотрел на man-страницу rm в Linux Mint, чтобы попытаться найти комбинацию опций, которая бы воспроизводила поведение Ubuntu, но я не смог найти ни одной.

Мои вопросы:

  • Почему поведение rm отличается в дистрибутивах Linux? Разве это не стандартный инструмент, который должен быть везде одинаковым?
  • Как мне добиться поведения, описанного в начале вопроса?

2 ответа2

1

Вполне возможно, что rm был связан с чем-то в вашей системе Ubuntu (например, в .bashrc). rm -r удаляет каталог и его содержимое для меня в Ubuntu 12.04. rm -f необходимо использовать в тех случаях, когда существуют разные права на содержимое каталога (например, файлы только для чтения).

1

Используйте команду rmdir , она будет удалять только пустые каталоги

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .