본문 바로가기
KNOU/UNIX

[UNIX시스템] 기말시험 요약정리

by bottlesun 2022. 12. 1.
728x90

요점 정리

GNU 프로젝트 (1987)

  • 리처드 스톨만이 UNIX와 유사한 공개 운영체제를 개발 하기 위해 GNU 프로젝트를 시작
  • 소프트웨어 상업화에 반대하고, 소스코드의 공유, 자유로운 사용 및 배포
  • Free Software Foundation(FSF) 운동의 시초

리눅스 배포판 종류

  • Debian 리눅스
    • GNU 정신에 가장 충실한 배포판
  • CentOS 리눅스
    • Red Hat 파생
    • 서버용으로 많이 사용 됨
  • Slackware 리눅스
    • 현존하는 가장 오래 된 배포판 , SLS 리눅스로부터 파생
    • 유닉스 자체 학습에 적합

리눅스 디렉토리 구조

디렉터리 의미
/ 최상위 디렉토리 , (절대경로의 기준)
/root root 계정의 홈 디렉토리
/dev 시스템 디바이스 파일(장치파일) 저장 디렉토리
/boot 부팅에 필요한 정보를 가진 디렉토리
/var 시스템에서 발생한 데이터, 로그 등이 저장 되는 디렉토리
/etc 시스템 설정 파일이 존재하는 디렉토리
/bin 기본 명령어가 있는 디렉토리
/home 사용자의 홈 디렉토리

셸에서 사용하는 특수문자

