> 파일 및 디렉토리 관리 > ln

ln: 파일 링크 생성 (심볼릭 링크)

ln 명령어는 파일 시스템 내에서 파일 또는 디렉토리에 대한 링크를 생성하는 데 사용됩니다. 주로 원본 파일의 위치를 변경하지 않고 다른 이름이나 경로로 접근할 수 있게 하는 심볼릭 링크(소프트 링크)를 만드는 데 활용됩니다. 하드 링크와 심볼릭 링크 두 가지 유형의 링크를 지원합니다.

개요

ln 명령어는 기존 파일이나 디렉토리에 대한 참조(링크)를 생성합니다. 이는 원본 데이터를 복사하지 않고도 여러 위치에서 동일한 데이터에 접근할 수 있게 해줍니다. 특히 심볼릭 링크는 원본 파일의 경로를 가리키는 포인터 역할을 하여, 원본 파일이 삭제되면 링크가 깨지는 특성이 있습니다.

링크 유형

ln 명령어로 생성할 수 있는 두 가지 주요 링크 유형입니다.

  • 하드 링크 (Hard Link): 동일한 inode를 공유하는 파일의 다른 이름입니다. 원본 파일이 삭제되어도 데이터는 남아있습니다. 다른 파일 시스템 간에는 생성할 수 없으며, 디렉토리에는 생성할 수 없습니다.
  • 심볼릭 링크 (Symbolic Link / Soft Link): 원본 파일의 경로를 가리키는 포인터 파일입니다. 원본 파일이 삭제되면 링크가 깨집니다. 다른 파일 시스템 간에도 생성할 수 있으며, 디렉토리에도 생성 가능합니다.

주요 옵션

ln 명령어는 주로 심볼릭 링크를 생성하는 데 사용되지만, 다양한 옵션을 통해 링크의 동작 방식을 제어할 수 있습니다.

링크 유형

동작 제어

생성된 명령어:

명령어를 조합해 보세요.

설명:

`ln` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

ln 명령어를 사용하여 다양한 유형의 링크를 생성하는 예시입니다.

기본 심볼릭 링크 생성

ln -s /path/to/original_file /path/to/symlink

원본 파일에 대한 심볼릭 링크를 생성합니다.

현재 디렉토리에 심볼릭 링크 생성 (상대 경로)

ln -s ../../data/my_data.txt my_data_link.txt

현재 작업 디렉토리에 상대 경로를 사용하여 심볼릭 링크를 생성합니다. (주의: 상대 경로는 링크가 깨지기 쉬울 수 있습니다.)

디렉토리 심볼릭 링크 생성

ln -s /var/www/html /home/user/web_root

디렉토리에 대한 심볼릭 링크를 생성합니다.

기존 링크를 강제로 덮어쓰기

ln -sf /new/path/to/file /path/to/existing_link

대상 위치에 이미 링크가 존재할 경우, 확인 없이 새 링크로 덮어씁니다.

하드 링크 생성

ln /path/to/original_file /path/to/hardlink

원본 파일에 대한 하드 링크를 생성합니다. (디렉토리에는 불가능)

팁 & 주의사항

ln 명령어를 사용할 때 유의해야 할 점과 효율적인 사용을 위한 팁입니다.

심볼릭 링크 경로

심볼릭 링크 생성 시 원본 파일의 경로 지정에 대한 주의사항입니다.

  • 심볼릭 링크 생성 시 원본 파일의 경로는 절대 경로를 사용하는 것이 좋습니다. 상대 경로를 사용하면 링크가 깨지기 쉽습니다.
  • 예: `ln -s /absolute/path/to/file link_name` (권장)
  • 예: `ln -s ../file link_name` (링크가 생성된 위치에 따라 동작이 달라질 수 있어 주의 필요)

하드 링크의 제약

하드 링크 사용 시 알아두어야 할 제약 사항입니다.

  • 하드 링크는 동일한 파일 시스템 내에서만 생성할 수 있습니다.
  • 하드 링크는 디렉토리에 생성할 수 없습니다.

원본 파일 삭제 시 동작

원본 파일이 삭제되었을 때 링크의 동작 방식입니다.

  • 심볼릭 링크의 원본 파일이 삭제되면, 심볼릭 링크는 '깨진 링크(broken link)'가 되어 더 이상 원본 파일을 가리키지 못합니다.
  • 하드 링크는 원본 파일이 삭제되어도 데이터는 남아있으며, 다른 하드 링크가 존재하는 한 파일 시스템에서 데이터가 제거되지 않습니다.

동일 카테고리 명령어