나는 이 디렉토리를 가지고 var/www/html
있고 그 아래에는 일부 웹사이트 디렉토리(예를 들어 5개 정도)가 있습니다.
5개의 웹사이트 디렉토리에는 모두 내부 경로가 있습니다 dir0/dir1
.
he_IL.mo
하나의 명령으로 경로 내의 모든 inode(명명된 inode 제외)를 일괄 삭제하는 방법은 무엇입니까 ?
다음과 같은 3개의 유효한 명령 블록이 있기 때문에 명령에 대해 질문하고 있지만 이 명령을 가능한 한 적게 사용하고 싶습니다.
(
find /var/www/html/*/dir0/dir1/ ! -name 'he_IL.mo' -type f -exec rm -f {} +
find /var/www/html/*/dir0/dir1/ -type f -exec rm -d {} +
find /var/www/html/*/dir0/dir1/ -type f -exec rm -l {} +
)
*
대신 이렇게 하면f
"한 글자만 포함해야 합니다"라는 메시지가 나타납니다.i
대신 이 작업을 수행하면f
"알 수 없는 매개변수"가 표시됩니다.
답변1
명령을 사용하려면 -type
명령에서 ,를 제거하세요. 그러면 우리는 다음을 얻습니다:
find /var/www/html/*/dir0/dir1/ ! -name 'he_IL.mo' -exec rm -f {} +
해당 이름을 가진 디렉토리와 소프트 링크도 삭제되지 않지만 he_IL.mo
가능하면 사용하십시오.