AWS 기반 데이터분석 처리 고급 SW 클라우드 개발자 양성과정

AWS 기반 데이터분석 처리 고급 SW 클라우드 개발자 양성과정

딩코딩코딩 2023. 3. 7. 20:07

01 리눅스의 기초

■ 리눅스와 유닉스

- 리눅스는 유닉스 계열의 운영체제

- 리눅스 = 리눅스 + 유닉스

- 유닉스

1) 69년 AT&T의 벨 연구소에서 어셈블리어로 처음 개발

2) 71년에 C언어로 재개발 -> 최초의 고급 프로그래밍 언어로 작성한 운영체제로 이식성 높음

3) AT&T의 상용 유닉스와 오픈 소스 버전인 BSD로 나뉘어 발전

4) BSD는 AT&T의 라이선스가 필요 없는 FreeBSD로 발전

 

■ 리눅스 배포판

- 리눅스 커널 + 응용 프로그램으로 구성

- 레드햇 계열, 데비안 계열, 슬랙웨어 계열

- 주요 리눅스 배포판 계통도

 

■ 우분투 리눅스

- 데비안 계열의 리눅스의 최신 버전인 17.10

- 데비안 기반의 리눅스 중 가장 성공한 데스크톱 배포판으로 많은 사랑을 얻음

- 우분투는 데비안 GNU/리눅스에 바탕

- 그놈(GNOME)을 기본 데스크톱 환경으로 사용

- 기본 시스템 도구 외에도 리브르오피스LibreOffice, 파이어폭스, 웹 브라우저, 에볼루션(메일/일정 편집기), 엠퍼시(메신저) 등 다양한 응용 소프트웨어도 함께 제공

 

■ 리눅스의 특징

1) 리눅스는 공개 S/W & 무료 사용 가능

2) 유닉스와의 완벽한 호환성을 유지함

3) 서버용 운영체제로 많이 사용됨

4) 편리한 GUI 환경을 제공함

 

■ 리눅스의 구조

1) 커널: 리눅스의 핵심

- 프로세스 / 메모리 / 파일시스템 / 장치 관리

-컴퓨터의 모든 자원 초기화 및 제어 기능

2) 셸: 사용자 인터페이스

- 명령 해석

- 프로그래밍 기능

- 리눅스 기본 셸: 배시 셸(리눅스 셸)

3) 응용 프로그램

- 각종 프로그래밍 개발 도구

-문서 편집 도구

- 네트워크 관련 도구

 

■ 가상머신

- PC에 설치되어 있는 운영체제(호스트OS)에 가상의 머신(시스템)을 생성한 후 여기에 다른 우영체제(게스트 OS)를 설치할 수 있도록 해주는 응용 프로그램

가상 머신 호스트 OS 게스트 OS
버추얼 박스 윈도 계열 운영체제, 대부분의 리눅스, 애플 맥, 솔라리스 윈도 계열 운영체제, 대부분의 리눅스 배포판, 솔라리스, Mac OS, OpenBSD

■ 우분트 설치하기

- 리눅스를 설치할 때 디스크의 파티션은 기본적으로 boot 파티션(/boot), root 파티션(/), swap 파티션으로 구분

- 리눅스 파티션을 용도에 따라 구분한 예

마운트 포인트 설명
필수 / root 파티션으로 시스템 설정 등 주요 내용이 저장됨
/boot boot 파티션으로 리눅스 부팅 커널이 저장됨. 대략 500MB를 할당함
swap 메모리(RAM)가 부족할 때 사용되는 영역으로 대개 RAM 크기의 2배 정도로 설정함
선택 /usr 명령어, 응용 프로그램 등이 주로 저장됨
/var 로그 파일 등이 주로 저장됨
/tmp 시스템 사용 중에 발생하는 임시 파일이 저장됨
/home 사용자 홈 디렉터리가 위치함

*우분투는 17.10부터 그놈을 기본 GUI로 사용

 

■ 프롬프트 기호와 홈 디렉터리

1) 프롬프트

- 사용자의 명령 입력을 기다리는 표시

- 셸에 따라 다르게 나타남: 배시 셸= $, 시스템 관리자 = #

배시 셸이란?

쉘은 커널(Kernel)과 사용자간의 다리 역할을 하는 것으로 사용자로부터 명령을 받아 그것을 해석하고 프로그램을 실행함.

쉘은 사용자가 시스템에 로그인하면 -> 각 사용자에게 쉘이 부여 되면서 다양한 명령어 수행 가능                          사용자에게 쉘을 부여 안하면, 명령할 수 없음(로그인 막는 효과)

