이름이 깨진 파일 제어하기
2015. 5. 21. 11:19ㆍServer/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 {} \;