시스템 프로그래밍(4)-파일과 디렉터리

taehee kim·2021년 11월 2일
0

모르는 부분만 정리

1.파일시스템

  • 운영체제가 디스크 상에 파일들을 구성하는 방식
  • 1개의 루트(/)디렉토리만 존재
  • 윈도우 운영체제와 다르게 여러 파일시스템이 하나의 루트 디렉토리 하나의 트리로 존재

2.마운트

  • 특정 디렉토리에 물리적 장치를 부착하여 사용할 수 있도록 한다.

3.ls 명령

  • -a : 숨김 파일도 보여줌
  • -l : 긴포멧
  • -F : 파일 기능에 맞추어 문자를 붙임, 실행파일*, 디렉토리 /, 심볼릭 링크 @
  • -S : 이름순으로 정렬
  • -t : 최종 수정시간 순으로 정렬

4.파일의 종류

  • 정규파일

  • 디렉토리 : 하위 파일에 대한 정보 저장

  • 심볼릭링크

  • 장치파일 : 장치파일을 통해 물리적 장치에 접근

5.디렉토리의 접근권한 의미

  • r : 디렉토리내 어떤 파일이 있는지

  • w : 디렉토리내 파일 생성, 삭제

  • x : 디렉토리를 명령의 실행 대상으로 삼음(ls 검색, cd 이동)

  • r, x가 모두 있어야 ls(내용 보는것) 가능

6. 권한변경

  • chmod
    • 주인만 사용가능
    • -R : 하위 모드 변환
    • 8진수 : chmod 755 file1
    • = : chmod u=rwx, g=rx, o=x file2
      • : chmod u+x file3

7. 기본 권한 (umask)

  • 파일 및 디렉토리 생성시 기본적으로 주어지는 권한
  • umask 022 라면 모든 파일, 디렉토리가 755로 생성됨.
  • ~/.bashrc에 umask 설정 가능

8. 소유자 변경(chown)

  • root만 사용 가능

9. 하드링크 vs 소프트 링크 (ln)

  • 하드링크는 같은 inode를 가리키는 또다른 파일이다.

  • 따라서 파일의 와 하드링크의 inode가 정확하게 일치하며, 만약 원본 파일을 삭제하더라도 해당 inode에 대한 하드링크가 존재하므로 디스크 내의 내용이 유지된다.

  • 원본 inode내용을 가리켜야 하기 때문에 다른 파일시스템 간에는 사용할 수 없으며, 디렉토리도 하드링크를 만드는 것이 불가능하다. 디렉토리 내의 모든 컨텐츠의 inode를 가르키게 할 수는 없기 때문이다.

  • 소프트 링크는 파일을 가르키는 또 다른 파일이라고 볼 수 있다.

  • 따라서 소프트 링크의 내용은 단지 가르키는 파일의 경로이며 새로운 inode 값을 고유하게 가지고 있다.

  • 다른 파일 시스템 간에도 혹은 디렉토리 간에도 해당 목표의 경로만 소프트링크파일에 넣으면 소프트링크로 생성할 수 있다.

  • 원본 파일이 사라지면 의미가 사라진다.

10.파일이 저장되는 방식

  • 파일은 고유한inode 블록을 가리키는 것이며, inode 블록의 디스크 블록 포인터는 실제 디스크 위치를 가리킨다.
profile
Fail Fast

0개의 댓글