cp: невозможно указать ошибку - когда имя файла содержит азиатские символы

722
Abhinav

Я просто пытаюсь скопировать файлы с помощью, cp -r /home/user/source/ /home/user/destination/но он выдает cp: cannot stat /source/filename.xxx ошибку для некоторых файлов. Когда я искал эту ошибку, я нашел несколько совпадающих вопросов, таких как эта, эта и эта, которые хотя и выдают одну и ту же ошибку по cpкоманде, но причины разные. Их решения не решают мою проблему.

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

cp: cannot stat /source/고정폭.collection

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

РЕДАКТИРОВАТЬ 1: выход моего locale

LANG=en_US.UTF-8 LANGUAGE=en_US LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= 

РЕДАКТИРОВАТЬ 2: Вывод ls -lв исходном каталоге

ls: cannot access 고정폭.collection: No such file or directory ls: cannot access 기존.collection: No such file or directory ls: cannot access 모던.collection: No such file or directory ls: cannot access 웹.collection: No such file or directory ls: cannot access 재미.collection: No such file or directory total 4 -????????? ? ? ? ? ? 웹.collection -????????? ? ? ? ? ? 기존.collection -????????? ? ? ? ? ? 모던.collection -????????? ? ? ? ? ? 재미.collection -????????? ? ? ? ? ? 고정폭.collection -rw------- 1 root root 856 Jul 24 2007 PDF.collection 
1
В какой файловой системе хранятся эти файлы? Это, случайно, NTFS (Windows)? rici 9 лет назад 0
источник ext2 / ext3, пункт назначения hfs + Abhinav 9 лет назад 0
Ах. И вы используете Linux, а не Mac OS X, верно? rici 9 лет назад 0
@rici да, я Abhinav 9 лет назад 0
Как вы создали эти файлы в первую очередь? Возможно, у меня есть объяснение имен файлов, не работающих на HFS +, но я не понимаю, почему они вызывают проблемы в ext4. rici 9 лет назад 0
Я пытаюсь поставить новую установку OSX на iMac (к сожалению, это мой единственный вариант сейчас). Я получил установочный usb, сделанный на системе Mac ранее. Это не сработало. Я решил скопировать содержимое с USB (система hfs +) в моей системе (ext4), а затем стереть USB и создать загрузочный USB для iMac на моем компьютере с Linux. Итак, суть в том, может ли это произойти, потому что я сначала сделал копию из `hfs + -> ext4`, а затем стер USB и, пока делаю загрузочный USB, снова пытался скопировать содержимое из` ext4 -> hfs + `? Abhinav 9 лет назад 0
Да, это возможно. HFS + требует, чтобы имена файлов хранились в своеобразной нормализации разложения; Хангул (корейский) будет разложен. На самом деле, ext4 не имеет никаких ограничений на имена файлов, но кажется, что где-то в API, разложенные имена восстанавливаются, а составные имена не соответствуют исходным именам файлов. Если вам не нужен корейский MacOSX, несуществование файлов не должно иметь значения, и вы можете продолжить, не беспокоясь о файлах, которые не копируются, но не обещают. rici 9 лет назад 0
@rici хорошо, позвольте мне попробовать это таким образом Abhinav 9 лет назад 0

0 ответов на вопрос