Skip to content

비교 및 동기화

같은 폴더의 사본 두 개(작업 폴더와 백업, 노트북과 네트워크 공유, 프로젝트와 그 압축본)를 유지할 때, Peach Commander는 무엇이 바뀌었는지 정확히 파악하고 양쪽을 다시 일치시키도록 돕습니다. 두 디렉토리를 동기화하고, 개별 파일을 한 줄씩 비교하고, 마지막 문자까지 확실히 해야 할 때 파일을 바이트 단위로 검사할 수 있습니다.

두 디렉토리 동기화

  1. 동기화할 폴더를 왼쪽 패널에, 비교 대상 폴더를 오른쪽 패널에 엽니다.
  2. 명령 ▸ Synchronize Dirs…를 선택합니다. 두 폴더 경로가 패널에서 채워집니다.
  3. 비교가 얼마나 철저해야 하는지 설정합니다. 하위 폴더 포함, (날짜와 크기뿐 아니라) 내용별 비교, 또는 수정 날짜 무시.
  4. 특정 파일만 동기화하려면 필터 마스크(예: *.jpg;*.png)를 추가합니다.
  5. 결과 그리드를 검토합니다. 각 행은 왼쪽에 파일, 가운데에 방향 화살표, 오른쪽에 대응 파일을 보여줍니다. 화살표는 무슨 일이 일어날지 알려줍니다. →는 왼쪽에서 오른쪽으로 복사, ←는 오른쪽에서 왼쪽으로 복사, =는 둘이 동일함을 의미합니다.
  6. 제안된 방향에 동의하지 않으면 개별 행을 조정한 다음, 동기화 버튼을 클릭하여 변경을 수행합니다.

두 폴더 경로와 왼쪽, 같음, 오른쪽 화살표가 있는 파일 결과 그리드가 있는 디렉토리 동기화 창 (그림: 디렉토리 동기화 창은 양쪽을 비교하고 각 파일에 대해 복사 방향을 제안합니다.)

행을 마우스 오른쪽 버튼으로 클릭하면 그 뒤의 파일을 볼 수 있습니다. 비교는 두 쪽을 나란히 열고, 왼쪽 파일 보기와 오른쪽 파일 보기는 한쪽만 뷰어에서 엽니다. 한쪽에만 있는 행, 즉 비교할 것이 없는 행에 대한 답이 바로 이것입니다. 클릭한 행에 적용할 수 없는 항목은 아무 일도 하지 않는 대신 흐리게 표시됩니다. .zip 안이나 서버에 있는 파일은 먼저 읽기 전용 임시 사본으로 풀리거나 다운로드되므로 원본은 전혀 건드리지 않습니다. 이는 비교에도 적용되어 폴더를 아카이브나 서버와 비교할 수 있습니다. 그런 쪽에서는 병합과 저장 버튼이 꺼진 채로 남습니다. 거기 열려 있는 것은 사본이기 때문입니다.

두 파일을 내용별로 비교

  1. 각 패널에서 파일 하나씩(또는 같은 패널에서 파일 두 개) 선택합니다.
  2. 파일 ▸ Compare by Content…를 선택합니다.
  3. 두 파일이 차이가 강조된 상태로 나란히 열립니다. 다음/이전 컨트롤을 사용하여 변경된 블록 사이를 이동합니다.
  4. 편집 모드를 켜면 어느 파일이든 직접 조정하고 변경 내용을 저장할 수 있습니다.

차이 나는 줄이 강조된 두 텍스트 파일을 나란히 보여주는 비교 창 (그림: 두 텍스트 파일 비교. 변경된 줄이 양쪽에 강조됩니다.)

두 파일에 차이가 전혀 없으면 창이 위쪽의 색 띠로 그렇다고 알려 줍니다. 강조 표시가 없는 표를 보고 스스로 판단하게 두지 않습니다. 어떤 파일을 아예 읽을 수 없을 때도 경고색 띠가 나타납니다. 그럴 때 차이에 대한 어떤 판정도 한 번도 이루어지지 않은 비교에 대한 주장이 됩니다. 바이트 단위 비교도 같은 이유로 같은 말을 합니다. 열 수 없는 두 파일은 동일한 두 파일이 아닙니다.

