Server/Cent OS

Linux Link

heyoon2j 2019. 6. 24. 17:25

■ Link

- i-node: 파일 또는 디렉터리의 고유번호, 여기에는 파일의 허가권, 소유권, 파일의 실제 위치 등 중요한 정보들이 들어있다. 

 

[그림출처] https://www.leafcats.com/141

1) Hard Link(하드 링크)

- 같은 i-node를 가지는 링크 파일을 생성한다. 같은 i-node를 가리키고 있기 때문에, Original File을 삭제하더라도 Hard Link File은 정상적으로 Original Data를 사용할 수 있다.

=> 그렇기 때문에 파일 시스템이 다르면 적용이 되지 않는다. 

 

명령어: #ln a.txt(Original File) b.txt(Hard Link File)

 

 

2) Symbolic Link(심볼릭 링크, 소프트 링크)

- 심볼릭 링크의 경우 데이터 블록이 포인터로 링크하고 있는 Original File의 이름을 가리킨다(i-node가 아니다!!!).

그렇기 때문에 Original File을 삭제하게 되면 심볼릭 링크는 사용할 수 없게 된다.

=> 그렇기 때문에 파일 시스템이 다르면 적용이 되지 않는다.

 

명령어: #ln -s a.txt b.txt: a.txt를 가리키는 b.txt 링크 파일 생성

 

 

* 모든 애플리케이션이 쓰는 공통 라이브러리들은 Symbolic Link를 이용해 연결하게 되면, 해당 애플리케이션에 있는 라이브러리를 건드리지 않고 가리키는 폴더만 건드려서 사용할 수 있다.

* 링크를 생성할 때 상대 경로로 작성하게 되면, 기준은 해당 링크를 기준으로 작성해야 된다.

 

 

사용 예시>

 

문제 1.

 /a/b/c 디렉토리 생성
/a/b/c/test.txt 파일 생성 

현재 위치 /a/b 디렉토리
/a/b/c/test.txt를 가리키는 심볼릭 링크 작성( /a/test1.txt로, 단 상대 경로로만 작성 )

 

답안)
mkdir -p /a/b/c
cd /a/b
cat > ./c/test.txt
test
ctrl+D
ln -s b/c/test.txt ../test1.txt

 

문제 2.
/1/2/3/4/5 디렉토리 생성
/1/2/3/4/a.txt 파일 생성
현재 위치 /1/2/3디렉토리
/1/2/3/4/a.txt를 가리키는 심볼릭 링크 작성( /1/b.txt로, 단 상대 경로로만 작성 )


답안)
mkdir -p /1/2/3/4/5
cat > /1/2/3/4/a.txt
test 
ctrl+D
cd /1/2/3
ln -s 2/3/4/a.txt ../../b.txt


문제 3.
/aa/bb/cc/dd/ee 디렉토리 생성

/aa/bb/cc/dd/ee/1.txt 파일 생성 
현재 위치 /aa/bb/cc 디렉토리
/aa/bb/cc/dd/ee/1.txt를 가리키는 심볼릭 링크 작성( /aa/2.txt로, 단 상대 경로로만 작성 )

답안)
mkdir -p /aa/bb/cc/dd/ee
cd /aa/bb/cc
cat > /aa/bb/cc/dd/ee/1.txt
1
ctrl+D
ln -s bb/cc/dd/ee/1.txt ../../2.txt

 

'Server > Cent OS' 카테고리의 다른 글

Linux 압축, 아카이브 (gzip, bzip2, tar)  (0) 2019.07.02
Cent OS 6 - Template 만들기  (0) 2019.07.01
Cent OS 6 - 네트워크 설정 변경  (0) 2019.07.01
CentOS 6 설치  (0) 2019.07.01
Linux 디렉토리 구조  (0) 2019.06.24