일반적으로 데이터가 저장되는 컴퓨터라고 생각하기 좋지만, 서버는 서비스를 제공하는 프로그램이다.
서비스를 이용하는 프로그램
웹 클라이언트: 크롬, 사파리
nginx, apache(httpd)
Tomcat, IIS
maria, postgres, oracle, mysql, mssql
컴퓨터의 자원을 효율적으로 사용할 수 있도록 해주는 프로그램(CPU, RAM, HDD, I/O 등)
- 윈도우에서 탐색기를 끄면? => 아무것도 표시가 안됨(탐색기가 아이콘을 표시해주고 실행시켜주기 때문) 탐색기는 부팅과 동시에 자동 실행됨
리눅스도 윈도우와 같은 운영체제의 일종
리눅스 할 줄 아나? => 리눅스로 프로그램 다운, 실행 삭제 등을 할 줄 아냐는 질문
리눅스는 왜 쓰는가?:
- 무료임(오픈소스 운영체제, 윈도우는 유료이고 소스코드 공개가 되어있지 않음)
- 윈도우처럼 GUI를 신경쓰지 않아도 돼서 자원 사용에 있어서 유리함
즉 윈도우보다 싸고 효율적이고 가볍다!
Ubuntu
CentOS(서버에 적합) * 이걸 수업때 기준으로 씀
레드햇은 유료임!
커널:
프로세스 스케쥴링, 메모리 관리, 파일시스템 관리, 장치드라이버 관리 등
OS의 핵심 기능을담당하는 구성요소
쉘:
윈도우에서 탐색기와 cmd에 해당 | 리눅스는 쉘을 통해 명령어로 관련한 기능을 수행한다.
명령어:
특정 작업을 수행하도록 CLI(Command Line Interface)를 통해
OS에 주어지는 명령이다. ex) ls, ipconfig 등등
H/W:
컴퓨터 시스템의 물리적 요소를 일컫는 말
ex) CPU, 메모리, 저장장치 등
VM(가상머신)을 통해 컴퓨터 사양을 직접 세팅해 가상으로 작동시킨다
VMware 기준 과정
Linux - CentOS 8 64bit (* 최신버전은 잘 안쓰는 편 - 버그많음)
- pwd: 현재 작업 디렉토리 확인
- cd [경로]: 해당 경로로 이동
- cd -: 이전 디렉토리로 이동
- cd ..: 한 단계 상위 디렉토리로 이동
- ls -al: 디렉토리 내용 확인(a: 숨겨진 파일 l:자세히)
- cp -r [원본경로][사본경로]: 폴더를 경로로 복사
- mv [원본경로][바꿀경로]: 이동 및 이름 변경
- mkdir [생성할 디렉토리 이름]: 폴더 생성
- rm -rf [삭제할 파일 or 디렉토리 경로]: 폴더와 파일 포함 전부 삭제
- 기본적인 이동, 복사, 삭제 등은 폴더와 동일
- touch [생성할 파일 이름]: 파일 생성(빈 메모)
- find [경로] -name [이름]
- 이름만 입력시: 일치하는 파일
- 이름뒤*: 포함하는 모든 파일
- ps -ef: 실행중인 프로세스 목로 표시
- kill -9 [pid]: 해당 pid를 가진 프로세스 종료
- pid란?: 컴퓨터가 실행된 프로그램을 구분하는 번호(매번 다르다)
tar는 압축이라기보단 아카이브 파일에 가깝다(압축은 gzip)
- tar cvf [아카이브 파일이름][압축할 파일1] [압축할 파일2] ...: 아카이브 파일 생성
- tar xvf [아카이브 파일이름]: 아카이브 해제
- gzip [압축할 파일]: 압축
- gunzip [압축 파일 이름]: 압축 해제
- tar zxvf [압축 및 아카이브 파일이름]: 압축 및 아카이브 한 번에 해제
i(insert): 편집모드(커서 앞에서 편집 시작)
a(insert): 편집모드(커서 뒤에서 편집 시작)
esc: 명령모드로 나가기
:w - 저장
:q - 나가기
:wq! - 저장하고 나가기(!는 강제 덮어쓰기)
G: 마지막줄
gg: 첫 줄
$: 커서 줄의 가장 오른쪽으로 이동
0: 커서 줄의 가장 왼쪽으로 이동
[라인번호]G: 해당라인으로 이동
w: 한 단어 뒤
b: 한 단어 앞
yy: 한 줄 복사
y[커서 이동]: 커서 이동만큼 복사
p: 붙여넣기(커서 아래줄에)
u: 되돌리기
r: 해당 커서의 내용 수정
:set nu 라인 넘버 표시
:set nonu 라인 넘버 표시 안함
find [경로] [조건] [아규먼트] [행동]
경로: 어디를 기준으로 검색?
조건: 어떤 조건으로? ex) 이름이 ~~인
아규먼트: 조건에 맞는 값
행동: 결과 처리 어떻게?
systemctl start [서비스 프로그램 이름]
systemctl restart [서비스 프로그램 이름]
systemctl stop [서비스 프로그램 이름]
systemctl status [서비스 프로그램 이름]
netstat -anlp: 네트워크 상태 확인
setenforce 0: 로컬 방화벽 off
systemctl stop firewalld: 네트워크 방화벽 off
커서가 VMware 안쪽에 갇힌다? => Ct+Alt로 나가기
운영체제는 기본적으로 하드디스크에 저장됨
사용자명과 비밀번호로 로그인(비밀번호는 원래 입력해도 안보임)
왜 리눅스와 VMware를 사용하나?
=> 개발한 코드를 실행해둘 컴퓨터가 필요한데 이를 가상으로 구축하기 위함(실행해둘 컴퓨터가 리눅스를 주로 사용)명령어(ipconfig, ls 등등)란?: 하나의 프로그램(OS에 의해 실행됨)
PATH?: 프로그램 구동을 위한 주소를 특정 명령어로 미리 등록해두어 사용하기 위함
절대경로: 최상위 디렉토리부터 전체를 표기
상대경로: 절대경로를 제외한 모든 경로(일반적으로 현재 경로를 기준으로 함)윈도우든 리눅스든 대부분의 파일은 텍스트 형태이며 중요한건 파일의 내용이다
따라서 확장자만 바꾼다고 해서 파일 자체의 성격이 변하지는 않는다.