실행파일만 찾아서 지우는 방법?
글쓴이: ssk / 작성시간: 토, 2003/02/08 - 10:44오전
특정 디렉토리 아래에 있는 실행파일들만 찾아서 지우는 방법을 알고 싶습니다.
문제는, 실행파일들 중에서도 쉘스크립트나 펄스크립트 같은 것들은 지우지 말고 그냥 바이너리 실행파일만 지우고 싶거든요?
find 명령어의 옵션을 보니 퍼미션이나 atime, ctime등에 대한 검색조건은 있는데 파일이 쉘스크립트냐 펄스크립트냐 일반 바이너리 파일이냐 하는 것에 대한 검색조건은 없더군요. file명령어와 find를 어찌 조합하면 될것 같기도 한데 방법을 모르겠네요. 하나하나 찾아내기에는 시간이 너무 많이 걸리는 일이라서....
부탁드립니다....
Forums:
파이프를 이용해서 가능하지 않을까 싶네요.
find . -perm 755 -exec file {} \; | grep executable | awk -F ' ' '{printf $1."\n"}';
이런 식으로 하니깐 퍼미션이 755인것에 대해서 쉘이 아닌 실행파일들 목록을 잡아주는데 약간 수정을 해서 해 보시면 원하시는 파일들을 구할 수 있지 않을까 싶네요.
제 경우에는 awk로 rm -rf filename 형식으로 파일을 만들어 한꺼번에 어떤 일을 적용 시키곤 했습니다.
간단하게 하면
rm -rf `file *|grep ELF|awk -F: '{print $1}'`
find 옵션중에 user에게 rwx로 permission이 설정된 놈을
find 옵션중에 user에게 rwx로 permission이 설정된 놈을 찾으려면 앞에 -를 붙여주면 됩니다. 그럼 group/other의 permission은 상관없이 모두 찾아줍니다. 그리고 끝에 ":"가 붙기 때문에 떼어주어야 하네요. :o
+700 같은데요
말그대로 +700 이어야... 되지 싶은데요.
'ELF' 이나 'executable' 등의 간단한 표현식은 오류가 날 확률도 있으니
정확하게 실행 바이너리 를 표현할 만한 걸로 (위에 나와있듯이) 해야겠죠?
-------------------------------
== warning 대부분 틀린 얘기입니다 warning ===
댓글 달기