1. 소프트링크
- 소프트링크는 심볼릭 링크라고도 불린다.
- 하드링크와 마찬가지로, 소프트링크도 ln 명령어를 통해 사용한다.
- 그러나 -s 옵션을 사용한다는 것에서 차이점이 생긴다.
a) ln -s 옵션
- s 옵션을 함께 사용하면, 윈도우의 바로가기 기능과 동일한 기능을 수행한다.
- 즉, 원본파일이 삭제되면 소프트링크도 함께 삭제되는 것이다.
b) ls - al로 소프트링크 확인하기
- 소프트 링크와 하드링크의 차이점은 ls -al 명령어를 통해 이를 확인할 수 있다.
- 우선 ln -s 옵션을 이용하여 소프트링크를 생성한다.
- 다음 ls -al 옵션을 이용하여 파일의 정보를 출력한다.
- 특이한 점은 권한정보가 다르다는 것이다.
- 위의 사진에서 가장 좌측에 적혀져 있는 권한 부분을 살펴보자.
- 소프트링크는 l로 시작하는 권한정보를 갖는다. l은 link를 의미하는 것이다.
- 참고로 하드링크는 일반 파일을 표시하는 -(대시)로 시작하는 권한정보를 갖는다.
c) 소프트링크는 원본파일과 다른 inode 번호를 갖는다.
- 위의 사진에서 알 수 있듯이, 소프트링크는 원본 파일과 다른 inode 값을 갖는다.
- 하드링크와는 다르게 소프트링크는 동일한 메모리주소를 가리키는 것이 아니라,
- 원본파일 자체를 가리키는 것이기 때문이다.
- 즉, 바로가기 파일도 하나의 파일이라고 이해할 수 있다.
d) 소프트링크는 원본파일을 삭제하면 삭제된다.
- 앞서 설명했듯이, 소프트링크는 원본파일이 삭제되면 함께 삭제된다.
e) 소프트링크의 연결구조
- 위의 그림은 소프트링크가 어떻게 원본파일과 연결되어 있는지를 도식화한 것이다.
- 그림에서 알 수 있듯이, 소프트링크는 원본파일의 메모리 주소를 가리키는 것이 아니라,
- 원본 파일의 메모리 주소에 대한 redirected path를 가리키게 된다.
- 그러므로 원본파일이 사라지면 해당 메모리 주소도 사라지기 때문에, redirected path 또한 무용지물이 되는 것이다.
2. 특수파일
- 특수파일은 디바이스를 가리키는 파일이다.
- 이전 포스팅에서 디바이스는 추상화된 인터페이스(가상파일시스템)를 통해 입출력 기능을 수행한다고 배웠다.
- 이러한 특수 파일의 디바이스는 2가지로 구분된다.
a) 블럭(block) 디바이스
- 블럭 디바이스는 일정한 단위를 사용하는 저장매체를 말한다.
- 블럭이나 섹터와 같은 고정단위를 사용하여 데이터를 전송 및 입출력하는 디바이스를 의미한다.
- 블럭 디바이스의 특징은 IO 송수신 속도가 빠르다는 것이다.
b) 캐릭터(character) 디바이스
- 캐릭터 디바이스는 이름에서 알 수 있듯이 문자(=character)를 사용하는 디바이스를 의미한다.
- 키보드, 마우스 등 byte단위의 데이터 전송을 사용하는 디바이스를 말한다.
- 캐릭터 디바이스의 특징은 IO 송수신 속도가 느리다는 것이다.
c) 실제 예시
- 아래의 사진은 /dev 디렉토리에서 ls -al 명령어를 통해 파일목록 및 정보를 출력한 것이다.
- b로 시작하는 권한 정보가 블럭 디바이스를 의미한다.
- c로 시작하는 권한정보가 캐릭터 디바이스를 의미한다.
3. 파일 시스템 핵심정리
'컴퓨터공학기초 개념 > 시스템 프로그래밍' 카테고리의 다른 글
16. 시스템 프로그래밍 - ABI와 표준 (0) | 2021.09.10 |
---|---|
15. 시스템 프로그래밍 핵심개념 (0) | 2021.09.10 |
13. shell - 하드링크 (0) | 2021.09.10 |
12. shell - 리눅스 파일 시스템 탐색 (0) | 2021.09.10 |
11. shell - 리눅스 파일 시스템 (0) | 2021.09.09 |
댓글