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