2

Это не то, что я пытаюсь сделать. Я пытаюсь выяснить проблему, которая уже произошла.

Одна из наших систем LIDAR в полевых условиях возвратила диск сбора данных с дубликатами файлов. Каждый файл на диске имел второй дубликат с точно такими же именем, временем, датой и размером. Насколько я знаю, это должно быть невозможно.

Файлы записаны на ПК с Linux (CentOS 7), но они хранятся в NTFS. Это потому, что они обрабатываются на ПК с Windows. Мы использовали это программное обеспечение и использовали одни и те же типы накопителей в течение многих лет.

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

Затем я подумал, что, возможно, это была случайность с Windows File Explorer, отображающим файлы. Я заставил их вынуть диск и вставить его в другой компьютер, и он все еще показывал то же самое. Я тогда задавался вопросом, были ли скрытые персонажи. Однако, когда они передали данные на свой сервер, он распознал, что имена файлов были идентичны, и предложил им пропустить или перезаписать каждый дубликат.

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

1 ответ1

2

Я видел, как это происходило: один файл имел обычное "a" (ASCII 0x61), а другой имел очень похожую "кириллицу" (U+0430). В кириллическом алфавите есть много символов, которые выглядят точно так же, как латинские ("е", "о" - два других часто встречающихся)(*).

Один из способов определить проблему (и злодея): dir или ls в файл и посмотреть вывод с помощью шестнадцатеричного редактора (в Linux вы также можете использовать более короткую строку : ls * | hd).

IIRC также можно использовать символ Unicode "ZERO WIDTH SPACE (U+200B)" в имени файла.

(*) Я спрятал некоторые в тексте этого ответа ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .