링크
파일의 링크는 하드 링크와 심볼릭 링크로 나뉜다.
🤨 inode란?
inode는 리눅스/유닉스의 파일 시스템에서 사용하는 자료구조로, 파일이나 디렉터리의 여러가지 정보가 있다. 모든 파일이나 디렉터리는 각자 1개씩의 inode가 있으며, 각 inode에는 해당 파일의 소유권, 허가권, 파일 종류 등의 정보와 해당 파일의 실제 데이터 위치(주소)도 있다. 이러한 inode가 모여 있는 공간이 inode 블록이며, 일반적으로 전체 디스크 공간의 1% 정도를 차지한다. Data 블록은 실제 데이터가 저장된 디스크 공간으로 전체 디스크의 대부분을 차지한다.
하드 링크를 생성하려면 ln 링크대상파일이름 링크파일이름 명령을 실행한다.
원본 파일이 inode1을 사용할 때 하드 링크를 생성하면 하드링크파일만 하나 생성되며 같은 inode1을 사용하게 된다.
원본에 심볼릭 링크를 생성하면 새로운 inode2를 만들고, 데이터는 원본 파일과 연결되는 효과를 갖는다.
일반적으로 사용자들이 주로 사용하는 링크는 심볼릭 링크이다. (ex. Windows 바로가기 아이콘)
심볼릭 링크를 생성하려면 ln -s 링크대상파일이름 링크파일이름 명령을 실행한다.
👩🏻💻 step1 - 파일 생성
👩🏻💻 step2 - 하드 링크와 심볼릭 링크 확인
basefile과 hardlink는 inode가 같다(665196). softlink(심볼릭 링크)는 다르게 지정되어 있다. 또한 basefile과 hardlink은 Data 블록에 같은 원본 파일 데이터를 사용하므로 크기가 60바이트로 동일하고, softlink파일은 별도의 원본 파일 포인터를 갖기 때문에 8바이트로 크기가 다르다.
softlink->basefile은 softlink는 basefile을 지정한다는 의미이다.
basefile을 다른 곳으로 이동시키면 hardlink는 아무 이상이 없지만 softlink는 연결이 끊어진다.
basefile을 현재 디렉터리에 가져와서 다시 확인해보면 원상복구가 된 것을 확인할 수 있다.
'우분투 리눅스' 카테고리의 다른 글
4장 서버 구축 시 알아야 할 필수 개념과 명령어 (8) - 패키지를 편리하게 설치하는 apt (0) | 2022.02.12 |
---|---|
4장 서버 구축 시 알아야 할 필수 개념과 명령어 (7) - 프로그램 설치를 위한 dpkg (0) | 2022.02.12 |
4장 서버 구축 시 알아야 할 필수 개념과 명령어 (5) - 파일, 디렉터리의 소유권과 허가권 (0) | 2022.02.12 |
4장 서버 구축 시 알아야 할 필수 개념과 명령어 (4) - 사용자 및 그룹 관련 명령어 (0) | 2022.02.11 |
4장 서버 구축 시 알아야 할 필수 개념과 명령어 (3) - 리눅스 기본 명령어 (0) | 2022.02.11 |