수정할 수 없는 작동 중인 소스 제어 시스템이 있고 불행한 장소에 많은 파일이 흩어져 있습니다. 내 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