파일

young_min·2024년 5월 11일
0

리눅스 101

목록 보기
3/3

[리눅스 입문 - 개념으로 탄탄히!!] 인프런 강의를 듣고 정리한 내용입니다.
강의 링크: https://inf.run/cqqom
강의자: ProgCoach4U

섹션 2. 파일

파일과 디렉터리의 구조

파일 이름 = path(경로) + name(이름)

트리 형태의 계층 구조

  • 리눅스는 트리 형태의 계층 구조를 가짐
  • 리눅스라는 하나의 시스템에 루트라고 하는 디렉토리가 최상위에 하나 반드시 있음
  • 리눅스 vs 윈도우
    • 리눅스: 드라이브 개념(X), 모든 디스크들이 루트 디렉토리 밑으로 마운트되어 있음
    • 윈도우: 드라이브 개념(O), 하드디스크 당 하나의 드라이브, 운영체제는 기본적으로 C드라이브에 들어감
  • 마운트: 비어있는 디렉토리 새로 생성 → 새 하드디스크 내용을 새로 생선한 빈 디렉토리에 마운트
    e.g. 하드디스크는 dir 이라는 디렉토리에 마운트 → 파일 경로 변경: abc.txt → /dir/abc.txt

파일의 종류

  • 운영체제가 바라보는 관점에서의 파일의 종류
  • 디바이스 파일
    • 종류: 문자 디바이스(순차적인 동작 처리시 적합), 블록 디바이스
    • 운영 체제 안에 있는 디바이스 드라이버와 애플리케이션을 연결해주는 채널을 만들어주는 것
    • 애플리케이션이 디바이스 파일, 디바이스 드라이버를 통해서 디바이스까지 명령을 전달할 수 있는 하나의 채널을 구성할 수 있음 (운영체제에서 동작하는 커널 모드, 애플리케이션들이 동작하는 유저모드로 구분이 됨)
  • 파이프 파일
    파이프를 통해서 프로세스와 프로세스가 통신 → 시스템 상에 파이프 파일이 생성됨
  • 소켓
    소켓을 이용해서 프로세스와 프로세스가 통신

대표적인 디렉토리

디렉터리 개념

  • pwd: 현재 작업 디렉터리

  • @@@$: @@@ = 현재 작업 디렉터리

  • 홈디렉터리: 리눅스는 계정(사용자)이 여러개이고 서로 공유하면 안되기때문에 홈디렉터리로 구분
    e.g. 계정 “abc” → /home/abc

  • 상대 경로 vs 절대 경로

    • 상대 경로: 내가 어디 있는지, 쉘이 지금 어디에서 실행하고 있는지, 현재 작업 디렉토리(cwd)가 어디인지를 기준으로 하는 경로 → 경로가 계속 달라짐
    • . : 현재 디렉토리
    • .. : 부모 디렉토리

아이노드 그리고 하드링크와 소프트링크

  • 아이노드
    • 파일의 여러가지 데이터들을 저장해놓은 구조체
    • 파일에 대한 메타데이터가 저장되어 있는 것 (e.g. 파일이 노래 가사라고 하면 파일 데이터에 노래가사가 저장되어 있음)

하드링크와 소프트링크

  • 기본적인 파일의 구조: name - inode - data
  • 소프트링크
    • 리눅스에서의 소프트링크 = 윈도우즈의 바로가기
    • 일반적으로 소프트링크 파일은 대상(원본 파일)과 다른 디렉토리에 있음
    • 원본 파일과 아이노드, 파일 데이터 모두 다름 (따로 존재)
  • 하드링크
    • 원본 파일과 파일 이름만 다르고 파일 컨텐츠(아이노드, 파일 데이터)는 똑같음, 공유함 (파일 이름만 다른 똑같은 파일)
profile
doing IT stuff 👩‍💻

0개의 댓글