이름이 깨진 파일 제어하기

2015. 5. 21. 11:19Server/Ubuntu

회사 업무로 방송용 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 {} \;