[Ubuntu] 03. 파일 관리

1 minute read

파일 정보

03-02

touch 명령어를 이용하여 빈 파일을 만들고, ls -l 명령어로 파일 정보를 봐보자

-rw-r--r-- 1 root root    0 Nov  6 11:36 example.txt

각각의 정보들을 알아보자

앞의 1자리 -파일의 유형을 나타낸다.

디렉토리의 경우 d로 나타내고, 링크(바로가기)의 경우 l, 장치(디바이스)의 경우 b 또는 c로 나타난다.

그 다음 9자리는 파일의 허가권을 나타낸다.

앞에서부터 3개씩 끊어서 인식하면 되는데, 3자리는 각각 r, w, x로 보여진다.

이는 read, write, execute의 약자로 rw-의 경우 읽거나 쓰기는 가능하나 실행은 할수 없다는 뜻이다.

맨 앞 3자리는 소유자의 파일 권한, 2번째 3자리는 그룹의 파일 권한, 3번째 3자리는 그 외 사용자의 파일 권한이다.

즉, 위의 example.txt의 경우, 소유자는 읽고 쓰기, 그룹은 읽기만, 그 외 사용자도 읽기만 가능하다.

이 허가권은 2진수로 나타내서 표현하는데, rw-의 경우 4+2=6, r–의 경우 4=4가 된다.

rwxr-xr–의 경우, 4+2+1=7, 4+1=5, 4=4로 754로 나타낸다.

파일의 허가권을 변경하는 명령어로 chmod가 있다.

예를 들어 위의 example.txt는 644 상태인데, chmod 777 example.txt를 하면

-rwxrwxrwx 1 root root    0 Nov  6 11:36 example.txt

이렇게 변하게 된다

그 다음 두 root는 파일의 소유권을 나타내는데, 각각 파일의 소유자와 파일 소유 그룹을 나타낸다.

파일의 소유자를 변경하는 명령어로 chownchgrp 이 있다.

chown ubuntu example.txt의 경우, 소유자를 ubuntu로 변경한다.

chown ubuntu.ubuntu example.txt의 경우, 소유자만 ubuntu로 변경하는 것이 아닌 소유 그룹도 ubuntu로 변경한다.

chgrp ubuntu example.txt의 경우, 소유 그룹을 ubuntu로 변경한다.

그 뒤의 0은 파일의 크기를 나타낸다.

그 뒤의 Nov 6 11:36은 파일의 최종 수정 시간을 나타낸다.

링크

링크의 종류에는 하드 링크와 소프트 링크가 있다.

inode

링크를 하기전에 먼저 inode에 대해 알아야 한다.

inode는 리눅스 파일 시스템의 자료구조로서 파일이나 디렉토리의 정보를 담고 있다.

이 inode는 해당 파일의 소유권, 허가권, 파일 종류 등의 정보와 실제 데이터의 주소도 담고 있다.

하드링크와 소프트링크

원본 파일이 inode1을 사용한다고 하자.

하드 링크를 생성할 경우, 하드 링크 파일만 생성되고 같은 inode1을 사용한다.

하드 링크는 ln 링크대상 링크파일이름으로 생성 가능하다. (ex ln basefile hardlink)

소프트 링크를 생성할 경우, 새로운 inode2를 만들고, 데이터는 원본 파일에 연결만 시켜주는 주소를 가지고 있다.

소프트 링크가 진짜 포인터라고 생각하면 편하다.

소프트 링크는 ln -s 링크대상 링크파일이름으로 생성 가능하다. (ex ln -s basefile softlink)

03-01

실습

  1. root 사용자로 접속하여 /root/linkpractice를 만들고, 그 안에 basefile이라는 파일을 만들어주자.
  2. vi 에디터를 이용하여 basefile에 아무거나 입력해주고 저장해주자.
  3. basefile에 대해 hardlink, softlink 이름의 하드링크 소프트링크를 만들어주자.
  4. ls -il을 통해 inode 번호를 포함한 디렉토리 요소들을 출력해보자
  5. hardlinksoftlink의 파일의 내용을 확인해보자.
  6. basefile의 위치를 ../으로 이동시키고 ls -il을 확인하고, hardlinksoftlink의 파일 내용을 확인해보자.
  7. basefile을 다시 원래 위치로 이동시키고 hardlinksoftlink의 파일 내용을 확인해보자.

Categories:

Updated:

Comments