리눅스 링크 명령어 ln 사용법

리눅스 링크 명령어 ln

리눅스의 작업은 CLI 환경에서 이루어지기 때문에 링크를 사용합니다. 윈도우와 같은 GUI 환경에서는 여러가지 메뉴나 아이콘과 버튼을 사용해서 프로그램을 실행시키지만 리눅스의 셸은 그런게 없으니까 링크에 익숙해질 필요가 있습니다. 첨단의 스마트폰 시대에 링크파일이라니 웬지 시대를 거스르는 것 같지만 리눅스의 셸에 익숙해지기 시작하면 이것으로 많은 일을 할 수 있다는 것을 알게됩니다. ln명령어는 프로그래머 뿐만 아니라 클라우드 컴퓨터의 관리자도 알아두면 좋을 것 같습니다.

ln 명령어

우분투 리눅스의 ln 명령은 파일 또는 디렉터리 간의 링크를 만드는 데 사용됩니다. ln으로 만들 수 있는 링크에는 하드 링크(hard link)와 심볼릭 링크(symbolic link)의 두 가지 유형이 있습니다.

하드링크

하드 링크는 원본 파일을 가리키는 똑같은 파일입니다. 이 파일의 변화는 곧 원본 파일의 변화를 의미합니다. 예를 들어서 ln-a.txt라는 텍스트 파일을 가리키는 ln-h라는 하드링크를 만들면 다음과 같습니다.

ln ~/bin/ln-a.txt ~/bin/ln-h

심볼릭링크

심볼릭 링크는 원본 파일을 가리키는 링크 파일입니다. 이것은 -s 옵션으로 만들 수 있습니다. ln-a.txt를 가리키는 ln-s라는 심볼릭 링크는 다음과 같습니다.

ln -s ~/bin/ln-a.txt ~/bin/ln-s

이것을 확인해보면 차이를 알 수 있지요. ls -la로 세부사항을 봅시다. ln-s와 ln-h의 형태가 다릅니다. ln-s는 링크가 어디를 가리키는지 알 수 있고 파일의 퍼미션이 다릅니다. 하드링크 ln-h은 원본 ln-a.txt와는 다릅니다.

ln 링크 명령어

심볼릭 링크로 파일 퍼미션을 바꿔봅니다.

chmod 700 ln-s

하면 다음과 같이 링크인 ln-s는 그래도 있고 하드링크와 원본 파일은 변경됩니다.

ln 링크 명령어

이번에는 ln-s 를 touch 해봅니다. ln-s는 그대로 있고 하드링크와 원본링크의 시간만 변합니다.

ln 링크 명령어

하드링크는 원본 파일과 같은 파일 시스템에서만 생성가능합니다. 만일 다른 파일 시스템에서 하드링크를 만들려고 하면 심볼릭 링크로 변경됩니다.

디렉토리 링크

디렉토리 링크도 같은 형식으로 만들 수 있습니다. -d 옵션으로 디렉토리 하드링크를 만들 수 있는데 시스템 제한에 따라 최고 관리자(sudo)도 만들지 못할 수 있습니다. 여기서는 -s로 심볼릭 링크를 만들어 보겠습니다.

ln-tmp라는 링크로 ~/tmp를 가리킵니다.

ln -s ~/tmp/ ~/bin/ln-tmp

확인하면 디렉토리를 가리키고 있습니다. cd 명령어로 디렉토리에 들어가서 사용하면 됩니다.

ln 링크 명령어

Leave a Comment