다양한 파일을 포함하는 두 개의 폴더가 있습니다. 첫 번째 폴더의 일부 파일은 두 번째 폴더에 정확한 사본이 있습니다. 하드 링크로 바꾸고 싶습니다. 어떻게해야합니까?
답변
리눅스를위한 4 가지 명령 줄 솔루션을 알고 있습니다. 가장 선호 rdfind
하는 옵션은 사용 가능한 모든 옵션 때문에 여기에 나열된 마지막 항목 입니다.
fdupes
- 이것은 가장 권장되거나 가장 잘 알려진 것으로 보입니다.
- 사용하는 것이 가장 간단하지만 유일한 조치는 중복을 삭제하는 것입니다.
- 복제가 실제로 중복되지 않도록하려면 (영원히 실행하지 않는 동안) 파일 간의 비교가 먼저 파일 크기, md5 해시, 바이트 별 비교로 수행됩니다.
샘플 출력 ( “show size”, “recursive”옵션 사용) :
$ fdupes -Sr .
17 bytes each:
./Dir1/Some File
./Dir2/SomeFile
하드 링크
- 이름에서 알 수 있듯이 찾은 파일을 하드 링크로 바꾸도록 설계되었습니다.
- 가지고
--dry-run
옵션을 선택합니다. - 내용을 비교하는 방법을 나타내지는 않지만 다른 모든 옵션과 달리 파일 모드, 소유자 및 수정 된 시간을 고려합니다.
샘플 출력 (두 파일의 수정 시간이 약간 다르므로 두 번째 실행에서는 무시하도록 지시합니다.)
$ stat Dir*/* | grep Modify
Modify: 2015-09-06 23:51:38.784637949 -0500
Modify: 2015-09-06 23:51:47.488638188 -0500
$ hardlink --dry-run -v .
Mode: dry-run
Files: 5
Linked: 0 files
Compared: 0 files
Saved: 0 bytes
Duration: 0.00 seconds
$ hardlink --dry-run -v -t .
[DryRun] Linking ./Dir2/SomeFile to ./Dir1/Some File (-17 bytes)
Mode: dry-run
Files: 5
Linked: 1 files
Compared: 1 files
Saved: 17 bytes
Duration: 0.00 seconds
푸딩
- 사용자가 행동 할 파일을 찾도록 만들어졌습니다. 사용할 수있는 작업이 없습니다.
- 파일 크기와 sha1 해시에 의해 비교됩니다.
- 해시를 sha256, sha384 또는 sha512로 변경할 수 있습니다.
- 바이트 단위 비교를 수행하기 위해 해시를 비활성화 할 수 있습니다.
샘플 출력 ( “재귀”옵션 사용) :
$ duff -r .
2 files in cluster 1 (17 bytes, digest 34e744e5268c613316756c679143890df3675cbb)
./Dir2/SomeFile
./Dir1/Some File
rdfind
- 옵션에는 특이한 구문이 있습니다 (
find
? 와 유사 함 ). - 중복 파일에 대한 조치 (삭제, 심볼릭 링크, 하드 링크 만들기)에 대한 몇 가지 옵션.
- 드라 이런 모드가 있습니다.
- 파일 크기, 첫 바이트, 마지막 바이트, md5 (기본값) 또는 sha1로 비교됩니다.
- 발견 된 파일의 순위는 어떤 파일이 원본으로 간주되는지 예측할 수 있습니다.
샘플 출력 :
$ rdfind -dryrun true -makehardlinks true .
(DRYRUN MODE) Now scanning ".", found 5 files.
(DRYRUN MODE) Now have 5 files in total.
(DRYRUN MODE) Removed 0 files due to nonunique device and inode.
(DRYRUN MODE) Now removing files with zero size from list...removed 0 files
(DRYRUN MODE) Total size is 13341 bytes or 13 kib
(DRYRUN MODE) Now sorting on size:removed 3 files due to unique sizes from list.2 files left.
(DRYRUN MODE) Now eliminating candidates based on first bytes:removed 0 files from list.2 files left.
(DRYRUN MODE) Now eliminating candidates based on last bytes:removed 0 files from list.2 files left.
(DRYRUN MODE) Now eliminating candidates based on md5 checksum:removed 0 files from list.2 files left.
(DRYRUN MODE) It seems like you have 2 files that are not unique
(DRYRUN MODE) Totally, 17 b can be reduced.
(DRYRUN MODE) Now making results file results.txt
(DRYRUN MODE) Now making hard links.
hardlink ./Dir1/Some File to ./Dir2/SomeFile
Making 1 links.
$ cat results.txt
# Automatically generated
# duptype id depth size device inode priority name
DUPTYPE_FIRST_OCCURRENCE 1 1 17 2055 24916405 1 ./Dir2/SomeFile
DUPTYPE_WITHIN_SAME_TREE -1 1 17 2055 24916406 1 ./Dir1/Some File
# end of file
답변
Duplicate Commander 는 Windows에서 가능한 솔루션입니다.
Duplicate Commander는 PC에서 중복 파일을 찾고 관리 할 수있는 프리웨어 응용 프로그램입니다. Duplicate Commander에는 중복에서 디스크 공간을 복구 할 수있는 많은 기능과 도구가 제공됩니다.
풍모:
Replacing files with hard links Replacing files with soft links ... (and many more) ...
답변
중복 및 동일한 파일 검색기 는 Windows의 또 다른 솔루션입니다.
중복 및 동일한 파일 검색기 (중복 검색기)는 동일한 파일에 대한 중복 파일 (복제) 및 NTFS 하드 링크를 검색하는 응용 프로그램입니다. 파일 이름에 관계없이 중복 파일 내용을 검색합니다 (진정한 바이트 간 비교가 사용됨). 이 응용 프로그램을 사용하면 중복 파일을 삭제하거나 다른 위치로 이동할 수있을뿐만 아니라 중복을 NTFS 하드 링크로 대체 할 수도 있습니다 (고유)!
답변
내 컴퓨터에는 Link Shell Extension이라는 멋진 도구가 있습니다. 하드 링크 및 심볼릭 링크를 만드는 데 유용했을뿐만 아니라 정션도 훌륭했습니다! 또한 설치 전에 이미 존재했던 링크까지도 다양한 유형의 링크를 쉽게 식별 할 수있는 사용자 정의 아이콘을 추가했습니다. 예를 들어 빨간색 화살표는 하드 링크를 나타내고 녹색 화살표는 심볼 링크 …를 나타내고 체인은 접합을 나타냅니다.
불행히도 (다양한 프로그램을 대량으로 제거 할 때) 소프트웨어를 잠시 제거한 후에는 더 이상 수동으로 링크를 만들 수 없지만 Windows가 Hard, Symbolic 또는 Junction 링크를 감지 할 때마다 아이콘이 자동으로 표시됩니다.
답변
나는 jdupes를 강력히 추천 한다 . 그것은 향상된 fdupes 포크이며 다음 을 포함합니다.
- 새로운 명령 줄 옵션의 무리 – 포함
--linkhard
, 또는-L
줄여서 - 모든 주요 OS 플랫폼에 대한 기본 지원
- 평균 속도는 fdupes보다 7 배 이상 빠르다
귀하의 질문에 대해서는을 실행할 수 있습니다 $ jdupes -L /path/to/your/files
.
프로젝트가 아직 개발 중이므로 GitHub 저장소 에서 최신 소스를 복제하고 빌드 할 수 있습니다 .
Windows 바이너리 도 제공됩니다. 패키지 이진 파일은 일부 Linux / BSD 배포판에서 사용할 수 있습니다. 실제로 처음부터 찾아 냈습니다 $ apt search
.