Ubuntu에서는 Unionfs 또는 aufs 없이 두 폴더를 가상으로 병합하는 방법이 있습니까?

Ubuntu에서는 Unionfs 또는 aufs 없이 두 폴더를 가상으로 병합하는 방법이 있습니까?

수정할 수 없는 작동 중인 소스 제어 시스템이 있고 불행한 장소에 많은 파일이 흩어져 있습니다. 내 IDE는 이러한 폴더가 통합된 위치에 있기를 원합니다. 일반적으로 모든 것을 심볼릭 링크로 연결하지만 더 나쁜 것은 일부 폴더를 재귀적으로 병합해야 한다는 것입니다. 중복되는 파일 이름은 없을 것이라고 약속합니다. 하지만 우리는 제가 직접 처리할 수 있는 것보다 더 많은 수천 개의 파일에 대해 이야기하고 있습니다.

나는 Unionfs와 aufs를 조사해 보았지만 이는 기업용 시스템이므로 커널 수정이 필요하지 않습니다(이 wang chung "시작" 문서는 말할 것도 없고).

다른 방법이 있나요?

답변1

-s어떤 도구를 사용하고 있는지, 심볼릭 링크와 어떻게 작동하는지 정확히 모르지만 심볼릭 링크(또는 원하는 경우 하드 링크)를 사용하여 옵션 ( cp또는 원하는 경우 하드 링크 )을 사용하여 -l전체 트리를 자동으로 "복사" 할 수 있습니다. ).


다음 예를 살펴보겠습니다.

.
├── 1
│ ├── s -> x
│ ├── x
│ ├── y
│ └── z
│ └── 1
└── 2
    ├── 하나
    │ └── 2
    ├── ㄴ
    └── ㄷ

현재 디렉토리에 심볼릭 링크 1/파일을 배치하려면 다음을 수행하면 됩니다.2/

cp -ans "$PWD/1/"* 2/

이제 2/다음과 같습니다:

.
...
└── 2
    ├── 하나
    │ └── 2
    ├── ㄴ
    ├──c
    ├── s -> /home/przemoc/links/1/s
    ├── x -> /home/przemoc/links/1/x
    ├── y -> /home/przemoc/links/1/y
    └── 즈
        └── 1 -> /home/przemoc/links/1/z/1

사용된 옵션 설명 cp:

  • -a또는 --archive
    속성, 링크 및 복사 디렉토리(실제로는 별칭 -dR --preserve=all) 를 재귀적으로 보존합니다.
  • -n또는 --no-clobber
    기존 파일 덮어쓰기 방지
  • -s또는 --symbolic-link
    리터럴 복사본 대신 심볼릭 링크를 만듭니다.

이 경우 "현재 디렉터리에서는 상대 심볼릭 링크만 생성할 수 있기" $PWD때문에 소스 파일 경로는 절대 경로여야 합니다(이것이 바로 제가 이 경로를 사용한 이유입니다) .cp

관련 정보