• Home
  • About
    • 박혜원의 블로그 :) photo

      박혜원의 블로그 :)

      통계, R 또는 Python 프로그래밍에 대하여 글을 쓰는 블로그

    • Learn More
    • Email
    • LinkedIn
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

리눅스 개요 및 시스템 구조

19 Jul 2025

리눅스란?

  • 다중 사용자 시스템으로, 동시에 여러 사용자가 작업할 수 있음
  • CLI 중심의 운영 체제로 서버에서 많이 사용됨
  • 커널과 셸로 구성되며, 명령어를 입력해 시스템을 제어함

사용자 레벨

  • 관리자(Super-user): root 계정으로 모든 권한을 가짐.
  • 일반 사용자: 제한된 권한을 가짐. su(switch user) 명령어로 root로 전환 가능.
    $ su -username // username 안 쓰면 root로 변경됨
    

로그인 및 접속

  • Local login: 직접 터미널에서 접속.
  • Remote login: 원격으로 접속하며, telnet(보안 취약), ssh(보안 우수) 방식이 있음.
  • ssh는 기본적으로 포트 22번 사용.

파일 시스템 구조

  • 트리(Tree) 구조 기반.
  • 루트 디렉토리(/)를 기준으로 계층적으로 구성됨.
  • /root : root의 홈 디렉토리
  • /home/사용자명 : 일반 사용자의 홈 디렉토리

커널(Kernel)

  • 운영 체제의 핵심.
  • 하드웨어와 가장 가까운 레벨에서 동작하며 자원 관리, 시스템 호출을 처리함.
  • 예: 프로세스 스케줄링, 메모리 관리, 파일 시스템 제어 등.

셸(Shell)

  • 명령어 해석기로 사용자의 입력을 받아 커널에 전달.
  • 종류: sh, csh, ksh, bash 등.
  • bash가 표준으로 널리 사용됨.

Shell의 역사(?)

  1. sh : 본셸(Bourne Shell, 70년대 중반, 최초의 셸
  2. csh : BSD 계열, 씨셸, 본셸 개선
  3. ksh : System 계열, 콘셸, Unix User들이 많이 사용, vi 편집기를 기본으로 사용해서 일반 user들이 쓰기는 조금 어려움
  4. bash : 배쉬셸(Bourne Again Shell), emax 에디터 사용

프롬프트에서의 명령어 구조

  • 일반적인 명령어 형식: bash 명령어 [옵션] [인자]
  • 예: bash ping -c 3 www.google.com → 구글에 3번 ping

csh 부터 문법이 조금씩 달라지기 때문에 본인이 사용하는 셸의 종류를 아는 것이 매우 중요!

echo $0 // 현재 실행중인 셸
echo $SHELL // 로그인 셸
ps -e // Process status -every

사용하는 셸을 변경하고 싶다면

chsh -s /bin/csh

커널 vs 셸

항목 커널 셸
정의 운영체제의 핵심(Core) 명령어 해석기(Command Line Interpreter)
위치 하드웨어와 가장 가까운 최저레벨 사용자와 가장 가까운 최상위 인터페이스
역할 자원관리, 시스템호출처리 명령어 입력 → 해석 → 커널에 전달
예시 프로세스 스케줄링, 메모리관리, 파일시스템 명령어 실행(ls, cd, cat, ...)
실행 방식 백그라운드에서 항상 작동 사용자가 로그인 할 때 실행됨 (터미널 등)
예시 종류 Linux Kernel, Windows NT Kernel 등 bash, zsh, sh, fish 등

기본 명령어 위치

  • /usr/bin : 일반 명령어 (ls, cp, ping 등)
  • /usr/sbin : 관리자용 명령어 (useradd, shutdown, fdisk 등)

시스템 버전 확인

uname [option]
  • -a : 커널 전체정보
  • -s : 커널명
  • -r : 커널 릴리즈 정보
cat /proc/version

터미널 팁

  • Ctrl + Shift + +/- : 폰트 크기 조절
  • 일반 사용자 프롬프트: $
  • 관리자(root) 프롬프트: #


Linux Share Tweet +1