29

Я написал программу, которая использует функцию отображения памяти POSIX (mmap)

Программа берет файл (a.dat) и отображает его в памяти для чтения / записи.

Из-за ошибок в программе каждый раз, когда я запускаю программу, файл с какими-то странными именами (например ?d?P?^z??d?P?^z?) создано. Ошибка устранена, но я не могу удалить файлы.

Я не могу удалить его ни с помощью командной строки, ни путем выбора / удаления из оконного менеджера.

Так как мне его удалить? Я использую Ubuntu 11.04.

2 ответа2

43

rm -i -- * предложит вам удалить каждый файл. Вы можете и должны поменять '*' на более узкое соответствие, если файлов много. Параметр -- останавливает обработку, поэтому файл с именем -d будет успешно удален rm .

Я использовал это в прошлом, и это работает, пока вы не нажмете специальный символ или 2, которые ему не нравятся.

15

Вы можете использовать ls -li чтобы показать все файлы по их иноду. Затем выполните эту команду, чтобы удалить файл:

find . -inum ${INODE_NUM} -delete

Я добавил -maxdepth 1 к моей находке, чтобы быть в безопасности:

find . -maxdepth 1 -inum ${INODE_NUM} -delete

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