2011-09-17 5 views
3

linux 또는 freebsd에서 폴더 및 하위 폴더의 모든 파일을 심볼 링크로 복사 할 수 있습니까? 수천 개의 파일을 기호 링크로 다른 위치에 복사하고 실제 파일로 2-3 개의 구성 파일 만 필요합니다. 내가이 일을하는 이유는 정확히 동일한 엔진 코드를 가지고 있지만 구성과 모양이 다른 웹 사이트가 12 개 있기 때문입니다. 엔진을 심볼릭 링크로 복사하여 원본 파일에 대한 모든 변경 사항을 다른 웹 사이트에도 적용합니다. 구성 파일이 해당 폴더에 있고 파일을 하나씩 복사 할 수 없기 때문에 엔진 폴더 자체에 대한 심볼릭 링크를 만들 수 없습니다! 분명히 실용적이지는 않습니다. 제안 사항이 있으십니까?폴더와 해당 하위 폴더의 파일을 심볼 링크로 복사하는 방법

+0

(아래 예 참조). 하위 디렉토리의 최상위 레벨을 연결할 수 있습니다. – Kent

답변

8

찾으시는 명령은 cp -rs /path/to/source dest입니다.

절대 기호 링크를 만들 수 있도록 원본 디렉토리의 전체 경로를 제공해야합니다.

+0

-rs를 시도했지만 작동하지 않았습니다. 나는 cp를 얻는다 : 불법적 인 옵션 -들. – Tohid

+0

FreeBSD는 그 옵션을 가지고 있지 않은 것처럼 보입니다. (하지만 당신 말이 맞습니다! 리눅스에서 작동합니다 – Tohid

1

이 당신이 원하는 경우 모르겠어요 : 기호 링크를 원하는 경우, 당신은 재귀 적으로 그것을 할 필요가 없습니다

dir one is your central "engine" 
dir two is one of your website. 

[email protected]:/tmp$ tree one two 
one 
|-- 1.txt 
|-- 2.txt 
|-- 3.txt 
|-- 4.txt 
|-- 5.txt 
|-- dirA 
| |-- a 
| |-- b 
| `-- c 
|-- dirB 
`-- dirC 
two 
|-- myConf_a.conf 
|-- myConf_b.conf 
|-- myConf_c.conf 
|-- myConf_d.conf 
`-- myConf_e.conf 

[email protected]:/tmp$ ln -s /tmp/one/* /tmp/two/. 

kent$ tree -l /tmp/two 
/tmp/two 
|-- 1.txt -> /tmp/one/1.txt 
|-- 2.txt -> /tmp/one/2.txt 
|-- 3.txt -> /tmp/one/3.txt 
|-- 4.txt -> /tmp/one/4.txt 
|-- 5.txt -> /tmp/one/5.txt 
|-- dirA -> /tmp/one/dirA 
| |-- a 
| |-- b 
| `-- c 
|-- dirB -> /tmp/one/dirB 
|-- dirC -> /tmp/one/dirC 
|-- myConf_a.conf 
|-- myConf_b.conf 
|-- myConf_c.conf 
|-- myConf_d.conf 
`-- myConf_e.conf  
관련 문제