*스티븐 본(Steven Bourn)이 유닉스 버전 7의 기본 쉘이 되는 본 쉘(Bourne Shell, sh)를 개발

**배쉬쉘(Bash Shell)? GNU프로젝트를 위해 개발하였으며 본 쉘(Bourne Shell)을 기반으로 만들어짐. GNU 운영체제, 리눅스, 맥 OS X 등 다양한 운영체제에서 사용중이며 현재 리눅스의 표준 쉘임. bash의 명령어 문법은 sh와 호환되고 ksh와 csh의 유용한 기능을 참고하여 명령 히스토리, 명령어 완성 기능, 히스토리 치환, 명령행 편집 등을 지원함.

ex) root@ServerTest2:~#

현재접속중인 유저명= root / ServerTest2=협재 접속 중인 호스트명, #은 슈퍼유저(시스템 관리자)

 

2) 기본 디렉터리

- 터미널 창의 기본 디렉터리는 사용자의 홈 디렉터리에 위치

- 'user1@myubuntu:~$' 

user1은 사용자 계정, myubuntu는 호스트의 이름으로 우분투 시스템 자체를 의미

- 사용자의 홈 디렉터리는 사용자 계정을 등록할 때 지정

 

■ 명령 행 편집 방법

- 문자 지우기: Backspace, Del

- 단어 지우기: Ctrl + W, 단어는 공백 문자로 구분

- answkd wldnrl: Ctrl + U

 

■ 명령의 구조

명령의 구조
- 형식: 명령 [옵션] [인자]
- 명령: 리눅스를 사용하기 위해 입력하는 다양한 명령은 date, man, ls, cp, mv 등 수백가지가 있음
- 옵션: 옵션을 사용하여 명령의 세부 기능 선택 가능. 리눅스의 기능을 풍부하게 하는 중요한 특징으로, 명령에 따라 있는 경우도 있고 없는 경우도 있다. 옵션은 - 또는 --로 시작하며 영문 소문자나 대문자로 구성된다. 명령에 따라 어떤 옵션이 있고 그 기능이 무엇인지는 해당 명령의 사용법을 참조한다.
- 인자: 인자는 명령으로 전달되는 값이며 주로 파일명이나 디렉터리명이 사용됨. 명령에 따라 없을 수도 있고 각 명령에 필요한 인자가 각기 다르므로 사용법 참조.

■ 명령만 사용한 경우

user1(사용자계정:root)@myubuntu(Super User, 시스템 관리자):~$ ls

examples.desktop 공개  다운로드  문서  바탕화면  비디오  사진  음악  템플릿  

 

■ 명령과 옵션을 사용한 예

user1@myubuntu:~$ ls -a

 

■ 명령과 인자를 사용한 예

user1@myubuntu:~$ ls tmp

 

■ 명령과 옵션, 인자를 사용한 예

user1@myubuntu:~$ ls -a /tmp

 

date, clear, man(사용법 설명), exit = ctrl + d

■ passwd: 사용자 계정의 비밀번호 변경 / 형식: passwd [인자]

user1@myubuntu:~$ passwd

passwd: 암호를 성공적으로 업데이트 했습니다.


2강

01 리눅스 파일의 종류와 특징

■ 파일의 종류

- 파일: 관련 있는 정보들의 집합

- 리눅스는 파일을 효과적으로 관리하기 위해 디렉터리를 사용

- 리눅스에서 파일은 사용 목적에 따라 일반 파일, 디렉터리, 심벌릭 링크, 장치 파일로 구분

 

1. 일반파일(Regular File)

- 데이터를 저장하는 데 주로 사용

- 각종 테스트 파일, 실행 파일, 이미지 파일 등 리눅스에서 사용하는 대부분의 파일은 일반 파일에 해당

- 텍스트 파일은 문서 편집기를 사용하여 내용을 보거나 편집할 수 있으나, 실행 파일이나 이미지 파일의 경우 해당 파일의 내용을 확인할 수 있는 특정 응용 프로그램이 있어야 활인할 수 있음

- 실행 파일/이미지 파일 = 바이터리 형태로 데이터가 저장됨 = 바이너리 파일

 

2. 디렉터리(Directory)

- 리눅스에서는 디렉터리도 파일로 취급

- 디렉터리 파일에는 해당 디렉터리에 저장된 파일이나 하위 디렉터리에 대한 정보가 저장

 

3. 심벌릭 링크

- 원본 파일을 대신하여 다른 이름으로 파일명을 지정한 것(윈도우의 바로가기 파일과 비슷)

 

4. 장치파일

-리눅스에서는 하드 디스크나 키보드 같은 각종 장치도 파일로 취급