컴퓨터는 무엇으로 이루어져 있나?
Hardware -> CPU, 메모리(RAM), Hard Disk, I/O(입출력장치)
명령어란?
ipconfig
-> 명령어 => 일종의 프로그램
window
기준으로 cmd
에서 명령어를 입력하면
/system32
에 저장되어 있는 ipconfig.exe를 실행하는 것과 같다.
웹 브라우저란?
file을 download 받아서 보여주는 client program
client program -> 서비스를 이용하는 program
서버란?
service를 제공하는 일종의 program
Linux -> OS
Window -> OS
MSA
트래픽이 몰릴 때 서버가 터질 수 있다.
한 순간에 몰릴 수 있는 트래픽을 잘 관리하려면 여러 대의 서버를 사용해야 한다.
Docker로 container 환경을 조성하고
Kubernetes로 운영 환경을 조성한다.
이 때, MSA Architecture는 유연하게 서버 운영을 하기 위해 사용되는 개념이다.
기타
노트북 -> 회사 (vpn으로 망 접속) -> 개발망 - vm, container, kubernetes, openstack
노트북 -> 회사 (vpn으로 망 접속) -> 운영망
개발망 - 테스트 등의 개발 진행
운영망 - 개발망과 거의 비슷한 환경이지만 에러가 있으면 절대 안된다.
우리는 Window
노트북에 VMWare Workstation Pro 17
을 설치한 후
CentOS 8 OS
을 설치해서 사용할 것이다.
(강사님의 .ova
파일 import하는 방식 선택)
File System
Format
= File system을 새로 만들겠다.Window
는 c,d,e 등의 드라이브가 여러 개 있을 수 있지만Linux
는 최상위 디렉토리가 단 하나 존재한다.kernel
→ 운영체제shell
→ kernel이 알아들을 수 있는 명령어로 communicationbash (shell)
로 모든 명령어를 내림. promt
Linux
에서는 사용자가 커널을 직접 조작할 수 없게 되어 있기 때문에
둘 사이에서 명령어를 받아들이고 커널의 실행 결과를 출력하는 sw가 필요하다.
-> 이 역할을 수행하는 sw ==> shell
: 파일의 종류
- 폴더
- 폴더 이동
- cd /etc/test 경로: 상대 경로 or 절대 경로
- 폴더 안 파일 목록 보기
- ls -al
- 폴더 생성
- mkdir 경로
- 폴더 삭제
- rm -rf 경로
- 폴더 이름 변경
- mv 원본경로 바뀔경로
- mv jbc abc (jbc → abc로 이름 변경)
- mv /etc/sysconfig/network-scripts/jbc /etc/sysconfig/network-scripts/abc
- 위 두 개의 명령어 동일.
- 폴더 옮기기
- mv 원본경로 옮길경로
- 폴더 복사
- cp -r 원본경로 바뀔경로
- cp -r def def2
- 파일
- 빈 파일 생성
- touch file (file명: file)
- 파일 내용 확인
- cat file (file명 or 경로)
- cat, head, tail, more ...
- 대부분의 명령어는 폴더와 같음.
- 문서 편집
- 커서 이동
- hjkl, gg, G, nG, $, 0, b, w
- 찾아서 수정
- :%s/원본/수정/g
vi
명령 모드 (command mode)
커서 이동
G
: 가장 마지막 줄로 이동gg
: 첫 번재 줄로 이동[n]G
: n번 째 줄로 이동$
: 커서가 위치한 줄의 맨 앞으로 이동0
: 커서가 위치한 줄의 맨 앞으로 이동w
: 커서가 한 단어씩 오른쪽으로 이동b
: 커서가 한 단어씩 왼쪽으로 이동삭제
x
: 한 문자 삭제, 또는 Edit 모드에서 backspace
나 delete
키로 삭제dd
: 커서가 위치한 한 줄을 삭제d[커서 이동]
: 커서를 이동하는 만큼 삭제커서 맨 앞
+ d
+ G
: 전체 삭제수정
r
: 커서가 위치한 부분의 문자 하나를 입력하는 문자로 대체u
: 작업 취소 (Ctrl + z처럼)복사 및 붙여 넣기
yy
: 커서가 위치한 한 줄을 복사y[커서 이동]
: 커서 이동하는 만큼 복사p
: 커서 밑이나 커서 다음에 붙여넣기i
입력 -> Edit mode -> 원하는 대로 편집 가능
last line mode
파일을 저장하거나, 종료하거나 저장하지 않고 그냥 종료, 검색, 바꾸기
command mode
에서:w
(저장):q
(종료):wq
(저장 및 종료):w!
(강제 저장):q!
(강제 종료):wq!
(저장 및 강제 종료):set nu
(line 번호 표시)
cp -r /etc/passwd/ltw/a/passwd
/root/ltw/a/passwd
에 passwd 파일 이동 후 여기서 편집 실습
find
find / -name passwd
find / -name *.java
바로 가기
와 비슷한 개념ln -s /root/ltw/passwd(원본) /a
최상위 경로에 a라는 바로가기를 추가하겠다는 의미.
'-' : 보통 file
d : directory
l : symbolic link
d | rwx | r-x | r--
lim 계정을 root 관리 그룹에 추가
'-' : 일반 file
소유자 : r w x (7)
소유 그룹: r - x (5)
기타 사용자 : r -x (5)
읽기 | 쓰기 | 실행 | |
---|---|---|---|
소유자 | 허가 | 허가 | 허가 |
소유 그룹 | 허가 | 금지 | 허가 |
기타 사용자 | 허가 | 금지 | 허가 |
** 권한 **
000
001
002
...
777
-------------------------------------------------------------------------------
파일 디렉토리
읽기 쓰기 실행 읽기 쓰기 실행
cat vi 내용변경 파일명 입력 ls mkdir, touch cd
+ 저장
0 --- x x x x x x
1 --x x x x x x x
2 -w- x x x x x x
3 -wx x x x x o o
4 r-- o x x /\ x x
5 r-x o x o o x o
6 rw- o o x o x x
7 rwx o o o o o o
ls
= /usr/bin/ls
명령어 실행은 결국 저장되어 있는 파일을 실행하는 것과 같다.
vi /etc/sysconfig/network-scripts/ifcfg-ens160
#ONBOOT=no -> #ONBOOT=yes 로 변경
systemctl restart NetworkManager
test
ping 8.8.8.8 (google과 통신 test)
putty 설치
-> 이제 권한 없는 유저 만들어서 권한 설정 및 테스트 진행
ip addr
putty로 192.168.xx.xxx/port 22로 ssh 연결 후 2개 화면 띄워놓는다.
cf.)
vi /etc/ssh/sshd_config
chmod 777 ltw/file
ps -ef // 현재 실행중인 프로그램(프로세스)
kill -9 13319
13319번의 pid를 가진 bash 프로세스 종료-9
-> 무조건 종료 (가장 강력한 종료 명령)ps -ef | grep bash
bash 관련 프로세스만 출력exit // 로그아웃
logout // logout 명령어로는 shell 종료 불가 -> exit 사용해야 함.
sudo su -
shutdown -h now // 전원 종료
/sbin/shutdown -h now // shutdown error 발생 시
/date // 현재 날짜와 시간
ctrl + b // 커서 이동 단축키