LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

На самом деле rm ничего не проверяет. Он просто просит ОС удалить каталог. Если ОС отказывается что-то сделать, то она сообщает код ошибки (а rm просто преобразует код в текст по таблице кодов ошибок и выводит пользователю). И среди прочих есть код «каталог не пуст» (а ядро ОС без всяких прав доступа всегда знает пуст каталог или нет). Это ограничение не команды rm, а системной функции ОС, которая удаляет каталоги - она требует, чтобы каталог был пуст (иначе нужно рекурсивно пройтись по каталогу и сначала удалить все файлы - это делает опция -r). В винде, если что, такое же ограничение на функцию удаления каталога. Некоторые библиотеки могут включать в себя продвинутую функцию, удаления, которые автоматически удаляют сначала содержимое, а уже потом каталог. Однако rm использует напрямую сервис ядра, без обёрток.

Исправление KivApple, :

На самом деле rm ничего не проверяет. Он просто просит ОС удалить каталог. Если ОС отказывается что-то сделать, то она сообщает код ошибки (а rm просто преобразует код в текст по таблице кодов ошибок и выводит пользователю). И среди прочих есть код «каталог не пуст» (а ядро ОС без всяких прав доступа всегда знает пуст каталог или нет). Это ограничение не команды rm, а системной функции ОС, которая удаляет каталоги - она требует, чтобы каталог был пуст (иначе нужно рекурсивно пройтись по каталогу и сначала удалить все файлы - это делает опция -r). В винде, если что, такое же ограничение.

Исходная версия KivApple, :

На самом деле rm ничего не проверяет. Он просто просит ОС удалить каталог. Если ОС отказывается что-то сделать, то она сообщает код ошибки. И среди прочих есть код «каталог не пуст» (а ядро ОС без всяких прав доступа всегда знает пуст каталог или нет). Это ограничение не команды rm, а системной функции ОС, которая удаляет каталоги - она требует, чтобы каталог был пуст (иначе нужно рекурсивно пройтись по каталогу и сначала удалить все файлы - это делает опция -r). В винде, если что, такое же ограничение.