왜 phpMyAdmin-Version-XYZ.zip을 찾을 수/rm -iname '*phpmyadmin' 삭제할 수 없습니까?

왜 phpMyAdmin-Version-XYZ.zip을 찾을 수/rm -iname '*phpmyadmin' 삭제할 수 없습니까?

다음 코드가 있습니다.

find ./ -iname '*phpmyadmin' -exec rm -rf {} \;

라는 디렉토리를 삭제 phpmyadmin하지만확실히이름이 지정된 파일 삭제phpMyAdmin-Version-XYZ.zip

삭제하더라도 -rf여전히 삭제되지 않습니다(아마도 -iname이 대소문자에 영향을 주지 않는 두 번째 문제 때문일 것입니다).

  1. 단일 rm(파일, 디렉터리, 소프트 링크)에서 inode를 삭제할 수 있는 방법이 있습니까?
  2. 추가해도 -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 디렉토리를 생성하는 경우에도 작동합니다.

관련 정보