Удалить файлы со странными именами, без имени inode и не отображаемые ls

Удалить файлы со странными именами, без имени inode и не отображаемые ls

Все началось в Windows, где я нашел на USB-накопителе несколько файлов без имени или со странными именами, которые были указаны как созданные в 1980 году и которые не могли быть удалены, как показано ниже.Пример для Windows. Сообщения об ошибках, которые я получал при попытке удалить их, были либо «Требуется разрешение», либо «Имя файла слишком длинное». Хорошо, сказал я, я перейду на 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

Думаю, самым простым решением было бы переместить все файлы, которые вы хотите сохранить, в другую папку, а затем рекурсивно удалить папку, содержащую эти странные файлы, не переходя по ссылкам.

Связанный контент