Ответ 1
Кроме того, что unlink является unix-специфичным (как указано Chris), мы читаем в руководстве POSIX:
Если путь не указан в каталоге, remove (путь) эквивалентен unlink (path). Если путь указывает каталог, remove (путь) эквивалентен rmdir (путь).
Что касается переданного каталогом unlink
, мы читаем:
Аргумент path не должен указывать каталог, если процесс не имеет соответствующих привилегий, а реализация поддерживает использование unlink() в каталогах. (...) Приложения должны использовать rmdir() для удаления каталога.