개발/Linux

linux - 파일 생성 3 (ln)

잇(IT) 2022. 3. 3. 14:47
728x90

4.1.4.8 ln

 

ln (link) : inode number가 동일한 완벽하게 같은 파일을 생성한다.

ln [원본 파일] [사본 파일] : hard link로 사본 파일 생성

ln -s [원본 파일] [사본 파일] : symbolic link로 사본 파일 생성

ln hard linksymbolic link 두가지가 존재한다.

 

hard link : 원본 파일과 사본 파일의 inode number가 동일하다. , 원본 파일이 삭제되어도 사본 파일은 삭제되지 않는다.

symbolic link : 원본 파일과 사본 파일의 inode number가 다르다. 사본 파일은 pointer를 이용하여 원본 파일의 위치 주소를 가지고 있다. 원본 파일이 삭제 될 경우 사본 파일도 존재하지 않는 파일로 인식되며 기존의 원본 파일과 동일한 이름의 파일이 다시 생성되면 자동으로 링크가 연결된다.

링크가 되어있는 파일들은 변경되면 같이 바뀐다.

 

원본 파일인 a.txt를 기준으로 hard link로 만든 aa.txt파일의 경우 inode number가 같은 것을 알 수 있다.

원본 파일인 a.txt를 기준으로 symbolic link로 만든 aaa.txt파일의 경우 inode number가 다른 것을 알 수 있다.

aa.txt aaa.txt a.txt와 링크 되어 있기 때문에 파일 내용이 변경되면 똑같이 변경 되는 것을 알 수 있다.

 

원본 파일인 a.txt를 삭제하게 되면 hard link 파일인 aa.txt는 남아 있지만 symbolic link 파일인 aaa.txt 파일은 존재하지 않음을 알 수 있다.

 

a.txt 파일을 다시 생성하게 되면 기존의 hard link 파일로 생성했던 aa.txtinode number가 다른 새로운 파일이 생성되었음을 알 수 있다. 또한 symbolic link로 연결된 aaa.txt파일과는 다시 링크가 된 것을 확인 할 수 있다.

 

728x90

'개발 > Linux' 카테고리의 다른 글

linux - Archive  (0) 2022.03.03
linux - 기본 디렉토리  (0) 2022.03.03
linux - 파일 생성 2 (rm, cd, cp mv)  (0) 2022.03.03
linux - 파일 생성 (touch, cat, vi)  (0) 2022.03.03
linux - mkdir, rmdir  (0) 2022.03.03