상세 컨텐츠

본문 제목

Linux - 기본적인 파일 명령어 (3)

Development/Linux

by thisisnew 2022. 12. 5. 00:01

본문

반응형

 

 

3-8. 링크

 

리눅스에서는 파일에 링크를 생성할 수 있는데요.

총 두 가지의 링크가 있습니다.

  • 심볼릭 링크
  • 하드 링크

링크는 일종의 명찰인데요.

위의 두 링크는 이 명찰을 붙이는 방식에서 차이가 있습니다.

 

우선 링크를 만드는 명령어는 ln입니다.

ln [옵션] <파일> <링크명>

 

3-9. 하드 링크

 

하드 링크는 원본 파일에 직접적으로 명찰을 붙이는 방식입니다.

그래서 어느 링크를 조회해도 원본의 정보가 나오게 됩니다.

또 링크를 다 지우기 전까지는 원본이 삭제되지 않고요.

 

그런데 하드 링크에는 몇 가지 문제가 있습니다.

먼저, 디렉터리는 하드 링크를 할 수가 없고요.

그리고 서로 다른 디스크에는 하드 링크를 생성할 수 없습니다.

 

우선 예시를 들기에 앞서 file1.txt 파일을 하나 만들고요.

여기에 'this is file1.txt'이라는 내용을 집어넣어서 file1 임을 표시하겠습니다.

다음, 하드 링크를 만들어보죠.

file1.txt에 ln_file1이라는 링크를 걸어볼게요.

ln file1.txt ln_file1

그러면 ln_file1이 새로 생성되고, cat으로 조회하니 원본인 file1.txt의 내용이 출력되는 것을 볼 수 있습니다.

 

앞서 하드 링크는 모든 링크를 지워야 원본도 삭제된다고 했었는데요.

rm file1.txt

그런데 반대로 위와 같이 file.txt를 지우더라도, ln_file1이라는 링크가 남아있기 때문에 파일의 실체는 남아있게 됩니다.

 

 

3-10. 심볼릭 링크

 

심볼릭 링크는 원본 파일의 정보를 갖는 일종의 특수파일입니다.

하드 링크처럼 원본에 명찰을 붙이는 것이 아니라서 원본과 구별됩니다.

 

심볼릭 링크는 기존 ln 명령어에 -s 옵션을 붙이면 만들 수 있습니다.

 

file1.txt에 sln_file1이라는 심볼릭 링크를 거는 작업을 해볼게요.

ln -s file1.txt sln_file1

 

그리고 이번에는 ls 명령어에 -l 옵션을 붙여 다시 확인해볼게요.

그럼 위의 사진처럼 sln_file1 -> file1.txt라고 연결되어있는 표시를 볼 수 있습니다.

 

심볼릭 링크도 rm 명령어로 지울 수 있는데요.

하드 링크와 다른 점은 위와 같이 원본을 먼저 지울 경우, 심볼릭 링크가 깨져서 나오게 됩니다.

 

 

 

반응형

관련글 더보기

댓글 영역