한 디렉터리를 다른 디렉터리로 병합하는 방법은 무엇입니까?

한 디렉터리를 다른 디렉터리로 병합하는 방법은 무엇입니까?

한 디렉토리를 다른 디렉토리에 "병합"하는 방법이 있는지 알려주실 수 있나요?

즉, 하위 디렉터리/파일을 갖게 해주세요 /some/directories/structure. 이제 나는 그것을 /etc예를 들어 "포함"하고 싶습니다 . 즉, 모든 하위 디렉터리/파일을 /some/directories/structure(현재 콘텐츠를 대체해서는 안 됨 /etc) /etc또는 다른 디렉터리 에 추가해야 합니다 .

편집하다:

좋아요 이라는 디렉터리가 있다고 가정해 보겠습니다 prog. 여기에는 여러 구성 파일이 포함되어 있습니다. 프로그램을 개발할 때 이 디렉토리는 내 홈 디렉토리 어딘가에 저장되며 /etc작업 시스템 에 설치되어야 합니다 . 이제 내 프로그램을 디버깅하고 싶지만 이를 실행하려면 에서 prog사용할 수 있는 디렉터리(내 홈 디렉터리에 저장되어 있음)가 필요합니다 /etc. 따라서 내 질문은 다음과 같습니다. "가상" 방식으로 이 작업을 수행할 수 있습니까(예: 복사, 이동, prog) 에 동기화하거나 링크할 수도 있나요 /etc? 어쩌면 그것을 설치할 수 있는 방법이 있을 수도 있지만 (다시 말하지만) /etc.

/etc나에게 있어서 핵심은 이것이다: 당신에게 필요하지 않은 것을 "잊지 말라 "는 것입니다.

아... 이제 제 질문이 잘 풀렸으면 좋겠습니다. :)

답변1

나도 당신이 원하는 것이 무엇인지 완전히 이해하지 못하고, 솔직히 말해서 그것은 나에게 전혀 이해가 되지 않습니다. 하지만 당신이 인형과 마운트에 관해 이야기할 때 - 어떤 방향으로 마운트를 바인딩하는 것을 고려하고 있는 것 같나요? !

바인드 마운트란 무엇입니까?

Linux 바인드 마운트

Linux에서는 바인드 마운트를 커널 기능으로 사용할 수 있습니다. --bind 명령줄 옵션이나 바인딩 마운트 옵션을 전달하여 mount 명령을 사용하여 하나를 생성할 수 있습니다. 다음 두 명령은 동일합니다.

# mount --bind /some/where /else/where

# mount -o bind /some/where /else/where

여기서 "장치" /some/where는 디스크 파일 시스템과 같은 디스크 파티션이 아니라 기존 디렉터리입니다. 마운트 지점 /else/where는 평소와 같이 기존 디렉터리여야 합니다.

파일 시스템 유형은 어느 쪽이든 지정되지 않습니다. 바인드 마운트를 수행하는 데는 원래 마운트에서 커널 데이터 구조를 복사하는 파일 시스템 드라이버가 포함되지 않습니다.

답변2

데이터의 크기는 확실하지 않지만 rsync소스에서 대상으로 데이터를 이동할 수 있습니다. 다음 명령은 대상에서 아무것도 삭제하지 않습니다.

rsync -avz /some/directories/structure/ /etc/

다음 명령은 대상 디렉터리를 변경합니다.

rsync -av --delete /some/directories/structure/ /etc/

/etc/존재하지 않는 파일이 삭제됩니다./some/directories/structure/

답변3

당신의 의도가 무엇인지는 잘 모르겠지만 아마도 당신에게 필요한 것은 /etc의 심볼릭 링크일 것입니다. 그렇다면 문의해 주세요 man ln.

답변4

나는 이것을 바꿀 것이다. 생각되는 디렉터리 /etc/(그리고 아마도 그 디렉터리 내의 하위 디렉터리일 수도 있지만 알지는 못함)의 특정 구성 파일에 액세스하려면 개발 중인 코드가 필요합니다.

파일 시스템 수준에서 위조하는 방법을 찾는 대신 다른 많은 애플리케이션과 마찬가지로 사용자 정의 가능한 구성 디렉터리를 제공하십시오.

구성 파일이 /home/user/prog/etc/또는 에 존재한다고 애플리케이션에 알리고 /usr/local/etc/그런 식으로 디버그하세요. 구성 디렉터리를 하드코딩하는 것은 여러 가지 이유로 좋지 않습니다.

코드에서 구성을 찾는 위치를 변경할 수 있으면 액세스할 필요 없이 원하는 만큼 많은 테스트를 수행할 수 있습니다. /etc/이것이 바로 귀하가 겪고 있는 근본적인 문제인 것 같습니다.

관련 정보