Назад | Перейти на главную страницу

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

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

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

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

Предполагается, что персонаж - умляут "ü"

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

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