링크(Link)
- 파일의 링크는 Hard Link 와 Symbolic Link (or Soft Link) 2가지로 분류된다.
- Hard Link를 생성하려면
ln 링크대상파일이름 링크파일이름
명령을 실행한다.
(ln = link)
- 일반적으로 사용자는 주로 Symbolic Link를 주로 사용하며, Windows의 바로가기 아이콘도 Symbolic Link에 해당된다.
- Symbolic Link 생성하려면
ln -s 링크대상파일이름 링크파일이름
명령을 실행한다.
(ln -s = link symbolic)
inode
- 리눅스/유닉스 파일 시스템에서 사용하는 자료구조
- 모든 파일이나 디렉터리는 각자 1개씩의 inode가 있으며 각 inode에는 해당 파일의 정보가 있다. (소유권, 허가권, 파일종류, 실제 데이터 위치 등)
inode block
- inode가 모여있는 공간
- 일반적으로 전체 디스크 공간의 1% 차지
Data block
- 실제 데이터가 저장된 디스크 공간
- 전체 디스크 대부분 차지

Hard Link & Symbolic Link 확인
[root@localhost linktest] ln basefile hardlink
[root@localhost linktest] ln -s basefile softlink
[root@localhost linktest] ls -il
total 8
33826060 -rw-r--r-- 2 root root 62 Jul 18 18:58 basefile
33826060 -rw-r--r-- 2 root root 62 Jul 18 18:58 hardlink
33826059 lrwxrwxrwx 1 root root 8 Jul 18 19:09 softlink -> basefile
[root@localhost linktest]
[root@localhost linktest] cat hardlink
파일 링크를 실습하기 위한 원본 파일입니다.
[root@localhost linktest] cat softlink
파일 링크를 실습하기 위한 원본 파일입니다.
고찰
- basefile의 inode = hard inode = 33826060
- 원본 파일(basefile)과 hard link 파일의 크기는 61바이트로 동일
- symbolic inode = 33826059
- 원본파일 포인터를 가지기 때문에 8 바이트의 크기를 가짐
33826060 -rw-r--r-- 2 root root 62 Jul 18 18:58 basefile
33826060 -rw-r--r-- 2 root root 62 Jul 18 18:58 hardlink
- 원본파일(basefile)을 다른곳으로 이동시켜보자
- 하드 링크는 directory에서 원본파일이없어져도 아무 이상이 없음
- 심볼릭 링크는 directory에서 원본 파일이 없어지면 연결이 끊어진다.
[root@localhost linktest] mv basefile ../
[root@localhost linktest] ls -il
total 4
33826060 -rw-r--r-- 2 root root 62 Jul 18 18:58 hardlink
33826059 lrwxrwxrwx 1 root root 8 Jul 18 19:09 softlink -> basefile
[root@localhost linktest]
파일 링크를 실습하기 위한 원본 파일입니다.
[root@localhost linktest] cat softlink
cat: softlink: No such file or directory
- 원본 파일을 현재 디렉터리로 가져와서 심볼릭 링크 상태를 확인해보자
[root@localhost ~] mv basefile ./linktest
[root@localhost ~] cd linktest
[root@localhost linktest] find
.
./hardlink
./softlink
./basefile
[root@localhost linktest]
[root@localhost linktest]
total 8
67924318 -rw-r--r-- 2 root root 61 Jul 18 20:19 basefile
67924318 -rw-r--r-- 2 root root 61 Jul 18 20:19 hardlink
67924317 lrwxrwxrwx 1 root root 8 Jul 18 20:19 softlink -> basefile
[root@localhost linktest]
파일 링크를 실습하기 위한 원본 파일입니다.
참조