본문 바로가기

IT노트(구)/Linux/Unix

리눅스에서 특수 문자가 포함된 파일 깔끔하게 삭제하는 방법(inum 기반)

특수 문자가 포함된 파일을 삭제하려면(공백이거나 깨졌거나 등)

가장 깔끔한 방법은 inum 기반으로 지우는 것이다!

일단 ls -li를 쳐보자.(i 옵션)

그러면 다음과 같이 왼쪽에 숫자가 나온다.(이를 inode number라고 한다! inum은 고유하기 때문에 키를 기반으로 파일을 삭제하면 되는 것이다!) 


526016 -rwxr-xr-x. 1 root root  68  3월 30  2015 ~1꿹35.sh
526011 -rwxr-xr-x. 1 root root  72  3월 30  2015 test01.sh
526014 -rwxr-xr-x. 1 root root  54  3월 30  2015 test02.sh


526016을 지우는 것이 목표이므로(~1꿹35.sh)

이제 다음과 같은 커맨드를 날리면 된다!(리눅스에서 정말 자주 사용하는 패턴의 커맨드이다!)


find . -inum 526016 -exec rm -rf {} \;



무작성 rm -rf를 날리기가 불안하다면(이 심정 정말 공감한다!)

먼저 확인해보고 지워도 된다!(rm -rf 대신에 ls를 치면 된다!)


다음 커맨드를 날려서 삭제 대상을 먼저 확인할 수 있다!(신중해서 나쁠 것은 없다! 확인하고 지우기를 적극 권장한다!)


find . -inum 526016 -exec ls {} \;