В моей корзине есть странный файл, который не исчезает, когда я очищаю корзину. Имя файла выглядит так:
␀␀␀õ␀␀.õ␀
Этот файл, очевидно, находится в / Volumes / NO NAME / .Trashes / 501 / («NO NAME» - это том моего загрузочного лагеря Windows, поэтому я даже не уверен, почему у него есть каталог .Trashes. Если я пытаюсь «ls» этот файл, или даже этот каталог, я получаю:
ls: \004␀␀␀õ\001␀␀.õ\001␀: File name too long
То же самое происходит, если я пытаюсь использовать "sudo ls -le", "sudo ls -la" или "sudo ls -i".
И подобные результаты, когда я пытаюсь найти его или даже "найти. -Type f -print0 | sudo xargs -0 rm"
Как я могу избавиться от этого?
было бы хорошо проверить разрешения для этого, что вы получаете за ls -le?
cobbal 15 лет назад
0
@cobbal, вы заметите, что я уже упоминал использование sudo, чтобы попытаться удалить его, верно?
Paul Tomblin 15 лет назад
0
Это работает, (возвращает ['\ x04 \ xe2 \ x90 \ x80 \ xe2 \ x90 \ x80 \ xe2 \ x90 \ x80o \ xcc \ x83 \ x01 \ xe2 \ x90 \ x80 \ xe2 \ x90 \ x80.o \ xcc \ x83 \ x01 \ xe2 \ x90 \ x80 ']), но я не знаю python, поэтому я не знаю, как использовать его, чтобы отсоединить файл. Я думаю, мне придется попробовать это в Perl.
Paul Tomblin 15 лет назад
0
Perl, похоже, не делает этого. sudo perl -e 'opendir DIR, "."; while ($ line = readdir (DIR)) 'заканчивает перечислять файл, но не удаляет его.
Paul Tomblin 15 лет назад
0
Результат от попытки удалить его в python: Traceback (последний вызов был последним): File "", строка 1, в OSError: [Errno 63] Имя файла слишком длинное: '/ Volumes / NO NAME / .Trashes / 501 / \ x04 \ xe2 \ x90 \ x80 \ xe2 \ x90 \ x80 \ xe2 \ x90 \ x80o \ xcc \ x83 \ x01 \ XE2 \ x90 \ x80 \ XE2 \ x90 \ x80.o \ XCC \ x83 \ x01 \ XE2 \ x90 \ x80'
Paul Tomblin 15 лет назад
0
3
mark4o
У этого человека возникла та же проблема, и он исправил ее, выполнив проверку диска в Windows.
Удивительно, что у них тоже было почти одинаковое поддельное имя. Я думаю, что в драйвере файловой системы Mac OS FAT32 должна быть ошибка, позволяющая создать файл, который невозможно создать в файловой системе FAT32.
Paul Tomblin 15 лет назад
0
Затем используйте find для удаления по inode (скажем, я хотел удалить mb.log сверху):
find . -inum 694719 -exec rm {} \;
К сожалению, "ls -i" имеет ту же проблему: ls -i ls: \ 004␀␀␀õ \ 001␀␀.õ \ 001␀: слишком длинное имя файла
Paul Tomblin 15 лет назад
0
1
jwaddell
Вы можете попробовать загрузиться в Windows и посмотреть, сможет ли он удалить файл (при условии, что он действительно его увидит).
Windows не будет читать раздел HFS + без помощи проприетарных инструментов. Чтобы добавить оскорбление раны, это только для чтения.
LiraNuna 15 лет назад
0
Он сказал, что это был его загрузочный лагерь, поэтому он должен быть доступен для чтения Windows.
mark4o 15 лет назад
1