DevOps/Linux

[Linux] What is Linux?

나죽못고나강뿐 2023. 7. 2. 13:58
📕 목차
1. 리눅스를 써야 하는 이유
2. Basic Concept

1. 리눅스를 써야 하는 이유

 

  • 특징
    • 오픈소스 (무료)
    • 다양한 플랫폼에 포팅 가능
    • GNU Software와 함께 배포
  • 장점
    • 대부분의 HW 지원
    • 저렴한 성능 요구 사양 및 안정성
    • 인터넷에 맞는 강력한 네트워크 구축
    • 다양한 응용 프로그램 및 배포판(RedHat, Ubuntu, Fedora, CentOS, etc..)
    • 창의적인 해법들 (ex. usb 메모리에 리눅스 라이브 부트 이미지 로드하여, 하드 디스크가 망가진 PC 부팅한 후 문제 분석 등)
    • 다중 사용자 OS: 시스템의 개인 정보 보호와 안정성을 신뢰하여 팀원 전체가 로컬 및 원격에서 동시 작업 가능

 

🔍 사용 목적별 리눅스 배포판

목적 배포판
보안/해킹 방지 • 칼리(Kali) 리눅스
• 패롯(Parrot)
일반 사용자용 데스크톱 • 민트(Mint)
• 엘리멘트리(Elementary) OS
경량 OS(오래된 하드웨어, 진단용) • 퍼피(Puppy) 리눅스
• LXLE
사물 인터넷 관리 • 스내피(Snappy)
• 우분투 코어(Ubuntu Core)
기업용 서버 • CentOS(레드햇 기업용 리눅스의 커뮤니티 버전)
• openSUSE(수세 커뮤니티 버전)
클라우딩 컴퓨팅 • 아마존 리눅스(AWS AMI)
• 우분투 서버(AWS AMI)
범용(경량 OS 제외) • 우분투

 


2. Basic Concept

 

📌 리눅스 파일 시스템
 💡Linux에서는 모든 것을 파일(File)로 다룬다.

  • 파일 시스템(File system)
    • 물리적 디스크의 식별할 수 있는 고유 위치에 저장된 데이터와 논리적 개념 단위인 파일을 연결하는 일종의 데이터 테이블이나 인덱스(Index)
    • 커널이 파일 관리를 하기 위한 방법
  • 인덱스는 데이터를 신뢰성 있게 읽기 위해 필요하다.
    • HDD나 USB 장치는 디렉터리(directory)를 구성할 수 있는 물리적 단위로 나누어져 있지 않다.
    • 특정 파일이 몇 초 후에 만들어진 거의 똑같은 다른 파일과 물리적 위치가 멀리 떨어져 있을 수 있다.
    • 동일한 파일도 구성하는 부분들이 연속적인 위치에 저장된다는 보장이 없다.
    • 파일의 물리적 위치 또한 시간이 지나면 바뀔 수 있다.
  • 파일 시스템은 인덱스를 사용해 파티션(partition)이라는 단일 디스크 분할 영역 안에서 구성된 디렉토리와 파일들을 제공한다.
    • 디스크 파티션 안의 파일은 모두 루트 디렉토리(/) 하위 디렉토리에 보관된다.
    • 디렉토리 구성 방법은 대체로 유닉스 파일 시스템 계층 구조 표준을 따른다.

 

📌 리눅스 탐색 도구
  • ls (list)
  • pwd (print working directory)
  • cd (change directory)
  • cat (concatenate)
  • less

 

📌 리눅스 파일 관리 도구
  • touch : 파일 내용은 건들지 않고 타임 스탬프만 갱신 (해당 파일 없으면 생성)
  • stat
    • 리눅스 파일 시스템의 모든 개체는 inode라는 고유 메타데이터 집합으로 표현
    • 파일 시스템 인덱스는 드라이브의 inode에 연관된 메타데이터로부터 만들어진다.
    • stat으로 해당 파일의 inode 정보 또한 알 수 있다.
  • mkdir / rmdir
  • rm
  • cp
  • 파일 글로빙(globbing) : 와일드카드 문자 적용하는 것

 

📌 키보드 트릭
  • bash 쉘 세션에서는 'shift + ctrl + c'와 'shit + ctrl + v'로 복사/붙여넣기가 가능하다
  • 탭 완성 기능 (진짜 많이 쓰는데, 모르는 사람 제법 많아서 답답하다..)

 

📌 의사 파일 시스템
  • 시스템 재부팅 후에도 안정적으로 접근 가능한 일반적인 파일과 달리 sys, proc 등은 그렇지 않다.
  • 리눅스 의사 파일(pseudo file 또는 virtual file) 내용은 시스템의 특정 상태를 보이고자 OS에서 동적으로 생성한다.

  • 모든 시스템 프로세스는 sys 디렉토리의 의사 파일을 참고한다.
    • /sys/block : 리눅스에 연결된 저장 장치(block device) 디렉토리로 이동
    • sda(SCSI Device A지만 Storage Drive A가 조금 더 적합) : 시스템에서 지정한 첫 번째 저장장치, 시스템 부팅할 때 사용 (sdb, sdc, ...)

  • 실제 리눅스 환경이라면 sda 디렉토리 내에 sda1, sda2 같은 이름도 존재한다.
  • 리눅스가 드라이브의 데이터를 더욱 효율적으로 관리하고자 만든 디스크 파티션에 해당한다.

 

📌 sudo

관리자 권한이 필요할 때 명령어 앞에 sudo를 붙이면 된다.