Чтобы удалить каталоги, вам нужно использовать команду rmdir вместо rm . Я узнал, что Unix видит все как файл. Так по какой причине rm не может удалить файл любого типа?

1 ответ1

2

Почему вы не должны удалять каталог «как если бы это был файл», если он не пустой, кажется довольно очевидным: тогда файлы в этом каталоге не будут иметь правильный путь. Это объясняет, почему вам нужно либо рекурсивно удалить (-r), либо проверить, что каталог пуст перед удалением (rmdir , или, в некоторых ветвях Unix, rm -d).

Согласно Википедии со ссылкой на справочную страницу Unix 8 rm, в некоторых старых версиях Unix команда rm бы каталоги, если бы они были пустыми, так что это скорее выбор взаимодействия с пользователем некоторых версий Unix, чем требование.

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