배경:

배경:

배경:

관심이 없으시면 이 섹션을 건너뛰셔도 됩니다.

저는 보통 sudo dd if=/dev/sdc1 of=~/Document/Cell\ Phone\ Files/MicroSD_Backup/$(date +%y-%m-%d).img카드리더기를 사용해 MicroSD 카드를 컴퓨터에 연결한 뒤 명령을 통해 휴대폰에 MicroSD 카드를 백업합니다.

내 MicroSD 카드에는 파티션이 하나만 있고 파일 시스템은 입니다 fat32. GBK따라서 중국어 파일 이름은 GBK 인코딩을 사용하고 영어 파일 이름은 ASCII 인코딩을 사용합니다.

MicroSD 카드의 최신 이미지를 만든 후 포맷하고 최신 이미지에 있는 쓸모없는 파일을 삭제하고 싶었습니다.

설명하다:

img 파일에는 gbk 파일 이름과 ascii 파일 이름이 포함된 파일이 포함되어 있으며 내 컴퓨터의 기본 인코딩은 UTF-8입니다. 이러한 GBK 파일 이름을 UTF-8로 변환하고 싶은데, convmv --notest -f gbk -t utf-8 *이미지 파일 마운트 디렉터리에서 명령을 실행할 때 ASCII 파일 이름을 가진 파일이 깨질까 걱정됩니다.

질문:

gbk라는 파일을 찾아 해당 경로를 명령에 파이프할 수 있습니까 convmv? 따라서 ASCII 파일 이름을 가진 파일은 보존될 수 있습니다.

답변1

제안해 주신 @SiyuanRen에게 감사드립니다. convmvASCII를 변경하지 않고 잘못된 문자를 방지하는 잘못된 문자를 처리할 수 있습니다.

이 경우에는 명령이 제대로 작동합니다 convmv -f gbk -t utf8 *.

그런데 또 다른 해결책은 -o loop,utf8이미지 파일을 마운트할 때 사용하거나 udisksctl파일 이름 인코딩을 자동으로 처리할 수 있는 것을 사용하는 것입니다.

PS의 전체적인 사용방법은 udisksctl다음과 같습니다.

# losetup --fine --show /path-to-img-file
$ udisksctl -b /the-loop-file-showed-after-former-command

그런 다음 계정 비밀번호를 입력하면 설치된 위치가 표시됩니다/

관련 정보