Linux - (9) : File Directory & Permission

­이승환·2021년 7월 28일
0

리눅스 정리

목록 보기
9/21

소유권


ln -lf

위와 같은 명령어를 터미널에 쳐보자. 그럼 아래와 같이 결과가 나올 것이다.

-rw-r--r-x. 2 root root 6 1dnjf 1 12:00 test.txt

이에 대해서 순서대로 어떠한 의미를 가지고 있는지 이해해보자.

  1. 파일 유형

    • : 일반파일
      d : 폴더
      l : 링크파일(바로가기)
  2. 소유권한

    r : read
    w : write
    x : eXecute

이것이 총 9개 자리로 구성되어있는데 3개씩 끊어서 구성되어있다
첫번째 "rw-" 는 소유자(user) 의 권한은 읽기와 쓰기
두번째 "r--" 는 그룹(group) 의 권하는 오로지 읽기
세번째 "r-x" 는 기타사용자(other) 는 읽기와 실행

이 가능하다는 권한을 표시해주는 것이다. 각 권한을 변경할 수 있는데 방법은 아래와 같은 명령어이다.

# chmod 666 test.txt

여기서 두번째 666은 무엇일까? 각 숫자는 위에서 소유자, 그룹, 기타사용자의 권한을 순서대로 구성한다.
또한 r = 1(사용), 0(미사용), w, x 순서대로 2진법으로 숫자를 구성해서 0 ~ 7까지 표현한 숫자라고 생각하면 된다.

  1. 링크수
    위 예제에서 2는 링크수를 의미한다. 링크는 윈도우에서 바로가기와 같다고 이해하면 된다.

  2. 소유자 계정

  3. 그룹 계정

  4. 파일크기(byte)

  5. 시간

  6. 파일 또는 디렉토리 이름

순서대로 구성되어있다. 이정도가 가장 필수적이면서 간단하게 이해해 볼 수 있는 수준이다.

링크란?


종류는 크게 2가지, 하드링크와 소프트링크로 구성되어있다. 설명하기 전에 앞서서 inode 에 대해서 이해해보자.

inode

파일을 기술하는 디스크상의 데이터 구조로서, 파일의 데이터 블록이 디스크상에 어디 주소에 위치하고 있는지와 같은 정보를 가지고 있다. 각각의 inode 들은 i 번호라는 고유한 식별번호가 있으며 inode 의 갯수는 파일 시스템이 갖고 있을 수 있는 최대의 파일 수라고 이해하면 된다.

구성정보는 아래와 같다.

  • 파일의 소유권(사용자, 그룹)
  • 파일의 액세스 모드
  • 파일의 타임스탬프(마지막수정, 접근)
  • 파일의 종류

ls -i 명령어로 자세하게 확인할 수 있다.

하드링크를 생성한다는 것은 동일한 inode를 가지는 바로가기 생성자를 만드는 것이다. 만약 원본 파일이 사라져도 하드링크가 남아있다면 inode 가 남아있기 때문에 메모리에서 제거되지 않는다.

소프트 링크를 생성한다는 것은 신규 inode를 생성하고, 디스크상 실제 주소에는 원본파일을 연결하도록 하는 것이다.(이것이 어쩌면 윈도우의 바로가기와 같을지도..)

명령어는 아래와 같다.

# ln [대상 파일명] [새로 생성되는 링크 파일명] // 하드링크

# ln -s [대상 파일명] [새로 생성되는 링크파일명] // 소프트링크(= 심볼릭 링크)

ln -i 명령어를 통해 위 두가지 명령어를 테스트 해보고 실제 inode 가 하드링크, 심볼릭링크 같에 어떻게 생성되는지 확인해보자.

profile
Mechanical & Computer Science

0개의 댓글