Переименовать файл с недействительным именем файла

У меня есть куча файлов на машине Linux, в которых используются недопустимые имена файлов. Я пробовал использовать утилиту "detox", а также convmv и recode, но они продолжают работать с ошибкой
recode: fopen (Entw�rfe): Invalid argument

Даже простой ls -la дает:

ls: cannot access 'Entw'$'\374''rfe': Invalid argument  
-????????? ? ?       ?    ?            ? 'Entw'$'\374''rfe'

Предполагается, что символом будет умляут "ü"

1
задан 7 February 2020 в 13:49
1 ответ

Об ошибке сообщает ls . Возможно, какой-то системный вызов вызывается с бессмыслицей (это может объяснить, почему BSD не подавляется, разные системные вызовы, другой код ls). Вы можете попробовать запустить этот вызов ls под strace и посмотреть, что произойдет.

Как говорится в комментарии, это выглядит как серьезное повреждение файловой системы. Лучше всего скопировать раздел (или любой другой резервный магазин)где-нибудь и запустите диагностику / отладку файловой системы / исправления. Возможно, после попытки восстановить то, что можно надежно прочитать с помощью программного обеспечения для резервного копирования или, например, смола

0
ответ дан 25 February 2020 в 23:36

Теги

Похожие вопросы