링크
링크의 개념
파일을 다른 이름으로 연결하는 명령
링크의 사용법
1
ln [options] 원본파일명 [대상파일명]
-기본적으로는 하드 링크를 생성함
--s
옵션을 사용시 심볼릭 링크가 생성됨
옵션
옵션 | full name | 설명 |
---|---|---|
-s | 심볼릭 링크를 생성하는 옵션 |
심볼릭 링크와 하드 링크 소개
구분 | full name | 설명 |
---|---|---|
하드 링크 | hard link | - 하나의 파일에 다른 이름(별명)을 부여하는 것 - 파일에만 가능하고, 디렉터리에는 불가능하다. - 이름이 하나 더 생기며, 새로 생긴 이름으로도 해당 파일을 다룰 수 있다. - 하드링크가 생성될 경우 원본 파일의 링크 카운트가 증가한다. - 동일 파일 시스템에만 링크할 수 있으며, 다른 파일 시스템에는 불가 |
심볼릭 링크 | symbolic link | - 윈도우의 바로가기와 같은 역할을 하는 독립적 파일 - 파일 및 디렉터리 모두 심볼릭 링크 가능 - 원본 파일의 링크 카운트가 늘어나지 않는다 - 원본을 삭제하거나 이름을 바꾸면 심볼릭 링크는 의미가 없어진다. |
심볼릭 링크와 하드 링크 비교
특징 | 하드링크 | 심볼릭 링크 |
---|---|---|
저장 공간 | 추가 공간 사용하지 않음 | 경로 정보만 저장, 매우 작음 |
다른 파일 시스템 지원 | 불가능 | 가능 |
디렉터리 링크 | 불가능 | 가능 |
원본 파일 삭제 시 | 데이터는 남아 있음, 하드링크를 통해 접근 가능 | 링크가 끊어져(Broken Link) 파일 접근 불가 |
속도 | 빠름 (원본과 동일한 데이터 참조) | 원본 참조를 한 번 더 따라가므로 약간 느림 |
용도 | 파일 공유 및 데이터 보존 | 파일/디렉터리의 참조 경로 제공, 경로 관리 유연성 |
예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
touch test.txt
>> -r--r--r--. 1 user user 0 Nov 24 20:39 test.txt
ln test.txt hardLnFile
ls -l
>> -r--r--r--. 2 user user 0 Nov 24 20:39 hardLnFile
>> -r--r--r--. 2 user user 0 Nov 24 20:39 test.txt
ln test.txt hardLnFile2
ls -l
>> -r--r--r--. 3 user user 0 Nov 24 20:39 hardLnFile
>> -r--r--r--. 3 user user 0 Nov 24 20:39 hardLnFile2
>> -r--r--r--. 3 user user 0 Nov 24 20:39 test.txt
ln -s test.txt symbolicLnFile
ls -l
>> -r--r--r--. 3 user user 0 Nov 24 20:39 hardLnFile
>> -r--r--r--. 3 user user 0 Nov 24 20:39 hardLnFile2
>> lrwxrwxrwx. 1 user user 8 Nov 24 20:41 symbolicLnFile -> test.txt # 심볼릭
>> -r--r--r--. 3 user user 0 Nov 24 20:39 test.txt