반응형
링크(link)는?
- 링크는 쉽게 말하면 바로가기 아이콘과 비슷한 맥락
- 파일 시스템에서 동일한 파일이나 디렉터리에 대한 또 다른 이름을 부여하여 여러 경로에서 접근할 수 있도록 해주는 기능
- 링크에는 하드 링크(hard link)와 심볼릭 링크(symbolic link)로 구분됨
링크 입력 문법
문법 | ln [-s] 소스 파일(or 디렉터리) 타겟 파일(or 디렉터리) 1 2 3 4 |
ln | 링크를 생성하는 명령 |
-s | 심볼릭 링크를 생성한다는 의미, 안 쓰면 하드 링크로 생성 |
소스 파일 or 소스 디렉터리 |
원본이 될 파일 or 디렉터리를 의미. 타겟 파일 or 디렉터리가 이 데이터에 접근함 |
타겟 파일 or 타겟 디렉터리 |
소스 파일 or 디렉터리에 접근해주는 포인터 역할. 타겟에는 실제 데이터를 저장하는 것이 아님. |
하드 링크(hard link)
- 원본 파일과 완전히 동일한 파일을 가리킴
- 하드 링크는 원본 파일과 같은 inode 번호를 공유하여 파일 시스템 내에서 동일한 데이터 블록을 가르킴
- 하드 링크 중 하나를 삭제해도 원본 파일이 삭제되지 않고, 모든 하드 링크가 삭제되어야만 원본 파일이 삭제됨
- 동일한 파일 시스템 내에서만 생성 가능하며, 디렉터리에는 하드 링크가 불가능함
ln source.txt link.txt |
'source.txt'파일에 대한 하드 링크 'link.txt' 생성 |
심볼릭 링크(symbolic link)
- 원본 파일의 경로를 가리키는 파일로 디렉터리에도 링크가 가능함(inode 번호가 아닌 경로 기반임)
- 다른 파일 시스템에 있는 파일도 가리킬 수 있음(하드 링크의 단점을 보완)
- 심볼릭 링크를 삭제해도 원본 파일은 삭제되지 않음. 하지만 원본 파일이 이동되거나 삭제되면 링크가 끊어짐
ln -s source.txt link.txt |
'source.txt'파일에 대한 심볼릭 링크 'link.txt' 생성 |
ln -s /usr/local/bin/* ~/bin |
/usr/local/bin 디렉터리에 있는 모든 파일을 사용자 홈 디렉터리의 bin 디렉터리에 심볼릭 링크로 연결 |
= /usr/local/bin 디렉터리에 있는 파일을 ~/bin 에서도 마치 같은 파일인 것 처럼 사용할 수 있음 |
ex) /usr/local/bin에 gcc, git, python 등의 실행 파일이 있다면, 위 명령 실행 시 ~/bin 디렉터리에 gcc, git, python 등의 심볼릭 링크가 생성됨. 이후 ~/bin 디렉터리에서 gcc 명령을 실행하면 마치 /usr/local/bin/gcc를 실행한 것과 같은 효과를 얻을 수 있음 |
반응형
'공부 > 정보보안기사' 카테고리의 다른 글
<정보보안기사> 1. 시스템 이론 - 파일 시스템 개요(부트 블록, 슈퍼 블록, 아이노드 리스트, 데이터 블록) (0) | 2024.11.15 |
---|---|
<정보보안기사> 1. 시스템 이론 - 파일 디스크립터(FD)와 입출력 재지정(I/O Redireciton) (1) | 2024.11.14 |
<정보보안기사> 1. 시스템 이론 (ㄴ. UNIX/Linux 기본1) (0) | 2024.11.13 |
<정보보안기사> 1. 시스템 이론 (ㄱ. 윈도우 기본) (0) | 2024.11.12 |
댓글