다음 코드가 있습니다.
find ./ -iname '*phpmyadmin' -exec rm -rf {} \;
라는 디렉토리를 삭제 phpmyadmin
하지만확실히이름이 지정된 파일 삭제phpMyAdmin-Version-XYZ.zip
삭제하더라도 -rf
여전히 삭제되지 않습니다(아마도 -iname이 대소문자에 영향을 주지 않는 두 번째 문제 때문일 것입니다).
- 단일 rm(파일, 디렉터리, 소프트 링크)에서 inode를 삭제할 수 있는 방법이 있습니까?
- 추가해도
-iname
효과가 없는 이유는 무엇입니까?
참고: .NET에서 "모든 inode 제거" 매개변수를 찾을 수 없습니다 man rm
.
답변1
phpmyadmin
문제는 (로 끝나는 파일을 일치시키고 있다는 것입니다.대소문자를 구분하지 않음) 패턴을 사용하여 *phpmyadmin
. 이 문자열이 포함된 파일을 얻으려면 phpmyadmin
(대소문자 구분 안 함) 다음을 사용하십시오 -iname '*phpmyadmin*'
.
find ./ -iname '*phpmyadmin*' -exec rm -rf {} \;
어쩌면 삭제하기 전에 일치하는 파일을 얻는 것이 현명할 수도 있습니다.
find ./ -iname '*phpmyadmin*'
첫 번째 질문에 답하려면 사용자 공간에는 inode를 처리할 수 있는 옵션이 없습니다 rm
.
답변2
find ./ -iname '*phpmyadmin*' -exec /usr/lib/klibc/bin/nuke {} +
이는 누군가가 -phpmyadmin 디렉토리를 생성하는 경우에도 작동합니다.