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

Удалить поврежденный файл с неправильным именем Linux

Вчера вечером у меня был заблокирован сервер Dovecot, и он повредил файл в почтовой папке пользователя. В имени файла теперь есть специальные символы, и его нельзя удалить, все инструменты командной строки говорят, что файл не может быть найден, даже если он отображается с помощью команды LS.

1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W11473:2,Sc

В названии можно увидеть специальные символы, такие как «Ώ» или «Έ».

Кажется, я не могу найти способ удалить этот файл.

я должен сделать fsck?

РЕДАКТИРОВАТЬ 1:

В итоге я создал новый каталог cur и переместил в него все хорошие электронные письма. Я переименовал старый каталог "cur" в "bad cur"

Я пробовал следующее ...

sh-3.2# rm -rf badcur
rm: badcur: Directory not empty
sh-3.2# cd badcur
sh-3.2# ls
1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W?11473:2,Sbc
sh-3.2# rm -rf 1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W?11473:2,Sbc
sh-3.2# ls
1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W?11473:2,Sbc
sh-3.2# ls -i
ls: 1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W11473:2,Sbc: No such file or directory
sh-3.2#  

Вы можете попробовать использовать -i который задаст вам вопрос

rm -i 1386141318.M854059P*
rm: remove regular file '1386141318.M854059PΈ3Ώ62.email.vantagetitle.com,S?11304,W11473:2,Sc'?

и ответ y


Вы можете удалить файл, используя его номер inode. использовать ls -li чтобы получить номер inode файла. Когда он у вас есть, используйте find, чтобы удалить его

find . -inum <inode number> -delete

Самый простой способ решить эту проблему - использовать двойное тире (-) после rm.

# rm -- 1386141318.M854059P*

Двойное тире сообщает команде rm, что вы закончили передачу командных переключателей, и далее следует то, над чем она должна работать.

-Скотт

Если есть, вы можете просматривать каталог с помощью Полуночный командир.

Войти mc, используйте клавиши со стрелками для выбора файла, а затем нажмите F8 удалить это

Звук не работает, отключите файловую систему и запустите правильную версию fsck для вашей файловой системы.

Наверное fsck.ext3 /dev/sdaN

Запустить df . в каталоге, если вы не знаете, в какой файловой системе вы находитесь.

Бегать mount если вы не знаете правильный тип файловой системы.

Если у вас есть графический интерфейс, попробуйте удалить файл с помощью графического интерфейса.

Я по ошибке пытался tar xvf ZIP-файл Windows. Он выдал кучу ошибок, а затем у меня был этот 0-байтовый файл вместо извлеченных файлов с сумасшедшим длинным именем с вопросительными знаками, представляющими непечатаемые символы / значения.

Я использовал стандартный инструмент просмотра файлов с графическим интерфейсом пользователя в Gnome, чтобы отправить файл в корзину, а затем отправился в корзину, используя графический интерфейс, чтобы окончательно удалить файл, на случай, если файл может вызвать какие-либо ошибки, оставаясь в папке. Мусор.