symlink 폴더 안에 하위 폴더를 만들 수 있지만 부모 폴더에는 추가 할 수 없습니까?


1

매우 까다로운 질문입니다. 죄송합니다.

이것에 기초

  • 폴더 A
    • file1
    • file2
  • 폴더 B (폴더 A의 심볼릭 링크 (소프트 링크))
    • file1
    • file2

내가하고 싶은 것은 내 폴더 B 안에 폴더 또는 파일을 만드는 것이지만 폴더가 폴더 A에있는 것을 원하지 않습니다.

  • 폴더 A
    • file1
    • file2
  • 폴더 B (폴더 A의 심볼릭 링크 (소프트 링크))
    • file1
    • file2
    • 새 폴더

이것이 가능합니까?

하나의 worpress 파일을 갖고 여러 사이트와 공유하고 싶지만 각 사이트에는 자체 "wp-content"및 "wp-config.php"가 있으며 각 사이트마다 www / the-site를 만들고 싶습니다 / blog (블로그)는 WP에 대한 심볼릭 링크 여야합니다 .wordpress에는 다중 사이트 옵션이 있지만 도메인에서만 작동하며 블로그 폴더 또는 whatevername 안에 있고 블로그에 리디렉션하고 싶지 않습니다. .mysite.com

요점은 워드 프레스 인스턴스를 각 사이트에 추가하는 대신 단일 인스턴스로 워드 프레스를 업데이트 한 다음 필요할 때 각 인스턴스를 업데이트하는 것입니다.

전체 폴더를 symlink하는 대신 "parent"폴더에있는 모든 파일을 symlink하려고했지만 문제는 PHP가 상대 (Folder B) 대신 "Parent"폴더 (Folder A)의 경로를 사용한다는 것입니다. 폴더 B에있는 "wp-config.php"찾기


불가능합니다. 그러나 왜이 일을하고 싶은지 말해 주면 도움이 될 방법을 찾을 수 있습니까?
Olivier Dulac

@OlivierDulac 여러 사이트와 공유하기 위해 하나의 worpress 파일을 원하지만 각 사이트마다 자체 "wp-content"및 "wp-config.php"가 있습니다. 각 사이트에서 www / site를 만들고 싶습니다 / blog (블로그)는 symlink 여야합니다
Joyal

1
다른 해결책은 폴더 B가 심볼릭 링크가 아니지만 폴더 B의 모든 파일이 폴더 A의 파일에 대한 심볼릭 링크라는 것입니다.cp -s
BatchyX

@BatchyX 솔루션은 내가 찾던하지만 슬프게도, PHP 대신 자신의 폴더 (심볼릭 링크 하나) 부모 디렉토리를 사용하고, 그래서 워드 프레스는 심볼릭 링크 폴더를 기반으로 자신의 WP-config.php에를 참가하는 것을 한
Joyal

답변:


2

그것은 불가능하다 : 만약 당신이 공통 디렉토리로 심볼릭 링크를했다면, 그 밑에 당신의 심볼릭 링크 아래의 "가상"디렉토리가 아닌, 그 공통 디렉토리에서 파일들을 추가 / 변경 / 제거하고있다.

해결책 :

필요를 충족 시키려면 : 공통 파일을 소스 파일에 대한 하드 링크로 사용하고 다른 파일을 추가하십시오.

하기 위해서:

다음과 같이 디렉토리 구조와 공통 파일에 대한 하드 링크 (심볼 링크 아님)를 작성하십시오.

cd /common/base-directory/ || exit 1
find . -depth -type f -print0 | cpio -0pdl /new/base-directory 

(cpio의 -l ( "link")는 새로운 사본 대신 HARDlink를 생성합니다)

누락 된 (새) 파일을 추가하고 기존 파일을 변경해야하는 경우 : 하드 링크 된 파일을 삭제 + 바꾸기

(즉, / common / base-directory에있는 하드 링크 된 링크). 먼저 파일 (즉, 하드 링크)을 삭제 한 다음 새 컨텐츠로 다시 작성해야합니다. 그렇지 않으면 하드 링크 된 파일을 편집하면 파일과 하드 링크 된 파일을 모두 편집하게됩니다.


이것은 매력처럼 작동했습니다!
Joyal

@Joyal : 로컬에서 파일을 편집 / 변경해야 할 때 하드 링크를 제거하는 것을 잊지 마십시오! (심볼릭 링크 더 볼 수 있습니다. 그러나, ls -al또한 당신에게 파일에 대한 링크의 수를 표시, 보통 1. 숫자가 1 위에 그렇다면, 그것은 하드 링크를 표시 ()에 의해 표시된 번호가 있습니다 ls -al이상입니다 2또한 디렉토리와 같은 디렉토리에 .두 번째로 엔트리가 하위 디렉토리가있는 경우, 그 각각은 또한라는 하드 링크가 있습니다. ..상위 디렉토리를).
올리비에 Dulac

@Joyal : 그리고 기억하십시오 : 항상 (“만약”질문에 추가하여) 당신의 필요가 무엇인지를 나타내십시오. 답은 "아니오"뿐입니다.
Olivier Dulac

3

폴더 B는 사실상 폴더 A의 별칭이므로 폴더 A에 파일 / 폴더를 추가 할 수 없습니다.

별도의 폴더를 만들고 공통 파일 (file1 및 file2)을 연결하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.