AWS/aws CICD-metacoding

리눅스 링크

MDanderson 2024. 8. 10. 19:07

리눅스에서 링크 파일은 기존 파일이나 디렉터리에 대한 참조를 생성하는 방법으로 사용됩니다. 이를 통해 파일 시스템에서 데이터의 중복을 피하면서 파일을 여러 위치에서 액세스할 수 있습니다. 리눅스에서는 주로 두 종류의 링크가 사용됩니다: 심볼릭 링크(Symbolic Links)와 하드 링크(Hard Links).

하드 링크 (Hard Links)

하드 링크는 원본 파일의 실제 데이터에 대한 직접적인 포인터입니다. 하드 링크는 원본 파일과 동일한 인덱스 노드(inode)를 공유합니다. 이는 하드 링크가 원본 파일과 똑같은 파일이지만 다른 이름으로 접근할 수 있다는 의미입니다.

  • 특징:
    • 원본 파일을 삭제하더라도 하드 링크를 통해 데이터에 계속 접근할 수 있습니다.
    • 하드 링크는 같은 파일 시스템 내에서만 생성할 수 있습니다.
    • 디렉터리에는 하드 링크를 생성할 수 없습니다.
  • 생성 명령: 
    • ln 원본파일 링크파일

심볼릭 링크 (Symbolic Links, 또는 Soft Links)

심볼릭 링크는 원본 파일을 가리키는 경로를 저장하는 별도의 파일입니다. 이는 윈도우의 바로 가기와 유사하며, 원본 파일의 이름이나 위치가 변경되면 심볼릭 링크는 더 이상 유효하지 않게 됩니다.

  • 특징:
    • 원본 파일이 삭제되면 심볼릭 링크는 '죽은 링크'가 되어 더 이상 유효하지 않습니다.
    • 다른 파일 시스템에 걸쳐 심볼릭 링크를 생성할 수 있습니다.
    • 파일 뿐만 아니라 디렉터리에 대해서도 심볼릭 링크를 생성할 수 있습니다.
  • 생성 명령:
    • ln -s 원본파일 링크파일

ls -l 명령을 사용하면 리눅스에서 링크 파일을 포함한 모든 파일의 상세한 목록을 확인할 수 있습니다. 이 명령은 파일의 종류, 권한, 하드 링크 수, 소유자, 그룹, 파일 크기, 마지막 수정 시간, 그리고 파일 이름을 출력합니다. 링크 파일, 특히 심볼릭 링크의 경우 추가 정보도 함께 표시됩니다.

심볼릭 링크 확인

심볼릭 링크는 ls -l 명령의 출력에서 다음과 같이 표시됩니다:

  • 파일 타입과 권한 부분에서 첫 번째 문자가 l로 시작합니다. 이 l은 파일이 심볼릭 링크임을 나타냅니다.
  • 파일 이름 옆에 -> 기호와 함께 심볼릭 링크가 가리키는 원본 파일의 경로가 표시됩니다.

하드 링크 확인

하드 링크의 경우, ls -l 명령어를 사용하면 직접적으로 "이 파일은 하드 링크다"라고 표시되지는 않습니다. 하드 링크는 원본 파일과 동일한 인덱스 노드를 공유하기 때문에, 다음과 같이 확인할 수 있습니다:

  • 하드 링크 수가 1보다 큰 경우, 해당 파일에는 하나 이상의 하드 링크가 존재한다고 볼 수 있습니다. 하드 링크 수는 파일명 왼쪽에 표시되는 숫자입니다.

 

아래는 ls -l 명령의 예시 출력입니다:

 
lrwxrwxrwx 1 user group 12 Jan 1 12:34 symlink.txt -> original.txt
-rw-r--r-- 2 user group 1024 Jan 1 12:30 original.txt
  • symlink.txt는 심볼릭 링크이며, original.txt를 가리킵니다.
  • original.txt의 하드 링크 수는 2입니다. 이는 original.txt 파일 자체와 하나 이상의 추가 하드 링크가 존재함을 나타냅니다.

이러한 방식으로 ls -l 명령을 사용하여 리눅스 시스템에서 파일의 링크 상태를 확인할 수 있습니다. 이 명령은 파일 시스템을 관리하고 파일 간의 관계를 이해하는 데 유용합니다.

'AWS > aws CICD-metacoding' 카테고리의 다른 글

고정 ip (탄력적 ip)  (0) 2024.08.12
리눅스 표준 입출력  (0) 2024.08.11
리눅스 그룹 변경  (0) 2024.08.10
리눅스 권한  (0) 2024.08.10
리눅스 프로세스, 서비스 명령어  (0) 2024.08.10