본문 바로가기
정보처리기사/프로그래밍 언어 활용

UNIX

by jhwannabe 2023. 8. 5.

UNIX의 개요

UNIX의 특징

  • 시분할(Time-sharing) 시스템을 위해 설계된 대화식 운영체제
  • 소스가 공개된 개방형 시스템(Open System)
  • 트리 구조의 파일 시스템을 가짐
  • 멀티 유저(Multi-User), 멀티태스킹(Multi-tasking)을 지원함
  • 하나 이상의 작업에 대하여 백그라운드에서 수행 가능함
  • 90% 이상이 고급 언어인 C로 구성되어 있어서 이식성이 높음

UNIX 시스템의 구성

커널(Kernel) - UNIX 시스템의 가장 핵심적인 부분
- 프로세스 관리, 메모리 관리, 파일 관리, 입출력 관리 등의 기능을 수행함
쉘(Shell) - 사용자가 지정한 명령들을 해석하여 커널로 전달하는 명령어 해석기
- 시스템과 사용자 간의 인터페이스를 담당함
- 종류 : C Shell, Bourn Shell, Korn Shell 등
유틸리티(Utility) - 사용자의 편의를 위한 프로그램
- 종류 : 편집기, 컴파일러, 인터프리터 등

UNIX 파일 시스템의 구조

부트 블록
(Boot Block)
부팅에 필요한 코드를 저장하고 있는 블록
슈퍼 블록
(Super Block)
전체 파일 시스템에 대한 정보를 저장하고 있는 블록
I-node 블록
(Index Node Block)
- 각 파일에 대한 정보를 저장하고 있는 블록
- 파일 소유자의 식별번호, 파일 크기, 파일의 최종 수정 시간, 파일 링크 수 등의 내용을 가지고 있음
데이터 블록
(Data Block)
실제 데이터를 저장하고 있는 블록

 

UNIX 명령어

시스템 관련 명령어

  • login : UNIX 시스템에 접속함
  • logout : UNIX 시스템 접속을 종료함
  • finger : 시스템에 등록된 사용자의 정보를 표시함
  • who : 현재 로그인 중인 각 사용자에 고나한 정보를 표시함
  • ping : 네트워크상의 문제를 진단함
  • fsck : 파일 시스템의 무결성을 검사함
  • mount : 기존 파일 시스템에 새로운 파일 시스템을 서브 디렉터리에 연결함
  • unmae : 현시 시스템 정보를 확인하는 명령어 (옵션 -a : 시스템 모든 정보 출력)

프로세스 관련 명령어

  • fork : 새로운 프로세스를 생성함
  • exec : 새로운 프로세스를 수행함
  • exit : 프로세스 수행을 종료함
  • wait : 자식 프로세스 중 하나가 종료될 때까지 부모 프로세스를 임시로 중지시킴
  • kill : 현재 실행 중인 프로세스를 종료하거나 한 줄 전체를 지움
  • ps : 현재 실행 중인 프로세스의 상태를 표시함
  • getpid : 자신의 프로세스 아이디를 구함
  • getppid : 부모 프로세스 아이디를 구함

디렉터리 관련 명령어

  • pwd : 현재 작업 중인 디렉터리의 경로를 표시함
  • ls : 현재 디렉터리 내의 모든 파일을 표시함
  • mkdir : 디렉터리를 생성함
  • rd :파일 디렉터리를 삭제함
  • cd : 디렉터리의 위치를 변경함

파일 관련 명령어

  • create : 파일을 생성함
  • open : 파일을 사용 가능한 상태로 준비시킴
  • cp : 파일을 복사함
  • rm : 파일을 삭제함
  • mv : 파일의 이름을 바꿈
  • cat : 파일의 내용을 화면에 표시함(cat /etc/ *release* : 리눅스 릴리즈 정보 확인
  • chmod : 파일의 사용 권한을 지정함
  • chown : 파일의 소유자를 변경함

 

UNIX 환경 변수

환경 변수(Environment Variables)의 개념

  • 쉘(Shell) : 프로그램들 사이에서 값을 전달해 주는 역할을 하는 변수
  • 프로세스가 컴퓨터에 동작하는 방식에 영향을 미치는 값들의 집합
  • 기본적으로 환경 변수는 대문자를 사용함

환경 변수 관련 명령어

  • env : 전역 환경 변수를 설정하거나 출력함
  • set : 사용자 환경 변수를 설정함
  • printenv : 현재 설정되어 있는 환경 변수의 값을 모두 출력함
  • echo : 특정 환경 변수의 값을 출력함
  • setenv : 환경 변수의 값을 설정함

BASH Shell

  • LINUX, MAC OSX 등 다양한 운영체제에서 사용되며 LINUX 표준 쉘임
  • LINUX에서 환경 변수를 설정하는 명령어에는 env, set, export 등이 있음
    • env : 전역 변수 설정, 조회, 삭제
    • set : 사용자 환경 변수 설정 및 조회
    • export : 사용자 환경 변수 전역 변수로 설정
    • declare : 변수 타입을 설
728x90

'정보처리기사 > 프로그래밍 언어 활용' 카테고리의 다른 글

TCP/IP 프로토콜  (0) 2023.08.05
OSI 7계층과 오류 제어 방식  (0) 2023.08.05
분산 운영체제  (0) 2023.08.05
정보 관리  (1) 2023.08.05
디스크 스케줄링  (0) 2023.08.05