공간을 절약하기 위해 많은 파일이 하드 링크되어 있고 많은 양의 데이터(1TB 이상)가 포함된 디렉터리를 정리하려고 합니다. 어떤 맥락에서 이것은 빌드를 보관하는 드라이브이고 각 빌드에 많은 미디어(수 GB)가 있으므로 파일이 이전 빌드 제품과 동일한 경우 파일을 하드 링크합니다. 나는 이 디렉토리를 삭제하는 것이 매우 느리다는 것을 발견했습니다(초당 최대 5개 항목).
내 생각엔 각 파일에 대한 하드 링크가 너무 많아 삭제하는 데 시간이 너무 오래 걸리는 것 같습니다. 이 프로세스 속도를 높이기 위해 할 수 있는 일이 있습니까? 아니면 5/초에 수백만 개의 항목을 삭제하는 데 어려움을 겪고 있습니까?
답변1
find . -inum [inode-number] -exec rm -i {} \;
이 명령은 제거할 수 있는 inode 번호를 찾아 참조된 데이터를 해제합니다.
테스트할 수 있도록 대화형 플래그를 지정했습니다.
ls -il
아, inode 번호를 얻으려면 이름과 inode 번호를 함께 반환하는 방법을 사용할 수 있습니다 .
inode로 직접 파일을 제거할 수 있다면 개선이 되겠지만 그렇게 할 수 있는 방법을 모르겠습니다.