안경잡이개발자

728x90
반응형

※ 소프트 링크(Soft Link) ※

 

  심볼릭 링크(소프트 링크)는 쉽게 말하면 바로가기 링크 같은 것입니다.  어떠한 파일을 만든 뒤에, 그 파일을 가리키는 바로가기 파일을 만들면 편할 때가 있습니다.  예를 들어 진짜 파일은 특정한 중요 폴더에 넣어 놓은 뒤에, 바탕 화면에 하나의 파일을 만들어  해당 파일을 가리키도록 만드는 것입니다.  이때 바탕 화면에 있는 파일을 삭제한다고 해서 실제로 해당 파일이 지워지거나 하지는 않습니다.

 

  리눅스에서도 필요할 때 이러한 심볼릭 링크를 만들 수 있습니다. 앞서 말했듯이 바로가기 파일은 삭제되어도 실제 파일에 영향을 미치지 않습니다. 간단하게 "Hello World"라는 문자열을 담은 하나의 파일을 생성해 보겠습니다.

 

echo "Hello World" > /tmp/test.txt 

 

  이후에 이를 가리키는 하나의 심볼릭 링크를 만들겠습니다.  만드는 방법은 간단합니다. ln 명령어를 이용해 -s 옵션을 붙여 실행하면 됩니다.  그러면 심볼릭 링크가 생성됩니다.

 

ln -s /tmp/test.txt link

 

 

  실제로 만들어진 링크를 확인해 보면 다음과 같이 나옵니다.

 

 

  이때 원본 파일을 삭제한 뒤에 다시 확인해 보겠습니다. 이후에 링크 파일을 확인하면 다음과 같이 빨간색으로 나오는 것을 알 수 있습니다.

 

 

  다음과 같이 원본 파일이 존재하지 않는다는 것을 알려줍니다.

 

 

  다시 /tmp/test.txt 파일과 link 파일(심볼릭 링크) 모두 제거하겠습니다. 이어서 마찬가지로 하드 링크에 대한 개념 설명 및 실습을 진행해 보겠습니다.

 

※ 하드 링크(Hard Link) ※

 

  하드 링크(Hard Link)의 개념을 알아보겠습니다. 하드 링크를 이용하는 경우 두 파일이 같은 inode를 가지기 때문에, link와 /tmp/test.txt  중에서 하나의 파일을 삭제해도 괜찮습니다. 또한 두 파일 중에 하나를 수정해도 inode를 공유하기 때문에 다른 한 쪽의 내용도 바뀐 것으로 보이게 됩니다. 기본적으로 그냥 ln를 이용하면 하드 링크로 생성됩니다.

 

 

  파일을 출력하면 다음과 같습니다.

 

 

  실제로 inode를 출력해 보면 다음과 같습니다.

 

 

  예를 들어 link의 내용을 수정하면 자동으로 /tmp/test.txt의 내용도 수정됩니다.

 

728x90
반응형