Отформатированный в HFS + диск, подключенный к Ubuntu через подставку SATA / USB.
Файл fsck.hfsplus не сообщает о проблемах с разделом.
Попытка запустить "ls" (или что-нибудь еще) для затронутых файлов приводит к "отсутствию такого файла или каталога". Запуск "ls -lh" в папке контейнера вызывает ту же жалобу, но по-прежнему показывает файл в списке, но в следующем формате:
-rw-r--r-- 1 501 dialout 53M Mar 4 15:26 normal_file
-????????? ? ? ? ? ? uncooperative_file
Меня не беспокоит право собственности 501: dialout на другие файлы (диск это с другой машины).
Это затронуло несколько файлов. Они только кажутся файлами с Unicode и / или Emoji в названии.
Я пробовал:
Файл отображается в выводе" ls ", и завершение табуляции заполняет его в тоже. Но любое реальное взаимодействие не работает.
Кто-нибудь может дать совет? В конечном счете, я хочу иметь возможность rsync / scp этих файлов в другой ящик (который, к сожалению, не очень хорошо работает с подставкой для диска), и я решил, что возможность ls / mv будет хорошей отправной точкой.
РЕДАКТИРОВАТЬ: Использование bash.Завершение табуляции заполняет полное имя файла, хотя и с некоторыми '???' вместо определенных символов (на данный момент не уверены в исходных символах). Локаль в исходном коде:
LANG=en_CA.UTF-8
LANGUAGE=en_CA:en
LC_CTYPE="en_CA.UTF-8"
LC_NUMERIC="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_COLLATE="en_CA.UTF-8"
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES="en_CA.UTF-8"
LC_PAPER="en_CA.UTF-8"
LC_NAME="en_CA.UTF-8"
LC_ADDRESS="en_CA.UTF-8"
LC_TELEPHONE="en_CA.UTF-8"
LC_MEASUREMENT="en_CA.UTF-8"
LC_IDENTIFICATION="en_CA.UTF-8"
LC_ALL=
macOS может кодировать имена файлов в UTF16 на HFSplus, и это означает, что вам не повезло, поскольку в Linux нет локалей UTF16. По сути, ваш язык — UTF8, и он не показывает определенные символы, есть большая вероятность, что это символы UTF16.
Мне вас жаль.