Mac OS X에서 디렉토리 하드 링크 만들기
이 질문에 이미 답변이 있습니다.
Mac OS X에서 디렉토리에 대한 하드 링크를 생성하려면 어떻게해야합니까?
이 기능은 Mac OS X v10.5 (Leopard) (타임머신 용) 의 파일 시스템에 추가 되었지만 명령 줄에서 실제로 사용하는 방법에 대한 정보를 찾을 수 없습니다.
불행히도 애플은 ln
명령 을 무력화시켰다 . 다음 프로그램을 사용하여 디렉토리에 대한 하드 링크를 만들 수 있습니다.
#include <unistd.h>
#include <stdio.h>
int main(int argc, char* argv[]) {
if (argc != 3) {
fprintf(stderr,"Use: hlink <src_dir> <target_dir>\n");
return 1;
}
int ret = link(argv[1],argv[2]);
if (ret != 0)
perror("link");
return ret;
}
하드 링크 된 디렉토리가 동일한 상위 디렉토리에 있지 않을 수 있으므로 다음과 같이 할 수 있습니다.
$ gcc hlink.c -o hlink
$ mkdir child1
$ mkdir parent
$ ./hlink child1 parent/clone2
누구든지 관심이 있다면 Git 저장소에 제안 된 답변을 묶었습니다. https://github.com/selkhateeb/hardlink
설치되면 다음을 사용하여 하드 링크를 만듭니다.
hln source destination
또한 unlink
명령이 Mac OS X v10.6 (Snow Leopard)에서 작동하지 않는다는 것을 알았 으므로 연결 해제 옵션을 추가했습니다.
hln -u destination
Hardlink를 설치하려면 Homebrew를 사용 하고 다음을 실행하십시오.
brew install hardlink-osx
연결된 다른 디렉토리의 내용을 제거하지 않고 디렉토리에 대한 하드 링크를 제거하는 방법에 대한 the_undefined의 질문에 대한 답변 : 내가 말할 수있는 한, 내장 명령을 사용하여 명령 줄에서 수행 할 수 없습니다. . 그러나이 작은 프로그램 (Freeman의 포스트에서 영감을 얻음)은 다음을 수행합니다.
#include <unistd.h>
#include <stdio.h>
int main(int argc, char* argv[]) {
if (argc != 2) {
fprintf(stderr,"Use: hunlink <dir>\n");
return 1;
}
int ret = unlink(argv[1]);
if (ret != 0)
perror("unlink");
return ret;
}
Freeman의 예를 따르려면
$ gcc hunlink.c -o hunlink
$ echo "foo bar" > child1/baz.txt
$ ./hunlink parent/clone2
parent / clone2에서 하드 링크를 제거하지만 디렉토리 child1
와 파일은 그대로 둡니다 child1/baz.txt
.
Another solution is to use bindfs https://code.google.com/p/bindfs/ which is installable via port:
sudo port install bindfs
sudo bindfs ~/source_dir ~/target_dir
ReferenceURL : https://stackoverflow.com/questions/1432540/creating-directory-hard-links-in-mac-os-x
'IT박스' 카테고리의 다른 글
char 배열에 저장된 기계어 코드를 호출하는 방법은 무엇입니까? (0) | 2021.01.05 |
---|---|
JavaScript는 객체 지향입니까? (0) | 2021.01.05 |
Android Lollipop 툴바 : 스크롤하는 동안 툴바를 숨기거나 표시하는 방법은 무엇입니까? (0) | 2021.01.05 |
Android Studio : 드로어 블 폴더 : 여러 dpi에 이미지를 넣는 방법? (0) | 2021.01.05 |
Javascript PascalCase를 underscore_case로 변환 (0) | 2021.01.05 |