본문 바로가기
컴퓨터/리눅스

convmv : 파일 이름의 encoding 을 변환

by adnoctum 2010. 10. 18.

   삼바 등으로 연결해 사용할 경우, 특히 윈도우즈에서 만든 파일 이름에 한글이 들어가는 경우 encoding 이 맞지 않으면 리눅스 쪽에서 보면 파일 이름이 깨져버리는 경우가 생긴다. putty 의 encoding 옵션과는 상관없이 볼 수 없게 되는데, 그럴 때는 적당한 encoding 으로 파일 이름을 변환해야 한다. 그러한 기능을 하는 프로그램이 convmv 이다. 형식은 매우 간단한데,

convmv {-r} -f encoding -t encoding files {--notest}

이 때, -r 이 없으면 files에 대해서만 실행하고, 그 안의 하위 경로에 대해서는 실행하지 않는다. 또한 convmv 는 기본적으로 주어진 파일 이름들이 어떻게 변환될 것인지를 출력하기 때문에 실제로 파일 이름을 변환해 주고자 한다면 --notest option 을 지정해 주어야 한다.

역시 -f 다음에 나오는 encoding 은 원래의 encoding 이고, -t 다음은 변환시킬 encoding 이다. 예를 들면,

convmv -r -f cp949 -t utf-8 ./test --notest

를 하면 test 라는 경로와 하위에 있는 모든 파일에 대하여 변환을 시도하게 된다.