필자는 필연적으로 실패로 끝나거나 내 Mac에서 마우스를 던지려는 프로그래밍 여정을 시작하려고합니다. 흥미로운 문제.OS X 용 중복 제거 응용 프로그램 구축 파일 용 해시로 사용해야 할 내용 및 내용
일부 기본 디렉토리에서부터 시작하여 반복적으로 각 응용 프로그램을 반복하는 응용 프로그램을 빌드하고 정확한 중복 파일을 찾으면 삭제하고 심볼릭 링크를 만듭니다. 기본적으로 빈약 한 사람은 중복 제거를 수행합니다. Mac에서 중복 파일이 많아서 디스크 공간을 비워야하기 때문에 실제로 문제가 해결되었습니다. 내가 읽은 내용에서
이는 전략이다 : 재귀를 통해
루프, 각 파일의 해시를 생성합니다. 해시는 매우 고유해야합니다. 이것이 첫 번째 문제입니다. 어떤 해시를 사용해야합니까? 이 마법의 해시를 통해 각 파일의 전체 바이너리 내용을 어떻게 실행합니까?
각 파일 해시 및 전체 경로를 키/값 저장소에 저장합니다. 나는 redis가 그것의 속도 때문에 우수한 적합하다고 생각하고 있습니다.
키/값 저장소를 반복하고, 중복 된 해시를 찾고, 중복 된 파일을 삭제하고, 심볼릭 링크를 만들고, 키/값 저장소의 행에 복사본으로 플래그를 지정하십시오.
내 질문은 따라서이다 : 나는 각 파일에 대해
- 무엇 해싱 알고리즘을 사용한다? 어떻게 이뤄지나요?
- node는 일반적으로 I/O 유형의 항목에서 빠르기 때문에 node.js를 사용하려고 생각합니다. 문제는 노드가 CPU 집약적 인 것을 빨기 때문에 해싱이 병목 현상이 될 것입니다.
- 다른 누락 된 부분이 있습니까?
Mac OS X에서 유닉스 여행을 시작하는 것이 좋습니다. 'dedup'을 위해 지정된 폴더를 모니터링하는 자율적 인 데몬을 빌드하는 데 필요한 모든 것이 있습니다. +1 ~ SHA-1. – alphazero