특수문자 의미
백슬래시 (\) 특수문자의 기능을 제거하는 이스케이프(escape) 문자
긴 명령 행을 분리 할때 사용  
틸드(~) ~ 또는 ~username 은 사용자의 디렉터리를 의미
도트(.) 현재 작업 디렉터리를 표시
더블 도트(..) 부모 디렉터리
파운드(#) 문자 맨 뒤에 나타나는 문자 주석처리
달러 ($) $변수 는 변수의 값을 추출
& 명령& 은 명령을 백 그라운드로 실행 시킴
애스터리스크 (*) 파일 이름에서 사용 할 때 0개 이상의 문자열과 대응
? 파일 이름에서 사용 될 때 1개 이상의 문자열과 대응
파이프( )
< , > 리다이렉션 시 입.출력 에 사용
>> 표준 출력을 파일의 끝에 덧붙일 때 사용
! 명령 히스토리 기능을 이용할 때 이용
# 주석처리

텍스트 파일 내용 출력 명령어

cat , more , less

리눅스 명령

명령어 의미
ls 현재 위치의 파일 목록 조회
cd 디렉토리 이동
alias 명령을 단축하여 다시 만들어주는 명령
mkdir 디렉토리 생성
cp 파일 복사
mv 파일 이동
rm 파일 삭제
cat 파일 내용 화면 출력
type 명령의 유형을 알려준다
man 매뉴얼
histtory 이전 수행 명령 목록

리눅스 런레벨(RunLevel)

서비스 관리를 위해 서비스 실행에 관련된 명령을 단계로 구분하여 적용하는 것을 의미

레벨은 0 ~ 6 로 나뉜다 ( 기본 - 런 레벨은 5)

RunLevel 의미
0 Power Off - 리눅스 시스템을 종료를 의미
1 Resuce - 시스템 복구모드
2 Multi-User - 네트워크를 사용하지 않는 상태
3 Full Multi-User - 텍스트 유저 모드
4 Multi-User(unused) - 사용하지 않음(X) 런레벨 3으로 취급 하기도 한다.
5 Graphical - 그래픽 모드의 다중 사용자 모드 (기본)
6 Reboot - 시스템 재부팅 모드

vi 편집

편집 모드 사용 용도
명령모드 커서/이동, 삭제, 복사/붙여넣기 수행
라인모드 저장, 검색, 대치 수행
입력모드 명령모드에서 i, a, o, I, A, O 의 단축키를 입력하여 입력모드로 전환
직접 글이나 코드를 작성 할 수있다.  

라인모드 종료 명령어

:q - 종료 (변경 내용이 없을경우) - 명령모드로 이동

:w [filename] - 저장

:x [filename] - 변경사항이 있었다면 저장 후 종료

[]! : 명령어 뒤에 !를 넣으면 강제로 실행.


파일 시스템

마운트

파일 시스템을 전체 디렉토리 구조에 특정 디렉토리를 연결

파티션 관리

물리적 저장장치를 논리적으로 분할한 구역

볼륨

크기가 재조정 될 수 있는 파티션 ( 크기를 늘리거나 줄일 수 있다)

볼륨 의미
물리 볼륨(PV) 하나의 물리적 디스크(PG)
볼륨 그룹(VG) 여러 물리 볼륨을 하나로 묶은 것으로 파티션의 한 종류
논리 볼륨(LV) 볼륨 그룹에서 사용 가능한 공간을 분할한 것

파일시스템

정보의 저장과 검색을 위해 저장 장치를 어떻게 구성하고 관리 할지에 대한 규칙

파일 시스템 명령어

명령어 의미
mount 파일 시스템을 마운트 하는 명령
unmount 디렉터리에 마운트 되어 있는 저장 장치를 해당 디렉터리로부터 분리
mkfs 파티션이나 논리 볼륨에 리눅스 파일 시스템을 만드는 명령
fask 파일 시스템의 무결성을 검사하고 손상된 파일을 고치는 명령
df 마운트 되어 있는 파일 시스템의 공간 사용 정보를 보여줌
du 디렉토리나 특정 파일의 디스크 사용량을 표시하는 명령

프로세스

커널에 등록되어 관리를 받는 작업 또는 실행중인 프로그램

포어그라운드 프로세스 (foreground)

쉘 프롬프트에서 명령을 실행하면 포어그라운드 모드로 수행됨

백그라운드 프로세스 (background)

백그라운드로 실행하려면 명령어 끝에 &를 추가하여 실행

프로세스의 상태변화

제한된 자원과 멀티 태스킹을 지원하는 운영체제에서 프로세스는 여러 상태 변화를 겪음

프로세스 명령어

명령어 의미
ps 현재 프로세스의 상태를 확인함
top 현재 실행중인 프로세스의 모니터링 과 관리를 위한 대화도구
kill 프로세스에 시그널을 보냄
killall 특정 프로세스에 한번에 시그널을 보내는 명령
nice 명령을 실행 할 때 NI 값을 조정 하는 명령 (-20(가장높음) ~ 19(낮음))
renice 실행 중인 프로세스의 NI 값(절댓값) 을 바꾸는 명령
nohup HUP 시그널과 무관하게 명령이 스스로 종료 될 때까지 계속 수행 시키는 명령
crontab 일반 사용자가 자신의 cron 작업을, 자신의 crontab 파일에 등록 할 때 사용해야 하는 명령

cron 서비스

지정된 시간에 주기적으로 자동 수행되는 작업을 수행함

crond 데몬 프로그램이 서비스를 제공


소프트웨어 패키지의 관리

  • 소프트웨어를 설치하고 업데이트 등을 하는 작업
  • 컴파일 되어 있는 패키지를 다루고, 지원 도구를 사용하는 것이 효율적

RPM (Red Hat Package Manager)

RedHat 계열 리눅스의 표준 패키지 파일 형식

YUM (Yellowdog Updater Modified)

RPM 방법에 기초한 자동 패키지 설치, 업그레이드 및 삭제 도구 (rpm의 의존성 문제를 해결)


네트워크 인터페이스

  • 컴퓨터와 네트워크 간의 연결을 제공하는 장치
  • 개별 네트워크 인터페이스 카드는 고정된 이더넷 주소(MAC주소) 를 가지고 있으며 IP 주소를 할당 받을 수 있다.

네트워킹 서비스

네트워킹의 사용을 위해 반드시 필요하며 네트워크 카드의 활성화/비활성화를 담당

네트워크 설정 파일

파일명 의미
/etc/sysconfig/network 네트워킹의 활성화 여부, 호스트명, 기본 게이트웨이 등 기본적 네트워크 설정을 포함한 파일
/etc/resolv.conf DNS 서버를 지정, 사용 할 도메인 명과 도메인 검색 경로 등도 지정 (네임서버 , IP)
/etc/hosts 호스트명과 IP 주소 및 별명을 설정한 파일
/etc/hosts.allow 현재 시스템의 TCP/IP 서비스를 이용할 수 있는 호스트들을 설정함
/etc/hosts.deny 현재 시스템의 TCP/IP 서비스를 이용할 수 없는 호스트들을 설정함

네트워크 기능 명령

명령어 의미
ifconfig 네트워크 인터페이스 정보를 확인하거나 설정하는 명령
ping ICMP(Internet Control Message Protocol)의 에코(echo)를 이용하여 원격 호스트와의 연결 여부와 네트워크의 상태 정보를 점검
arp 같은 네트워크 에 있는 호스트 들의 MAC 주소, IP 주소, 인터페이스 이름 등 확인하는 명령
traceroute 현재 호스트에서 특정 호스트까지 통신이 이루어지는 경로 확인
route IP 라우팅 테이블을 설정하거나 확인하는 명령
netstat 네트워크 상태에 관한 정보를 출력하는 명령
nslookup DNS 서버를 이용하여 호스트의 IP 주소를 확인함

원격관리

전통적인 방식(지금은 잘 사용하지 않음)

  • 전통적 방법들은 암호화가 되지 않은 데이터를 주고 받음
명령 의미
telnet 원격 컴퓨터에 telnet 이라는 프로토콜로 접속
ftp 파일 업로드 및 다운로드 할 수 잇는 파일 전송 프로토콜
rcp 원격 파일 복사 명령어 (일회용)

원격 관리를 위한 전통적인 방법(telnet, ftp, rcp 등)의 문제

서버와 클라이언트 간 연결을 통해 주고받는 모든 명령과 결과 및 계정 정보 등이 암호화되지 않음

SSH(Secure Shell)

원격 로그인이나 원격 데이터 통신에 사용되는 프로토콜로 패킷을 암호화하여 전송

전통적인 원격 관리 방법의 문제를 해결


웹서버

클라이언트의 HTTP 요청을 처리하여 웹 페이지의 내용을 클라이언트에게 제공하는 서버 프로그램

HTTP (HyperText Transfer Protocol)

웹 환경에서 서버와 클라이언트 간에 정보를 주고 받기 위한 프로토콜

요청(request) 과 응답(response) 프로토콜

클라이언트가 서버에게 특정 자원에 대한 요청(GET, POST 등)을 보냄
클라이언트의 요청에 대해 서버가 응답함

APM(Apache, PHP, MySQL)

Apache HTTP 서버, PHP 스크립트 처리기, MySQL 데이터베이스 관리 시스템을 지칭함

PHP(PHP : Hypertext Processor) 스크립트 처리기

PHP 는 동적으로 웹페이지를 생성 할 수 있다.

서버에 실행 되며 HTML 파일에 포함되어 사용 됨

MySQL 데이터 베이스 관리 시스템

데이터베이스 관리 시스템으로 C/C++, C#, Java, PHP 등 다양한 언어에서 사용할 수 있도록 API를 제공함

 

 

할게 아직 너무 많다..ㅜ 
728x90

'KNOU > UNIX' 카테고리의 다른 글

[UNIX시스템] 웹 서버  (0) 2022.11.30
[UNIX시스템] 파일시스템 관리  (0) 2022.11.30
[UNIX시스템] 네트워크 설정 및 점검  (0) 2022.11.30
[UNIX시스템] 소프트웨어 관리  (0) 2022.11.30
[UNIX시스템] 프로세스 관리  (0) 2022.11.30

댓글