본문 바로가기
Server/Ubuntu

이름이 깨진 파일 제어하기

by 유주원 2015. 5. 21.

회사 업무로 방송용 TS 파일을 추출하고 있는데, 간혹 루트에 아래와 같이 인코딩이 깨진 파일이 쌓이는 것을 목격했다!!



'아 저게 무슨 파일인지 알아야겠는데... mv도 안되고 cp 안되고 rm도 안되고 -_-;;;'


파일 이름이 깨져서 그런지 도무지 접근할 방법이 없었다.

그래서 찾아본 결과 inode를 이용해서 접근할 수 있는 방법을 찾아냈다.


inode란 어떤 파일이나 디렉토리를 생성하면 그에 따른 64byte의 파일 정보 테이블이라고 생각하면 쉬울 것 같다. inode에는 파일에 대한 상세 정보를 포함하고 있기 때문에 파일 이름으로 접근이 불가능할 시 inode를 이용하여 해당 파일에 접근할 수 있다.


우선 inode를 확인해보자.


$> ls -ali


라고 치면 해당하는 inode를 식별하기 위한 inumber 값들을 확인할 수가 있다.(맨 왼쪽의 숫자)



이제 inumber를 이용해서 파일 이름을 깨지지 않은 정상 파일 이름으로 바꾸어 보자


$> find . -inum 543270 -exec mv {} origin.ts \;


파일 삭제도 가능하다.


$> find . -inum 543270 -exec rm -f {} \;