Все началось в Windows, где я нашел на USB-накопителе несколько файлов без имени или со странными именами, которые были указаны как созданные в 1980 году и которые не могли быть удалены, как показано ниже.. Сообщения об ошибках, которые я получал при попытке удалить их, были либо «Требуется разрешение», либо «Имя файла слишком длинное». Хорошо, сказал я, я перейду на Linux (на самом деле, я просто открыл терминал MobaXterm, думая, что это будет 5-секундная работа).
Я перешел в инкриминируемую папку и просто набрал
ls -l
чтобы узнать, что команда вернула имена всех остальных файлов в папке, а для файлов «из 80-х» она вывела следующее сообщение:
"ls: ./0: No such file or directory"
Такое же сообщение было показано для всех файлов из 80-х. Следуя совету с какого-то другого форума, я попытался получить имя inode для файлов с помощью
ls -li
Но (как и ожидалось) я получил номер инода для всех файлов, за исключением тех, что «из 80-х», для которых я все еще получил сообщение
ls: ./a: No such file or directory
Думая, что я умный, я попытался поработать над датой создания. Я нашел предложение о том, как удалить файлы, созданные до указанной датыздесь. Я создал файл временной метки, как и предлагалось (с той же датой); затем, в качестве проверки, я просто запустил часть поиска, не выполняя часть удаления. Я получил список из нескольких файлов старше временной метки и ряд сообщений, подобных показанному ниже
find: ./a: No such file or directory
Итак: что мне теперь попробовать? Я открыт для решений в Windows или Ubuntu.
решение1
Думаю, самым простым решением было бы переместить все файлы, которые вы хотите сохранить, в другую папку, а затем рекурсивно удалить папку, содержащую эти странные файлы, не переходя по ссылкам.