![하나의 명령으로 var/www/html에 있는 dir0/dir1의 모든 인스턴스에서 하나의 inode를 제외한 모든 inode를 삭제합니다.](https://linux55.com/image/108625/%ED%95%98%EB%82%98%EC%9D%98%20%EB%AA%85%EB%A0%B9%EC%9C%BC%EB%A1%9C%20var%2Fwww%2Fhtml%EC%97%90%20%EC%9E%88%EB%8A%94%20dir0%2Fdir1%EC%9D%98%20%EB%AA%A8%EB%93%A0%20%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4%EC%97%90%EC%84%9C%20%ED%95%98%EB%82%98%EC%9D%98%20inode%EB%A5%BC%20%EC%A0%9C%EC%99%B8%ED%95%9C%20%EB%AA%A8%EB%93%A0%20inode%EB%A5%BC%20%EC%82%AD%EC%A0%9C%ED%95%A9%EB%8B%88%EB%8B%A4..png)
나는 이 디렉토리를 가지고 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
가능하면 사용하십시오.