3

Я новичок в UNIX (MAC OS X bourne shell POSIX), я понимаю, что rmdir удалит только пустой каталог, но при каких обстоятельствах вы на самом деле захотите использовать rmdir <directory name> а не просто rm -r <directory name>? Есть ли интеллектуальный вариант использования, который я не могу оценить, и что знание о нем сделает мои программы немного лучше, если я это сделаю? Благодарю.

2 ответа2

7

rmdir безопаснее: он отказывается удалять каталог, если он содержит какие-либо файлы. Что делать, если вы пытаетесь удалить неправильный каталог, или каталог все еще содержит (возможно, скрытые) файлы, которые вам нужны?

Есть и исторические причины: в начале в программе rm не было ключа -r , поэтому для удаления каталогов был необходим rmdir . В то время rmdir была нетривиальной программой, но сегодня это просто оболочка для C-функции rmdir(const char*) .

3

Я использую rmdir когда удаляю каталог, который я ожидаю оставить пустым, чтобы он не работал, если в нем еще есть файлы. Использование rm -rf может привести к удалению файлов, которые я хочу сохранить, если я что-то напишу.

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