![읽기 전용 드라이브에서 '?' 및 ':'과 같은 문자가 포함된 파일을 ntfs로 복사하는 방법은 무엇입니까?](https://linux55.com/image/169841/%EC%9D%BD%EA%B8%B0%20%EC%A0%84%EC%9A%A9%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B8%8C%EC%97%90%EC%84%9C%20'%3F'%20%EB%B0%8F%20'%3A'%EA%B3%BC%20%EA%B0%99%EC%9D%80%20%EB%AC%B8%EC%9E%90%EA%B0%80%20%ED%8F%AC%ED%95%A8%EB%90%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20ntfs%EB%A1%9C%20%EB%B3%B5%EC%82%AC%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
Mac(hfs+)에서 복구된 파일 드라이브가 있고 Windows 시스템에서 액세스할 수 있도록 이를 ntfs 볼륨에 복사하려고 합니다. 안타깝게도 복사할 수 없는 문자가 포함된 파일이 꽤 많습니다.
아주 비슷한 질문이네요이것, 그러나 windows_names 옵션을 사용하고 rsync 및 iconv 옵션(utf-8 및 utf-8-mac을 다른 순서로 사용하거나 "." 사용)을 사용하여 ntfs 볼륨을 마운트하려고 시도했지만 성공하지 못했습니다. 내가 이해한 바로는 원시 파일로 드라이브에 쓸 수 없기 때문에 해독 옵션도 사용할 수 없습니다(저널링된 hfs+는 Linux에서 읽기 전용으로만 설치할 수 있습니다).
저는 Ubuntu 19.04를 사용하고 있으며 지금까지 GUI 및 rsync에서 복사를 시도했습니다.
도움이 된다면 "windows_names" 옵션을 사용하여 ntfs 드라이브를 마운트하세요.
sudo rsync --append-verify -r <source> <dest>
그리고 얻다
rsync: open "/location/Reunion??.rtf" failed: Invalid argument (22)
잘못된 문자가 포함된 파일에서.
원래 드라이브나 잘못된 문자를 허용하지 않는 대상에 쓰지 않도록 해독을 통해 파일을 파이프할 수 있는 방법이 있습니까? 모든 파일을 수동으로 변경해야 합니까? 어쩌면 정규식 스크립트 옵션이 있을까요?
답변1
이상적이지는 않지만 ext4 드라이브를 중간 위치로 사용하여 문제를 해결했습니다. hfs+ 드라이브의 파일을 ext4로 복사한 다음 detox를 사용한 다음 해당 파일을 다시 ntfs 드라이브에 복사했습니다.
답변2
관련 질문은 기본적으로 파일을 반복하고 대상 드라이브로 즉시 이름을 바꾸고 콜론 :
과 물음표를 ?
밑줄로 변경하는 사용자 정의 bash 스크립트를 사용하여 이 문제를 해결했습니다 _
.특수 문자가 포함된 파일을 USB FAT32에 동기화
쉘 스크립트에서 소스/대상 디렉토리의 이름을 간단히 바꿀 수 있습니다.