한계
: 하나의 inode는 하나의 파일 시스템에서 유일하기 때문에 다른 파일 시스템과 하드링크를 할 수 없다. 리눅스에서 ln
명령어를 통해 링크파일을 만들 수 있다.
옵션을 안붙이면 hard link 파일이 생성된다.
stat
명령어로 파일의 상태를 출력해보면 기존 파일 file1과 hard link된 파일 file1_hardlink의 Inode값이 동일한것을 확인할 수 있다.
링크되지 않은 file2의 상태와 비교해봤을 때, file2는 link의 수가 1개이고, file1과 file1_hardlink 는 link수가 2개인것을 확인할 수 있다.
또한 같은 파일을 가리키고 있는 것이므로 한파일을 수정하면 다른 파일에도 수정사항이 반영된다.
ln
명령어에 -s
옵션을 통해 symbolic link 파일을 생성했다.
file1과 file_symlink의 상태를 비교해보면 두 파일의 Inode가 다른것을 확인할 수 있다. 또한 링크 수도 변화하지 않는다.
원본 파일을 삭제하면 hard link 파일은 영향을 받지 않지만 symbolic link 파일은 No such file or directory 라는 에러 메세지가 출력된다.
file1이라는 원본 파일을 삭제한 후 file1에 대한 hard linkd인 file1_hardlink로 파일을 여는데는 문제가 없지만 symbolic link인 file1_symlnk 로 파일을 열 수 없음을 보여준다.
다시 동일한 이름의 file1을 만들면 이름만 같으면 symbolic link는 연결되어 다시 symbolic link로 해당 파일을 열 수 있음이 보여진다.