태그 보관물: filesystems

filesystems

모든 중복 파일을 하드 링크로 바꾸는 방법은 무엇입니까? 파일은 두 번째

다양한 파일을 포함하는 두 개의 폴더가 있습니다. 첫 번째 폴더의 일부 파일은 두 번째 폴더에 정확한 사본이 있습니다. 하드 링크로 바꾸고 싶습니다. 어떻게해야합니까?



답변

리눅스를위한 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) ...

Linux의 경우 여기 에서 Bash 스크립트를 찾을 수 있습니다 .


답변

중복 및 동일한 파일 검색기 는 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.


답변