Как удалить файл со странным именем?
Я написал программу, которая использует функцию отображения памяти POSIX (mmap
)
Программа берет файл (a.dat
) и карты памяти для чтения / записи.
Из-за ошибок в программе, каждый раз, когда я запускаю программу файл с некоторыми странными именами (например, ?d?P?^z??d?P?^z?
) создано. Ошибка устранена, но я не могу удалить файлы.
Я не могу удалить его ни с помощью командной строки, ни путем выбора / удаления из оконного менеджера.
Так как мне его удалить? Я использую Ubuntu 11.04.
2 ответа
rm -i -- *
предложит вам удалить каждый файл. Вы можете и должны поменять '*' на более узкое соответствие, если файлов много. --
останавливает обработку параметров, поэтому файл с именем -d
будет удален rm
успешно.
Я использовал это в прошлом, и это работает, пока вы не нажмете специальный символ или 2, которые ему не нравятся.
Ты можешь использовать ls -li
показать все файлы по их индоду. Затем выполните эту команду, чтобы удалить файл:
find . -inum ${INODE_NUM} -delete
я добавил -maxdepth 1
к моей находке, чтобы быть в безопасности:
find . -maxdepth 1 -inum ${INODE_NUM} -delete
Разве не сработает простой поиск / подтверждение файлов по шаблону и rm?
find . -maxdepth 1 -name "*P*d*P*z" -exec ls -a {} \;
find . -maxdepth 1 -name "*P*d*P*z" -exec rm {} \;