리눅스 입문 02

AeZan·2023년 9월 5일
0
post-thumbnail

🛠️ CentOS stream

CentOS 에서 stream 버전은 기업용으로 쓰이는 OS 등의 안정적인 버전의 OS가 되기 전인 베타 버전이라고 보면됨

오픈소스 가져다가 상업용 OS 만드니깐 이런식으로 바꿈

🛠️ inode

index node
파일에 대한 정보(메타데이터)를 가지고 있고, 인덱스 값을 가진 노드 데이터라고 생각하면 됨

*시스템은 메타 데이터를 어디에 저장할까?
디스크를 파티션으로 나눈 공간의 일부분(디스크 용량의 1%)에 저장함

inode 를 저장할 공간이 없다면, 하드 용량이 존재해도 파일 생성이 되지 않음

  • IUsed | inode 사용량
  • IFree | 남은(미사용) inode 사용량

파일 생성 ≒ 링크 - 디스크에 데이터가 존재하는 위치 가리킴
파일 제거 ≒ 언링크 - 데이터를 가리키지 않음

ex) rm - 실제 데이터를 삭제하는 것이 아니라 찾아가는 경로를 끊어 버리는 것
*rm: block 데이터를 지우는게 아니라 파일시스템의 원본 파일에 대한 inode 링크를 삭제하는 것

링크되어 있지 않는(하드링크 0개) 데이터는 자유로움
-> 프리 블록
따라서 해당 블록에 오버라이트 가능 ≒ 새로운 파일 생성

inode 구성요소

  • 파일 모드 (permission)
  • 링크 수
  • 소유자명
  • 그룹명
  • 파일 크기
  • 파일 주소
  • 마지막 접근 정보
  • 마지막 수정 정보
  • inode 수정 정보

*하나의 파일이 여러 데이터 블록(data blocks)을 가질 수 있음
inode는 그 모든 블록의 주소를 가리키는 포인터들에 대한 정보를 가짐


🛠️링크

하드 링크

  • 원본 파일과 동일한 inode 를 가짐 (inode 번호만 복사)
  • 디스크에 저장되어 있는 위치를 가리킴
  • 원본 파일을 삭제해도 하드 링크의 파일엔 접근 가능함
  • 동일한 inode 를 가리키는 것이기 때문에 cp 와 다르게 복사해서 용량을 차지하지 않음
  • 파일시스템에서 경로를 변경해도 링크 작동
  • 파일 백업을 쉽게 하기 위해서 사용
  • 서로 다른 파일시스템 사이에서는 생성 안됨

심볼릭 링크

  • 원본 파일과 다른 inode 를 가짐
  • 파일 또는 디렉토리 이름을 가리키고 있는 포인터
  • 원본 파일이 삭제되거나 경로 변경 시 링크 역할을 하지 못함
    - 같은 이름의 파일을 재성성하면 다시 작동함
  • 윈도우 바로가기 생각하면 경로 단축에 활용
  • 서로 다른 파일시스템이어도 생성됨

+) /etc/sudoers 파일에 유저 추가하면 sudo 명령어 사용 가능
(해당 파일은 visudo 로 편집해야 편집됨)

sudo 명령어로 root 권한을 임시적으로 가질 수 있음
(wheel 그룹에 속하면 su, sudo 가능)


🛠️ cp

파일 복사를 위한 명령어

하드 링크와는 어떻게 다른가?
cp로 생성된 사본은 원본과 inode 가 다르기 때문에 서로 독립적인 파일
즉, 원본을 변경하여도 사본에는 영향이 없음


cp를 사용하여 생성한 파일의 inode 가 원본 파일과 다른 것을 볼 수 있음

또한, cp 사용 시 용량을 차지하게 됨
(하드 링크는 inode 의 번호를 복사하는 것이기 때문에 생성해도 용량을 차지하지 않음)

cp -R(r) : 하위 디렉토리 항목들도 복사
R: Recursive (재귀) 큰 단위를 작은 단위로 반복적으로 나누면서 문제를 간단하게 만들어 해결하기 위해 사용함

🛠️ 파티션 확인하기

df -h : 마운트된 디스크 용량 확인
lsblk : 마운트 되지 않은 것도 포함하여 블록 장치 목록 확인
lsblk -f : 파일 시스템도 포함하여 확인
fdisk -l : 파티션 조작 명령어

마운트
논리적으로 나눠준 파티션을 OS에 논리적으로 연결/올려줌 (이름 매핑)

파티션된 디스크 공간이 물리적으로 어디에 위치해있는지 우리는 모르기 때문에 논리적으로 이름을 붙여줘야 함

서로 다른 파일시스템에서 링크 생성
하드 링크는 생성이 불가
심볼릭 링크는 생성 가능

mv 는 파일 위치 변경 뿐만 아니라 파일 이름 변경 이라는 기능도 가짐

0개의 댓글