파일을 바이트 단위로 비교

두 파일이 같아 보이지만 정말로 동일함을 입증해야 하거나(또는 다른 한 바이트를 찾아야 하거나) 할 때, 이진 비교를 사용합니다. 두 파일을 16진수 보기로 표시하고 일치하지 않는 바이트를 표시하므로, 다운로드 검증, 인코딩된 데이터 확인, 정확한 사본 확인에 이상적입니다.

디렉토리 목록 비교

열려 있는 두 폴더 사이의 차이를 한눈에 발견하려면 선택 ▸ Compare Directories(Shift+F2)를 선택합니다. Peach Commander는 상대편에서 다르거나 없는 파일을 표시하므로, 평소의 복사, 이동, 삭제 명령으로 처리할 수 있습니다.

동기화에 포함할 범위 제한

마스크 필드는 파일 이름에 대한 하나의 포함 목록입니다. 그것으로 표현할 수 없는 경우, 옆의 필터… 가 세 개의 탭이 있는 시트를 엽니다. 여기서 설정한 내용은 다음 비교에 적용되며, 버튼은 활성 조건이 몇 개인지 알려줍니다. 보이지 않는 필터는 창이 완료되었다고 보고하는 동안 백업이 불완전하게 끝나는 원인입니다.

  • 제외 는 ; 또는 | 로 구분한 패턴을 받습니다. 슬래시가 없는 이름은 어느 깊이에서든 일치하고(*.tmp), 끝의 슬래시는 폴더와 그 안의 모든 것을 뜻하며(node_modules/), 슬래시가 든 패턴은 상대 경로에 일치합니다(src/*/generated). 대소문자는 구분하지 않습니다.
  • 크기 와 날짜 는 짝을 전체로 판단합니다. 한쪽이라도 범위를 벗어나면 짝 전체가 제외됩니다. 의도된 동작입니다. 한쪽에만 적용하면 짝이 한쪽만 있는 것처럼 보여 잘못된 방향의 복사로 바뀝니다.
  • 최근 N일 이내 는 프리셋을 저장한 시점이 아니라 매 비교 시점부터 셉니다. 저장한 작업은 계속 “지난 한 달”을 뜻합니다.
  • 플러그인 탭은 파일을 복사해 올 쪽에 대해 콘텐츠 플러그인에 묻습니다. 실제 파일이 필요하므로 양쪽 모두 이 Mac의 폴더일 때만 제공됩니다.

제외된 폴더는 미러 모드에서도 삭제되지 않습니다. 미러는 실제로 비교한 것만 제거합니다. 상태 줄은 실행이 할 일과 함께, 필터가 제외한 항목 수를 알려줍니다. 필터는 속한 동기화 프리셋과 함께 저장되고 불러옵니다.

두 폴더를 양방향으로 같게 유지

원래의 두 모드는 한 가지를 구분할 수 없습니다. 한쪽에만 있는 파일은 여기서 새로 생긴 것이거나 저쪽에서 삭제된 것인데, 둘은 똑같이 보입니다. 그래서 대칭 모드는 그것을 복사합니다 — 노트북에서 무언가를 지우고 동기화하면 백업에서 되돌아옵니다 — 그리고 미러 모드는 삭제하지만 한 방향뿐입니다.

양방향(기억함) 은 두 폴더가 마지막으로 일치했을 때의 상태를 기억합니다. 그 기록이 있으면 한쪽의 삭제를 다른 쪽으로 옮길 수 있습니다.

  • 한 쌍의 첫 실행에는 기록이 없습니다. 이전과 똑같이 동작하며 아무것도 삭제하지 않고, 기록을 남깁니다. 두 번째 실행부터 이 모드가 일합니다.
  • 옮겨진 삭제는 고유한 색과 ⇒🗑 로 표시되며 체크되어 있지 않습니다. 두 폴더에서 볼 수 있는 것이 아니라 앱의 기억에서 오는 유일한 행이기 때문입니다. 화살표를 클릭하면 다른 답도 고를 수 있습니다. 파일을 다시 복사하거나, 양쪽을 그대로 두는 것입니다.
  • 한쪽에서 변경되고 다른 쪽에서 삭제된 경우는 충돌이며, 삭제가 아닙니다. 양쪽에서 변경된 파일도 마찬가지입니다.
  • 비교가 확인할 수 없었던 부재를 근거로는 아무것도 삭제하지 않습니다 — 읽을 수 없는 폴더나 필터가 걸러 낸 폴더는 그 안에 무엇이 있는지에 대해 아무것도 증명하지 못합니다.
  • 이 Mac의 두 폴더만 가능합니다. 서버도 압축 파일도 안 됩니다. 압축 파일 안의 삭제는 그것을 다시 쓰고, 서버에서의 삭제는 영구적이며, 그런 것을 시도할 모드가 아닙니다.

삭제는 되돌릴 수 없습니다. 이 Mac에서는 파일이 휴지통으로 가고 Finder에서 되돌릴 수 있으며, 그것이 안전망의 전부입니다. 창의 기억… 은 앱이 기억하는 모든 쌍을 나열하고, 지금 보고 있는 쌍을 강조하며, 어느 것이든 잊게 할 수 있습니다. 그 뒤에는 그 폴더들의 다음 비교가 다시 처음처럼 동작합니다. 스스로 잊는 일은 결코 없습니다. 마운트 해제된 디스크의 폴더는 사라진 것이 아니라 연결되지 않은 것입니다.

기록은 앱 설정과 함께 있으므로, 폴더 하나를 옮기면 그 쌍에는 더 이상 이력이 없습니다 — 그리고 이력이 없는 실행은 아무것도 삭제하지 않습니다.

한 번의 실행이 무엇을 했고, 그중 무엇을 되돌릴 수 있는가

모든 동기화는 기록됩니다. 창의 실행 기록… 은 최신 순으로 나열합니다 — 언제, 어느 두 폴더, 어느 모드, 그리고 몇 개의 파일이 복사·삭제되었거나 보류되었는지 — 그리고 선택한 실행에서 각 파일에 무슨 일이 있었는지 보여 줍니다.

휴지통을 쓸 만하게 만드는 것이 바로 그 목록입니다. 이 Mac이 삭제한 파일은 휴지통으로 갔고, 실행은 어디로 갔는지를 기록해 두었습니다. 이는 들리는 것보다 중요합니다. 휴지통은 이름이 겹치면 바꿔 버리므로 두 번째 notes.txt 는 notes.txt 11-17-15-028.txt 로 들어가고, 이름으로 찾으면 엉뚱한 것을 찾게 됩니다. 휴지통에서 보기 는 Finder를 그 항목으로 곧장 데려갑니다.

되돌려 놓기… 는 실행이 삭제한 파일을 휴지통에서 꺼내어 삭제되기 전의 경로로 옮깁니다. 각각을 먼저 확인하고, 맞지 않는 것은 억지로 밀어 넣는 대신 이유와 함께 거절합니다.

  • 그 경로에 다시 무언가가 있습니다. 그대로 둡니다 — 되돌려 놓기는 결코 덮어쓸 수 없습니다.
  • 항목이 더 이상 휴지통에 없거나, 그곳으로 옮겨진 대신 영구히 삭제되었습니다.
  • 그쪽이 압축 파일이거나 서버였습니다. 압축 파일은 통째로 다시 쓰이고 서버에는 휴지통이 없으므로, 보관된 것이 없습니다.
  • 실행이 쓴 폴더가 사라졌거나 더 이상 같은 폴더가 아닙니다 — 예컨대 재사용된 마운트 지점. 그러면 일부만 처리하는 대신 실행 전체를 거절합니다.
  • 이미 되돌려 놓았습니다. 기록이 그것을 간직하므로 두 번째 시도는 아무것도 하지 않습니다.
  • 또는 기록 자체가 이 버전이 처리할 수 없는 것입니다 — 더 새로운 버전의 앱이 쓴 것이거나, 두 폴더 바깥의 경로를 가리킵니다. 드물고, 짐작하는 대신 거절합니다.

복사는 되돌릴 수 없습니다. 그것을 없앤다는 것은 그 사이에 편집했을지도 모르는 파일을 삭제한다는 뜻이고, 이는 삭제를 되돌려 놓는 것과는 정반대의 거래입니다. 그래서 앱은 그것을 제안하지 않습니다 — 실행이 어떤 파일을 복사했는지 알려 주니 직접 지우면 됩니다. 덮어쓰인 파일이 하나 남은 진짜 빈틈인데, 이제는 작습니다. 이 Mac에서는 교체된 버전이 삭제된 파일처럼 휴지통으로 가므로 휴지통에서 보기 로 찾을 수 있습니다. 압축 파일 안, 서버 위, 또는 휴지통이 없는 볼륨에서는 그럴 수 없고, 확인 창이 실행 전에 그 점을 알려 줍니다.

최근 200번의 실행, 또는 그중 64 MB 중 먼저 도달하는 쪽까지 보관됩니다. 그 이상은 새 실행이 들어올 때마다 가장 오래된 것부터 하나씩 사라지며, 잊기 와 모두 잊기 는 그 자리에서 정리합니다. 아주 큰 실행 — 2만 개가 넘는 파일 — 은 모든 문제와 휴지통에 넣은 모든 것을 남기지만 잘 지나간 복사본은 남기지 않으며, 알아차리도록 내버려 두는 대신 그렇다고 말해 줍니다. 그 삭제는 여전히 되돌려 놓을 수 있습니다. 빠진 것은 복사본이고, 복사는 어차피 되돌릴 수 없었습니다.

잊는다고 해서 폴더가 달라지지는 않습니다. 사라지는 것은 무엇을 했는지에 대한 기록이고, 그와 함께 무언가를 되돌려 놓겠다는 제안입니다. 양방향 기억과 달리 이것은 자동으로 버려집니다 — 한 쌍의 기억을 잃으면 다음 실행이 하는 일이 달라지지만, 한 실행의 기록을 잃는 것은 제안 하나를 없앨 뿐입니다.

단축키

작업 단축키
디렉토리 목록 비교(차이 나는 파일 표시) Shift+F2
내용별 비교 파일 ▸ Compare by Content…
디렉토리 동기화 명령 ▸ Synchronize Dirs…
동기화 행의 한쪽 파일 보기 행에서 오른쪽 클릭 ▸ 왼쪽 파일 보기 / 오른쪽 파일 보기

참고

  • 내용별 대 날짜/크기별. 빠른 비교는 크기와 수정 날짜로 파일을 맞추므로 빠르지만, 동일한 파일의 타임스탬프가 다를 때 속을 수 있습니다. 모든 파일을 읽는 비용을 감수하고 신뢰할 수 있는 결과를 얻으려면 내용별을 켜십시오.
  • 하위 폴더와 필터. 동기화 창은 하위 폴더로 내려갈 수 있고 필터 마스크로 제한할 수 있으므로, 관심 있는 파일 형식만 동기화할 수 있습니다.
  • 사용자가 제어권을 유지합니다. 동기화는 결코 스스로 실행되지 않습니다. 결과 그리드에서 제안된 방향을 검토하고, 무언가 복사되기 전에 그중 어느 것이든 변경할 수 있습니다. Esc 는 진행 중인 비교를 중단하고, 실행 중인 것이 없으면 창을 닫습니다.
  • 사전 설정. 자주 사용하는 동기화 구성을 저장하고 재사용할 수 있으므로, 매번 같은 옵션을 다시 입력하지 않아도 됩니다. 사전 설정은 결과 그리드가 보여 주는 것 — 방향 필터와 동일한 항목 숨기기 — 도 함께 기억하며, 창은 마지막으로 사용한 사전 설정으로 열립니다. 기본값 사전 설정은 창을 처음 열 때부터 준비되어 있으며, 그 위에 저장하면 자신의 것이 됩니다.