Я новичок в UNIX (MAC OS X bourne shell POSIX), я понимаю, что rmdir
удалит только пустой каталог, но при каких обстоятельствах вы на самом деле захотите использовать rmdir <directory name>
, а не только rm -r <directory name>
? Есть ли какой-то разумный вариант использования, который я не могу оценить, и знание которого сделало бы мое программирование немного лучше, если бы я это сделал? Спасибо.
решение1
rmdir
безопаснее: он отказывается удалять каталог, если он содержит какие-либо файлы. Что делать, если вы пытаетесь удалить не тот каталог или каталог все еще содержит (возможно, скрытые) нужные вам файлы?
Это такжеисторические причины: в начале rm
программа не имела -r
переключателя, поэтому rmdir
нужно было удалить каталоги. Тогда rmdir
это была нетривиальная программа, но сегодня это просто оболочка для rmdir(const char*)
функции C.
решение2
Я использую rmdir
, когда удаляю каталог, который яожидатьбыть пустым, так что он даст сбой, если в нем еще есть файлы. Использование rm -rf
может сдуть файлы, которые я хочу сохранить, если я что-то неправильно наберу.