[Linux] Linux Basic

조성열·2025년 9월 23일

Toss - Linux

목록 보기
1/15
post-thumbnail

Server 운용시 OS 선택 기준

관리 환경에서 리소스가 많이 차지하면 서비스 환경이 저하되기 때문에 관리환경 리소스는 최소화 되어야 한다.
즉, OS에 할당되는 리소스가 적어야 한다. window는 사용성을 위해 설계됐기 때문에 server용 OS로 부적합하다. Linux/Unix 계열 OS들도 Window처럼 GUI를 제공하긴 하지만 사용하는 리소스가 훨씬 적기 때문에 많이 사용한다.

Unix to Linux

Linux는 open source 기반이기 때문에 설치 비용이 없다. Unix는 하드웨어에 최적화 되어 있는 os이다. 과거에는 물리적으로 다양한 하드웨어를 운용할 수 있어 많이 사용됐다. 하지만 가상화 같은 기술이 등장해서 하드웨어에 종속 될 필요가 없어 범용성이 좋고 Multi User 환경을 지원하는 현재는 Linux를 많이 사용한다.

Shell

Kernel - User 사이 Interface. 사용자가 입력한 명령을 기계어로 변환하는 역할.
대표 Bash Shell, ZShell.

Link == windows 바로가기
파일 이름과 실제 데이터가 있는 곳과 이어주는 것. 연결 방식에 따라 hard or symbolic 구분

  • Hard Link
    파일 또는 디렉토리의 실제 저장 위치를 가리킴. 실제 저장 위치와 같은 곳을 가리키기 때문에 Hard Link 파일을 많이 만들어도 용량 차지를 안함.
  • Symbolic Link
    특정 파일 또는 디렉토리를 가리키고 있는 포인터. 윈도우 바로가기와 같음.

Intro

Process는 Program이 실행되고 있는 상태를 말한다. Process는 parent-child 구조로 되어 있음.
컴퓨터가 부팅될 때 수많은 process가 실행되는데 이때 background process를 daemon이라고 함
또한 자식 프로세스가 종료되면 부모 프로세스로 돌아가게 되는데, 돌아가기 전에 부모 프로세스가 종료되면 자식 프로세스는 Orphan이 되고, Process 종료시 사용하던 리소스 역시 반납을 하게 되는데 이때 프로세스가 종료됐지만 리소스 반납이 되지 않은 상태를 zombie라고 함.

PID, PPID

Process 관리를 위해 각각 부여되는 ID값을 PID라고 한다. 부모, 자식 프로세스 구분을 위해 자식 프로세스를 생성한 부모 프로세스를 확인할 수 있는 PPID도 있다.
프로세스를 확인하는 명령어는 ps다. ps명령에는 f, e 옵션이 있다. f 는 상세 정보 출력, e는 모든 프로세스 정보 출력에 해당한다. f는 소유자, 부모 프로세스 번호, 시작 시간 등 더 다양한 정보 확인이 가능하고, e옵션은 ps명령과 같은 항목이 출력되지만 모든 프로세스를 출력한다.


pstree/ptree

시스템 상 부모-자식 프로세스 사이 관계를 tree 형태로 확인 가능하다. ptree는 Unix, pstree는 Linux에서 사용한다.


작업 관리

작업(job)은 shell이 관리하는 프로세스다. shell은 Foreground, Background, Stopped 세 가지 상태로 작업을 관리할 수 있다.

  • jobs
    현재 동작, 백그라운드에서 정지 중인 모든 작업 출력
  • bg %n
    지정 작업 백그라운드 실행
  • fg %n
    지정 작업 포그라운드로 가져옴
  • Ctrl-Z
    포그라운드 작업 정지 후 정지 작업으로서 백그라운드로 옮김
  • stop %n
    백그라운드 동작 작업을 정지
profile
Blue Team

0개의 댓글