rmdir dir выдает ошибку «Not a directory»

date +'%m/%d/%Y' >> File2
1
10.03.2016, 09:07
2 ответа

Невозможно узнать, что произошло, учитывая, что улики теперь удалены. Ваше описание симптомов согласуется с тем, что dir2 является символической ссылкой на каталог. Символьная ссылка - это своего рода специальный файл, в котором говорится, что «настоящий файл действительно находится там». Сама символическая ссылка не является каталогом, поэтому rmdir ничего не может с ней сделать. Но доступ к содержимому символической ссылки (файлы в каталоге для символической ссылки, указывающей на каталог, содержимое файла для символической ссылки, указывающей на обычный файл) прозрачно переходит к цели ссылки, поэтому у вас не будет ничего не заметил при использовании cd dir2 или при редактировании файлов в каталоге.

Если это так (что правдоподобно, но не совсем точно!), То команда rm -r -f dir2 удаляет только символическую ссылку, а каталог, содержащий ваши изменения, все еще существует … где-то. Поскольку вы удалили ссылку, может быть трудно найти где, но вы можете попробовать найти имена файлов, которые, как вы знаете, находились в этом каталоге, с помощью команды locate или с помощью эквивалентного графического интерфейса (Spotlight? ).

В будущем запустите

ls -ld dir2

. Это сообщит вам, что это за файл dir2 . Если строка начинается с d , это каталог. Если строка начинается с l , это символическая ссылка, а в выходных данных указывается, на что она указывает (часть после -> ).

4
27.01.2020, 23:13

Если вы выполните ls -ld dir2, это должно многое рассказать о ситуации.

Это может быть симлинк или странный тип файла. Я знаю, что на данный момент мы предполагаем, что это каталог, но есть и другие варианты. Это может быть даже потерянный ресурс automount.

Также попробуйте выполнить file dir2. Если это не настоящий каталог, то, скорее всего, вы увидите ошибку при rmdir.

3
27.01.2020, 23:13

Теги

Похожие вопросы