이제 나는 이것을 사용한다
ln -s /dir/* /dir2/
dir
이렇게 하면 모든 것이 심볼릭 링크되지만 폴더도 심볼릭 링크되어 있으므로(예상되는 대로) 들어가서 새 디렉터리를 만들어야 합니다 .
그래서 이것이 제가 달성하고 싶은 것입니다. 모든 파일을 심볼릭 링크하고, 폴더가 있으면 동일한 이름의 디렉터리를 만들고 해당 폴더 내외의 파일을 심볼릭 링크하는 것입니다.
플래그 cp
가 있는 GNU 와 마찬가지로 .-al
brew install coreutils
gcp -al /dir1/ dir2/
이것은 심볼릭 링크 대신 하드 링크라는 점을 제외하면 내가 원하는 것을 수행합니다.
답변1
파일 처리와 디렉터리 처리를 분리해야 한다고 생각합니다. 먼저 목차를 만들어 보세요. GNU 세계에서는:
cd /dir2
find /dir -mindepth 1 -maxdepth 1 -type d -exec mkdir {} \;
그런 다음 심볼릭 링크:
find /dir -mindepth 1 -maxdepth 1 -type f -exec ln -s -t /dir2 {} +