Чтобы удалить каталоги, вам нужно использовать команду rmdir
вместо rm
. Я узнал, что Unix видит все как файл. Так по какой причине rm
не может удалить файл любого типа?
1 ответ
2
Почему вы не должны удалять каталог «как если бы это был файл», если он не пустой, кажется довольно очевидным: тогда файлы в этом каталоге не будут иметь правильный путь. Это объясняет, почему вам нужно либо рекурсивно удалить (-r
), либо проверить, что каталог пуст перед удалением (rmdir
, или, в некоторых ветвях Unix, rm -d
).
Согласно Википедии со ссылкой на справочную страницу Unix 8 rm, в некоторых старых версиях Unix команда rm
бы каталоги, если бы они были пустыми, так что это скорее выбор взаимодействия с пользователем некоторых версий Unix, чем требование.