본문 바로가기

Linux Unix/Command

[ Linux ] ln으로 파일/폴더 Link 만들기

반응형

ln 명령어는 UNIX 및 Linux에서 파일을 연결(link)하는 데 사용됩니다. 이 명령어를 사용하면 파일의 하드 링크(Hard Link)와 심볼릭 링크(Symbolic Link)를 만들 수 있습니다.

1. 하드 링크 (Hard Link)

  • 하드 링크는 파일 시스템의 동일한 파일에 대해 여러 참조를 생성합니다. 하드 링크를 통해 생성된 파일들은 원본 파일과 동일한 데이터 블록을 가리키며, 동일한 inode를 공유합니다.
  • 파일을 삭제하더라도 해당 파일의 하드 링크가 남아있는 한 파일의 데이터는 삭제되지 않습니다.

2. 심볼릭 링크 (Symbolic Link)

  • 심볼릭 링크는 원본 파일의 경로를 참조하는 파일입니다. 심볼릭 링크는 원본 파일과 다른 inode를 가지며, 원본 파일이 삭제되면 심볼릭 링크는 깨진 링크(broken link)가 됩니다.
  • 심볼릭 링크는 다른 파일 시스템이나 디렉토리에 대한 링크도 만들 수 있습니다.

3. ln 명령어 사용법

하드 링크 생성

ln [옵션] 원본파일 링크이름

심볼릭 링크 생성

ln -s [옵션] 원본파일 링크이름

4. 예제

  1. 하드 링크 생성 예제
    • 원본 파일 example.txt가 존재한다고 가정합니다.
    • 이 파일에 대한 하드 링크를 hardlink.txt라는 이름으로 생성합니다.
    ln example.txt hardlink.txt
    이제 example.txthardlink.txt는 동일한 파일 데이터를 가리키며, 어느 파일에 내용을 추가하거나 삭제해도 두 파일 모두에 반영됩니다.
  2. 심볼릭 링크 생성 예제
    • 원본 파일 example.txt가 존재한다고 가정합니다.
    • 이 파일에 대한 심볼릭 링크를 symlink.txt라는 이름으로 생성합니다.
    ln -s example.txt symlink.txt
    이제 symlink.txtexample.txt의 경로를 가리키는 심볼릭 링크로 동작합니다. 원본 파일이 삭제되거나 이동되면 symlink.txt는 깨진 링크가 됩니다.

5. 옵션

  • -f: 기존의 링크나 파일을 덮어쓰면서 강제로 링크를 생성합니다.
  • -v: 생성된 링크에 대해 자세한 정보를 출력합니다.

6. 사용 시 주의사항

  • 하드 링크는 동일한 파일 시스템 내에서만 동작합니다.
  • 심볼릭 링크는 파일이 이동되거나 삭제될 때 깨질 수 있으므로 신중하게 사용해야 합니다.
반응형