41.

df: disk free, 파일 시스템 별 사용중, 여유, 전체 공간 정보 출력

# df
Filesystem	Size	Used	Avail	Use(%)	Mounted On
devtmpfs	1.9G	   0	 1.9G	   0%	/dev
tmpfs		1.9G	   0	 1.9G	   0%	/dev/shm
...

fdisk: disk partitioning status 확인

 

 

42.

chown [option] [user_name] : [group_name] [file/dir_name]

chgrp [option] [group_name] [file/dir_name]

 

 

43.

quota: 파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량과 개수를 제한하는 것

setquota: 사용자나 그룹의 쿼터 적용

quotacheck: 모든 파일 시스템 점검 및 쿼터 설정 및 기록 파일 갱신

edquota: 사용자와 그룹의 쿼터 설정 및 변경

quotaon: quota 활성화

repquota: report quota, 사용중인 quota 확인

quotaoff: 파일 시스템에 적용된 쿼터의 사용 중지

* quota setting: quotacheck -> edquota -> quotaon -> repquota

 

 

44.

/etc/fstab

[장치명] [마운트 포인트] [파일 시스템 종류] [옵션(defaults)] [덤프 유무] [파일 시스템 검사 유무]

마운트 옵션* 정보를 기록하는 필드는 옵션(defaults)

* mount option: -r(읽기 전용), -w(읽기/쓰기)

 

 

45.

uuid: Universally Unique IDentifier, 네트워크 상 고유성이 보장되는 ID를 만들기 위한 표준 규약

blkid: block device의 파일 시스템 유형이나 속성(LABEL, UUID 등)을 출력

 

 

46.

ntfs: New Technology File System, MS의 file system

File System:  운영체제와 모든 데이터, 프로그램의 저장과 접근을 위한 기법을 제공

cifs: Common Internet File System, 프로그램들이 인터넷을 통해 원격지 컴퓨터 상의 파일이나 서비스에 대한 요구를 할 수 있게 하는 프로토콜, 현재 표준으로 제안됨

xfs: Slicon Graphics가 만든 고성능 64비트 저널링 File System*

* Journaling File System: 일정부분을 기록을 위해 남겨두어 백업(backup) 및 복구 능력이 있는 파일 시스템

 

 

48.

wall: write to all -> setGID일 확률이 높음

SetUID, SetGID 설정: s-권한O, S-권한X

 

 

49. Cluster
High Performance Computing Cluster (BeoWulf Cluster): HPC, 고계산용 클러스터
: 고성능의 계산 능력을 제공하기 위한 목적으로 사용
Linux Virtual Server: LVS, 부하분산 클러스터
: 서버에 접근하는 이용자가 많을 때 서비스의 부하를 분산하기 위해 사용
High Availibilty Cluster: HA, 고가용성 클러스터
: 지속적인 서비스를 제공하기 위해 사용, 주 노드와 백업노드로 구성

 

50.

KVM: Kernel-based Virtual Machine, linux kernel 기반으로 만들어진 전가상화 오픈소스 하이퍼 파이저

Quranet에서 개발, x86 시스템 기반, QEMU CPU 에뮬레이터* 사용

Xen: 반 가상화(Para Vertualization) 및 전가상화를 모두 지원하는 하이퍼 바이저(HyperVisor)

Hyper-V: Window에 포함된 가상화 기능

* Emulator: 어떤 하드웨어나 소프트웨어의 기능을 다른 종류의 하드웨어나 소프트웨어로 모방하여 실현시키기 위한 장치나 프로그램

 

 

51.

라즈베리 파이(Raspberry Pi): 영국, 개발도상국, 기초컴퓨터 과학 교육 증진

아두이노(Ardunoi): 마이크로컨트롤러를 이용하여 물리적인 환경과 상호작용하는 디지털 장치를 만들 수 있는 오픈 소스 컴퓨팅 플랫폼의 일종

큐비보드(CubieBoard): 라즈베리파이보다 고성능의 베어본 PC*

오드로이드(ODROID):  대한민국의 오픈 소스 하드웨어 회사인 Hardkernel이 제조한 단일 보드 컴퓨터 및 태블릿 컴퓨터 시리즈

* BareBone PC: 부분적으로 조립된 작은 사각형 또는 완전히 조립되지 않은 컴퓨터 부품 키트

 

 

52.

GENIVI: Linux 기반, 비영리 자동차 산업 연합 개발

Ansible: 여러 개의 서버를 효율적으로 관리하기 위해 고안된 환경 구성 자동화 도구

OpenStack: IaaS* 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트

Kubernetes: 컨테이너**를 쉽고 빠르게 배포/확장하고 관리를 자동화해주는 오픈소스 플랫폼

* Iaas: Infrastructure as a Service, 인터넷을 통해 종량제 방식으로 컴퓨팅, 스토리지 및 네트워크 리소스와 같은 IT 인프라를 제공하는 비즈니스 모델

** Container: 어떤 환경에서나 실행하기 위해 필요한 모든 요소를 포함하는 SW pkg

 

 

53.

ICANN: Internet Corporation for Assigned Names and Numbers, IP 주소 할당 및 도메일을 관리하는 국제기

(국내: KISA, Korea Internet Security Agency)

IEEE: Institute of Electrical and Electronics Engineers, LAN 및 MAN(Metropolitan Area Network) 관련 표준 제정 기관

ISO: OSI 7계층 protocol 제정 국제기구

 

 

54. ftp 명령어

hash: 파일 전송 시 각 버퍼의 크기마다 # 출력

mget: 한 번에 여러 파일을 내려받음

binary(bi) : 전송모드를 BINARY모드로 설정

 

 

55. protocol - port_number

Protocol Port_num Description
FTP 20, 21 File Transfer Protocol, 서버와 클라이언트간 파일 송수신을 위한 프로토콜
SSH 22 Secure Shell, 원격 호스트에 접속하기 위해 사용되는 보안 protocolt
Telnet 23 인터넷이나 로컬 네트워크 연결에 쓰이는 네트워크 프로토콜
SMTP 25 Simple Mail Transfer Protocol, 인터넷에서 이메일을 보내기 위해 이용되는 프로토콜
DHCP 67, 68 Dynamic Host Configuration Protocol, 호스트의 IP주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜
TFTP 69 Trivial FTP, 파일 전송 프로토콜로 FTP보다 단순한 방식으로 파일 전송
HTTP 80 HyperText Transfer Protocol, 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜
POP3 110 Post Office Protocol, 사용자의 기기로 이메일을 다운로드하여 읽는 프로토콜로 다운로드한 내용은 서버에서 삭제됨
IMAP 143 Internet Message Access protocol, 서버에서 이메일을 읽는 프로토콜로 어떠한 상황에서든 동일한 내용을 읽어올 수 있음
SNMP 161, 162 Simple Network Management Protocol,  네트워크에 있는 장비들을 관리하기 위한 프로토콜

 

 

56.

TCP: Transmission Control Protocol, 두 개의 호스트를 연결하고 데이터 스트림을 교환하게 해주는 중요한 네트워크 프로토콜

UDP: User Datagram Protocol, 컴퓨터가 다른 컴퓨터와 데이터 통신을 하기 위한 프로토콜

DNS: TCP, UDP

Telnet(23): TCP

SMTP(25): TCP

HTTP(80): TCP

 

 

58.

LoopBack: 자신이 송신한 패킷을 그대로 수신하는 IP address

LoopBack 범위: 127.0.0.1 ~ 127.255.255.255 (대표적인 LoopBack IP:127.0.0.1)

* IPv4 class 범위

A class 0.0.0.0 ~ 127.255.255.255
B class 128.0.0.0 ~ 191.255.255.255
C class 192.0.0.0 ~ 223.255.255.255
D class 224.0.0.0 ~ 239.255.255.255
E class 240.0.0.0 ~ 255.255.255.255

 

 

60.

ANSI: American Natioal Standard Institute, 8bit로 구성되어 있으며, 256개의 문자 표현 가능

ASCII 확장판으로 앞 7bit는 ASCII와 동일하고, 뒤의 1bit를 이용하여 다른 언어의 문자를 표현함

 

 

61.

/etc/protocols: 사용가능한 protocols

/etc/services: 모든 protocol, port number

/etc/hosts: 호스트 이름 또는 도메인 이름을 IP 주소로 변환하는 운영 체제 파일

/etc/group: 시스템에 등록된 그룹 정보

 

 

62.

192.168.1.0

서브넷 마스크*: 255.255.255.0

네트워크**: 192.168.1.0

브로드캐스트***: 192.168.1.255

게이트웨이: 192.168.1.254

사용가능 범위: 192.168.1.1 ~ 192.168.1.254

* Subnet Mask: IP주소를 네트워크(1비트)와 호스트(0비트) 주소로 분리

** BroadCast: 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식

*** Gateway: 한 네트워크(segment)에서 다른 네트워크로 이동하기 위해 거쳐야하는 지점

 

 

63. 패킷 교환 방식

전송 대역폭이 동적임

경로가 고정되어있지 않음

각 패킷마다 오버헤드 비트(Overhead Bit, 오류 표시 목적으로 정보 비트에 부가되는 비트)가 있음

이론상 호스트의 무제한 수용이 가능

 

 

64. OSI 7계층과 protocol

(3) 네트워크 계층 데이터를 패킷 단위로 분할하여 전송하며 데이터 전송과 경로 선택에 관한 서비스 제공 IP, ICMP, IGMP, ARP, RARP
(4) 전송 계층 송신 프로세스와 수신 프로세스간의 연결기능을 제공하고 안전한 데이터 전송을 지원 TCP, UDP
(7) 응용 계층 응용 프로그램과 연계하여 사용자에게 편리한 환경을 제공 FTP, SSH, Telnet, SMTP, DHCP, TFTP, HTTP, POP3, IMAP, SNMP

 

 

65. Open System Interconnection 7 Layer

Application>Presentation>Session>Transport>Network>DataLink>Physical

1계층: 물리 계층, 전송받은 데이터를 전기 신호(비트)로 변환하는 계층 // 리피터

2계층: 데이터 링크 계층, 네트워크 계층에서 받은 데이터를 프레임이라는 논리적인 단위로 구성하고 필요한 정보를 덧붙여 물리 계층으로 전송 // 브리지

3계층: 네트워크 계층, 데이터를 패킷 단위로 분할하여 전송하며 데이터 전송과 경로 선택에 관한 서비스 제공 // 라우터

4계층: 전송 계층, 송신 프로세스와 수신 프로세스간의 연결기능을 제공하고 안전한 데이터 전송을 지원

5계층: 세션 계층, 응용 프로그램간의 통신을 관리하기 위한 방법과 동기화를 유지하는 서비스 제공

6계층: 표현 계층, 송신자와 수신자가 서로 다른 표현방식을 사용하는 경우에 번역을 통해 서로 이해할 수 있도록 함

7계층: 응용 계층, 응용 프로그램과 연계하여 사용자에게 편리한 환경을 제공

 

 

66.

route, netstat -r: gateway 주소 확인

nslookup: Name Server Lookup, DNS server에 질의하여, 도메인 정보를 조회하는 명령어

arp: Address Resolution Protocol, 연결하려는 시스템의 MAC 주소* 표시

ifconfig: network interface와 관련된 정보를 조회하거나 수정

* MAC 주소: Media Access Control Address, 인터넷을 할 수 있는 이더넷** 기반 기기에는 모두 다 하나씩 할당되어 있는 고유한 ID

** Ethernet: 근거리 장비간 통신 표준

 

 

67.

route: 패킷을 전송할 수 있도록 목적지까지 경로를 설정 및 관리

traceroute: 특정 네트워크 및 호스트까지 도달하는 경로를 출력

netstat: 현재 시스템의 네트워크 연결 상태 확인

ethtool: 네트워크 인터페이스의 물리적 연결 상태 확인

ss: Socket Statistics, linux system의 소켓 및 네트워크 상태를 조회

 

 

68. netstat 명령어

-t(--tcp): TCP protocol만 출력

-n(--numeric): 도메인 주소를 숫자로 출력

-r(--route): 라우팅 테이블 출력

 

 

69. TCP protocol

SYN(Synchronization) - SYN/ACK - ACK(Acknowledgement)

RST(Reset): 비 정상적인 세션 연결 끊기(SYN을 보낸적이 없는데, server로부터 SYN/ACK가 올 때)

 

 

70.

IEEE 802.3: Ethernet

IEEE 802.4: Token Bus

IEEE 802.5: Token Ring

IEEE 802.6: MAN(DQDB: Distributed Queue Dual Bus)

X.25: X.25는 ITU-T에서 제정한 국제 표준 프로토콜로 Frame Relay의 근간을 이룸

Frame Relay: 데이터링크 계층에서 동작되는 대표적인 WAN 프로토콜

 

 

71.

http(80), https(443)

SSH: 원격 호스트에 로그온하거나 원격 호스트에서 명령을 실행하고 다른 호스트로 파일을 복사할 수 있게 해주는 응용 프로그램 또는 프로토콜

ssh [option] [IP_address/Domain_name] [port_number]
ssh [user_name]@[IP_address/Domain_name]

Telnet: TCP/IP 기반의 protocol로 원격지 시스템을 자신의 시스템처럼 사용할 수 있게 하는 원격 터미널 접속 서비스

telnet [option] [IP_address/Domain_name] [port_number]

 

 

72. IPv4 Class

IPv4 Class IP 주소 첫번째 부분 비트
A class 0xxx xxxx. (0)
B class 10xx xxxx. (128)
C class 110x xxxx. (192)
D class 1110 xxxx. (224)
E class 1111 xxxx. (240)

 

 

73.

startx: 텍스트 모드로 부팅된 상태에서 X-window 실행

 

 

74.

GIMP: GNU Image Manipulation Program, 우분투 이미지 편집기

eog: eye of GNOME, GNOME 이미지 뷰어

Gwenview: KDE 이미지 뷰어

 

 

75.

Xlib: C언어로 구현된 Client Lib로 X-server와 대화를 해주는 역할을 하며 저수준의 인터페이스로 키보드나 마우스에 대한 반응 등의 단순한 기능만 보유

XCB: X protocol C-language Binding, Xlib과 비교하여 향상된 threading 기능 지원 및 확장성이 뛰어남(Xlib 대체용)

Qt: 리눅스에서 X-Window용 GUI program 개발에 널리 쓰이는 개발 프로그램

GTK: GIMP* ToolKit, 리눅스에서 GUI를 다루기 위한 가장 대표적인 라이브러리

 

 

76.

oocalc: spreadsheet program 실행

oowrite: 문서 편집기

 

 

77.

ImageMagicK: 비트맵 파일 형식 변환 및 크기 조정 프로그램

 

 

78.

KDE: 유닉스 워크스테이션을 위한 강력한 오픈소스 GUI 데스크톱 환경으로 Qt 기반으로 만들어짐

GNOME: 리눅스 등 유닉스 계열 OS를 위한 GUI 기반의 데스크톱 환경

LXDE: LightWeight X11 Desktop Environment, 컴퓨터 사양에 상괎없이 사용할 수 있도록 설계된 데스크톱 환경

Xfce: 다양한 유닉스 OS들을 위한 가벼운 데스크톱 환경

Wayland: 리눅스 데스크탑 환경을 구현하기 위한 프로토콜

 

 

79.

원격지에 있는 서버를 접속하기 위해 client가 이용하는 명령어: xhost, xauth

xauth:  .Xauthority 파일의 쿠키 내용을 추가, 삭제, 리스트를 출력, 쿠키 기반의 인증으로 xhost보다 인증 절차가 강화

xauth [option]

xhost: X-Window 접속할 수 있는 client 지정 또는 해제

xhost [+][-] [IP_address/Domain_Name]

 

 

80.

시스템 시작 시 콘솔 기반의 텍스트 모드로 부팅이 되도록 설정

: systemctl* set-default multi-user.target(Consol 기반-RunLevel3, Graphical.target: GUI 환경 기반-RunLevel5)

* systemctl: systemd(리눅스 부팅 시 시스템을 초기화하거나, 서비스들을 실행하기 위한 환경을 제공하는 등 서비스를 관리하는 프로세스, CentOS7 이전**: init)을 관리하는 명령어

** CentOS7 이전:  /etc/inittab 문서에서 runlevels 설정을 통한 부팅 환경 변경

 

이 글은 뉴렉쳐 오라클 데이터베이스 SQL 강의 수강하며 정리한 글입니다.

 

 

06강 MEMBER 테이블 생성하기

 

SQL 구분

DDL: CREATE(생성), ALTER(수정), DROP(삭제)

⭐DML: (INSERT, SELECT, UPDATE, DELETE) -CRUD

DCL: GRANT(권한 부여), REVOKE(권한 제거)

 

개념화된 Data, 그룹화된 Data(Entity): 여러 속성을 갖고 있음

= Java-class, DB-table

→ MEMBER라는 이름의 DATA가 이러한 속성을 갖고 있다는 정의를 내려 DBMS에게 알림

 

CREATE TABLE MEMBER
(
ID       VARCHAR2(50),
PWD      VARCHAR2(50),
NAME     VARCHAR2(50),
GENDER   VARCHAR2(50),
AGE      NUMBER,
BIRTHDAY VARCHAR2(50),
PHONE    VARCHAR2(50),
REGDATE  DATE

);

REGDATE: 등록일자

 

⭐실행:

  1. ; 다음에 ctrl + Enter
  2. 범위 블럭 지정 후 초록색 ▶️ 클릭

→ 선택된 범위 블럭만 실행됨

 

Table이 생성된 모습

 

 

소스 코드

🔗 HJ0216/TIL/OracleSQL

 기본 환경: IDE: Eclipse, Language: Java

 

발생 Error

Java에서 다음 Source Code를 실행할 경우,

public class ArgsNull {

	public static void main(String[] args) {
		String[] strArr = {"Com", "pu", "ter"};
		String inputId = args[0];
	}
}

Index 0 out of bounds for length 0

java.lang.ArrayIndexOutOfBoundsException 발생

 

 

Error 원인

String[] args에 배열값을 입력하지 않음

 

 

해결 방법

Run→Run Configuration→Arguments에 값 입력

⚠️ Run Configuration하기 전에 Run을 적어도 1번은 해야 해당 java 파일이 보임

⚠️ Names에 작업하려는 java file이 맞는지 확인

 

1. Print 작업

System V

 - lp: Line Printer, 프린터 디바이스 path를 사용하여 직접 인쇄

 - lpstat: 프린트 queue 상태 확인

 - cancel: 프린트 작업 취소

BSD

 - lpr: Line Printer, 파일을 프린터로 인쇄하는 명령어

 - lpq: Line Printer Queue, 프린터 인쇄 작업 목록인 Printer Queue 내용 출력

 - lprm: Printer Queue 작업 삭제

 - lpc: Printer가 인쇄 가능 상태인지 확인

 

 

2.

LPRng: Line Printer Next Generation, 리눅스에서 프린터를 지원해주는 인쇄 시스템

ALSA: Advanced Linux Sound Architecture, 사운드 카드용 장치 드라이버를 제공하기 위한 리눅스 커널의 구성 요소

CUPS: Common Unix Printing System, 리눅스에서 프린터를 지원해주는 인쇄 시스템

XSANE: X based interface for the Scanner Access Now Easy, X-Windows 기반의 스캐너 프로그램

 

 

4.

OOS:Open Sound System, 유닉스 및 유닉스 계열 OS의 사운드를 만들고 캡쳐하는 interface

ALSA: Advanced Linux Sound Architecture, 사운드카드를 잡을 수 있게 지원하는 드라이버

 

 

6.

LVM: Logical Volume Manager, 여러 개의 물리적인 하드 디스크를 논리적인 디스크로 할당하여 유연하게 관리할 수 있도록 도와줌

PV: Physical Volume, 각 파티션을 LVM으로 사용하기 위해 형식을 변환

PE: Physical Extent, 일정한 크기의 PE의 집합=PV

LV: Logical Volume, 마운트 포인터로 사용할 실질적 파티션

VG: Volume Group, PV로 되어있는 파티션을 하나의 물리적인 그룹으로 만듦

 

 

7. yum(Yellodog Update Modified) 명령어

-y(--assumeyes): 모든 물음에 예로 설정하고 진행

 

 

8. rpm(RedHat Package Manager) 명령어

-q(--query): pkg 설치여부 확인

-a: 모든 pkg 확인

-i(--install): pkg 설치

 

 

10. 압축 및 해제

tar -z: gzip

tar -j: bzip2

tar -J: xz

 

 

11. rpm 명령어

-U(--upgrade): 기존 pkg 미설치 시 설치, pkg 존재 시 업그레이드 진행

-V(--verify): pkg 검증

 

 

12. 소스파일 설치

Configure -(Makefile)- Make - MakeInstall

 

 

13. Pkg Management Tool

pkg 관리 도구 데비안 레드햇 수세
기본 pkg 관리 dpkg rpm YaST
온라인 기반 pkg 관리 apt-get yum zypper

 

 

14.

dselect: 데비안 pkg 관리 도구

alien: rpm 파일을 deb(데비안)으로 변환, 설치 또는 변환 후 설치

dnf: Dandified YUM, RPM 기반 pkg 관리 도구

 

 

15. vi editor

set nu: set number, 행 번호 출력

set nonu: set nonumber, 행번호 출력 해제

 

 

16.

gedit: GNOME Editor, 리눅스 GUI 환경에서 사용하는 txt editor

vi: 가장 처음에 등장하여 리눅스에서 가장 많이 사용되는 txt editor

 

 

17.

\<: \<linux - linux 문자열로 시작하는 단어 조회

\>: linux\> - linux 문자열로 끝나는 단어 조회

cf. \<linux\>: studylinuxmaster의 경우, 검색에서 제거

 

 

18.

.vimrc(vim 설정 파일): set number 설정 시, vi editor 실행 시 행번호 자동 표시

vi: Visual Editor

vim: vi improved

 

 

19.

pico: 워싱턴 대학에서 만든 유닉스용 편집기로 초기 리눅스 시스템에서 사용

nano: pico가 license 문제로 다시 만들어진 편집기

 

 

20. emacs 편집기(txt editor)

ctrl x -> ctrl c: emacs 종료

ctrl x -> ctrl f: 파일 찾기

ctrl x -> ctrl s: 파일 저

 

 

21. process 관련 명령어

fg: 프로그램을 foreground로 실행

bg: 프로그램을 background로 실행

ps: process status, 현재 실행중인 process 상태 출력

top: ps를 실시간으로 확인하거나 모니터링

nohup: no hang up, process를 중단하지 않고, background 작업으로 수행

nice: 실행 예정인 프로세스의 우선순위를 지정하고, 우선순위 설정값을 확인

renice: 이미 실행중인 프로세스의 우선순위를 변경

kill: 프로세스에 특정한 시그널을 보내는 명령어

killall: 프로세스 번호가 아닌 프로세스명으로 종료시키는 명령어

 

 

23.

pgrep: 실행중인 프로그램의 프로세스 ID 반환

free: 시스템에서 미사용 메모리와 이미 사용하고 있는 물리적 메모리, 스왑메모리*의 전체 용량 등 메모리 사용현황 확인

* Swap Memory: 실제 메모리 Ram이 가득 찼지만 더 많은 메모리가 필요할때 디스크 공간을 이용하여 부족한 메모리를 대체할 수 있는 공간

 

 

24.

 fg 프로세스 작업 -> bg 프로세스 전환

ctrl z: 프로세스 정지

bg [%작업 번호]: bg 프로세스로 전환

 

 

25. 키조합 및 시그널(Signal, Interrupt) 번호

No. Signal 발생 조건
1 SIGHUP(Hang Up) 로그아웃과 같이 터미널과 연결이 끊겼을 때 보내지는 시그널
2 SIGINT ctrl c, 키보드로부터 오는 인터럽트 시그널로 실행 중지
9 SIGKILL 프로세스 강제 종료
15 SIGTERM(Terminate) 정상 종료시키는 kill 명령의 기본 시그널
19 SIGSTOP(Terminal Stop) 터미널에서 입력된 정지 시그
20 SIGSTP ctrl z, 실행 정지 후 다시 실행을 계속하기 위해 대기시킴

 

 

26.

background(&), foreground(%)

kill %job_number: 작업번호 종료 시, %사

kill pid

 

 

27. nice, renice 명령어

nice -우선순위 process_name

renice 우선순위 PID

 

 

28. ps 명령어

-l: long format 형식, 우선순위와 관련된 PRI*, NI**값 출

* PRI: priority, 운영체제에서 참고하는 우선순위 값

** NI: nice, 관리자와 사용자가 조정할 수 있는 우선순위 값

 

 

29.

CentOS7부터 부팅 시, 커널이 최초의 프로세스(systemd)를 발생시키고, 이후 시스템 운영에 필요한 daemon을 비롯한 다른 프로세스들은 fork 방식으로 systemd 프로세스의 자식 프로세스가 생성

fork, exec: 모두 한 프로세스가 다른 프로세스를 실행시키기 위해 사용됨

fork: 시스템 호출 시 새로운 프로세스를 위한 메모리 할당

exec:  새로운 프로세스를 위한 메모리를 할당하지 않고, exec를 호출한 프로세스의 PID가 새로운 process에 덮어쓰기 됨

 

 

30.

sh: Bourne Shell, 스티븐 본

bash: Bash Shell , 브라이언 폭스, GNU project

csh: C Shell, 빌 조이

tcsh: Tee C Shell, 켄 그리어

ksh: Korn Shell, 데이비드 콘

dash: Dash Shell

 

 

31.

cat /etc/shells: 사용가능한 shell 확인

echo $SHELL: shell 환경변수(로그인 계정이 사용하는 shell 정보를 저장한 변수) 확인

 

 

32.

env: 전역 shell 변수 조회

set: 로컬 shell 변수 조회, 선언된 shell 변수 확

 

 

33.

/etc/bashrc: 모든 사용자에 대 alias, bash가 수행될 때 실행되는 파일

/etc/passwd: linux 계정 정보를 저장하고 있는 파일

/etc/profile: 전역적 파일, 로그인 시 로드되어야하지만 bash와 관계없는 데이터 저장

 

 

35.

cat ~ihduser/.bash_history: ihduser 사용자가 실행한 명령의 목록 정보 확인

 

 

36.

HISTSIZE: history 크기 지정(저장되는 hostory 개수 확인)

HISTFILESIZE: history 파일 크기 지정

 

37.

grep user_name /etc/passwd: user가 현재 사용하고 있는 shell 확인

chsh -l: 사용 가능한 shell 출력

chsh -s /bin/tcsh: 현재 사용자의 기본 shell -> tcsh로 변경

chsh -s /bin/tcsh user1: user1의 기본 shell -> tcsh로 변경

 

 

39.

umask: 특정 디렉터리에 파일 및 디렉터리를 생성할 경우 권한을 자동으로 설정하기 위한 명령어

 

 

40.

umount: unmount, 마운트 해제

 

41.
chgrp: 파일이나 dir 소유그룹 변경
chmod: 파일이나 dir mode 변경
-R: 해당 dir 및 하위 dir까지 변경


42.
fsck: file system check, 파일 시스템을 검사하고 수리하는 명령어
e2fsck: linus file system인 ext2, ext3, ext4를 검사하고 수리하는 명령어로 현재 리눅스 배포판에서 fsck 명령 실행 시 실제 사용되는 명령
mkfs: make file system, 새로운 파일 시스템을 만듦
xfs_repair: xfs file system의 검사 및 복구


43.
fdisk: disk partitioning status 확인


44. chmod 명령어
u,g,o,a : 소유자(u), 그룹(g), 그 외 사용자(o), 모든 사용자(a) 지정
+,-,=   : 현재 모드에 권한 추가(+), 현재 모드에서 권한 제거(-), 현재 모드로 권한 지정(=)
r,w,x   : 읽기 권한(r), 쓰기 권한(w), 실행 권한(x)
s        : Setuid, Setgid
t         : Sticky bit, sticky bit 적용 시 dir 소유자나 파일 소유자 또는 super-user가 아닌 사용자들은 파일을 삭제하거나 이름을 변경할 수 없음
* g+t /dir 사용 X


45. quota
edquota: 사용자나 그룹에 quota 설정 시 사용하는 명령어
repquota: report quota, 사용중인 quota 확인
xfs_quota: xfs file quota 설정 및 확인


46. 
userquota: 개별 사용자의 쿼터를 제한할 수 있는 속성


47.
uid: User Identifier
gid: Group Identifier, user가 속한 Main Group
groups: user가 속한 모든 그룹(Main Group + Sub Groups)
* sub Group에 속하여 얻은 권한은 sub Group에 속함

# id ihduser
uid=1009(ihduser) gid=1010(project) groups=1009(ihduser), 1010(project) 
# ls -ld /project
drwxr-xr-x, 2 root project 6 Apr 6 10:22 /project
# chmod 3070 /project
project dir에서 ihduser가 file 생성 시, 해당 file의 group 소유권: project

cf. 권한 value

setUID(4), setGID(2), stickyBit(1)
read(4), write(2), execute(1)


48.
Unix Kernel base OS: QNX
Linux Kernel base OS: webOS, GENIVI, Tizen


50. Cluster
High Performance Computing Cluster (BeoWulf Cluster): HPC, 고계산용 클러스터
: 고성능의 계산 능력을 제공하기 위한 목적으로 사용
Linux Virtual Server: LVS, 부하분산 클러스터
: 서버에 접근하는 이용자가 많을 때 서비스의 부하를 분산하기 위해 사용
High Availibilty Cluster: HA, 고가용성 클러스터
: 지속적인 서비스를 제공하기 위해 사용


51.
Docker: 가상 머신처럼 독립된 실행환경을 만들어주는 것으로, 운영체제를 설치하 것과 유사한 효과를 낼 수 있음
그러나 실제 운영체제를 설치하지 않기 때문에 설치 용량이 적고 실행 속도가 빠름
Xen: 반 가상화(Para Vertualization) 하이퍼 바이저(HyperVisor)
KVM: Kernel-based Virtual Machine, linux kernel 기반으로 만들어진 전가상화 오픈소스 하이퍼 파이저

VirtualBox: 단일 장치에서 여러 운영 체제를 실행하고 클라우드에 쉽게 배포할 수 있는 오픈 소스 가상화 소프트웨어
* 가상화: CPU 등 물리적 자원들을 여러 개의 논리적인 자원으로 나누거나 다수의 물리적인 자원을 하나의 논리적인 자원으로 통합하여 서비스하는 기술
* 전가상화: 다양한 게스트 OS를 수정없이 사용 가능

* 반가상화: 게스트 OS는 하이퍼바이저에 하드웨어의 제어를 요청하여 동작하며, 상대적으로 높은 성능을 보이나 게스트 OS의 수정이 필요

* HyperVisor: Virtual Machine Monitor/Manager, 호스트 컴퓨터에서 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼

 

 

52.

Hadoop: 대량의 자료를 처리할 수 있는 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 프리웨어 자바 소프트웨어 프레임워크

NoSQL: Not Only SQL, 기존 RDBMS 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술

R: 무료 프로그래밍 환경으로 주로 통계 분석에 사용

Anisible: 자동화 도구를 이용하여 인프라의 상태를 코드로 작성(Instrastructure as a code)하고 이를 모든 서버에 배포함으로써 특정 환경을 동일하게 유지할 수 있도록 돕는 소프트웨어

 

 

53.

linux에서 dns에 설정되지 않아 특정 domain에 접근하지 못하는 경우가 있는데,

이 때 /etc/hosts에서 domain을 등록해주면 domain 연결이 가능

 

 

54.

/etc/host.conf: 특정 도메인에 대해 IP 주소 값을 찾을 때, 주소 값을 어디에서 찾을 것인가를 결정하는 파일

# cat /etc/hosts.conf
multi on
order hosts,bind

// hosts: /etc/host
// bind: DNS를 의미, /etc/resolv.conf에 정의된 네임 서버

/etc/resolv.conf: 사용하고자 하는 네임 서버를 지정하는 파일, 도메인 네임 서비스를 어디서 받을 것인가를 정의해 놓은 파일

어떤 PC로부터 DNS 서버에게 도메인 주소를 IP 로 달라는 질의를 받은 경우, /etc/resolv.conf에 정의된 네임 서버에 쿼리를 보냄

 

 

55. FTP service

Port no. 20: File Transfer

Port no. 21: FTP Control

 

 

56.

SSH: 패킷을 암호화하여 안전한 원격 로그인을 지원하고 원격 shell, 원격 복사, 안전한 파일 전송 등을 지원

telnet: 네트워크 호스트와 포트에 연결이 가능한지 확인할 수 있는 명령어

NFS: Network File System, 네트워크로 연결된 다른 컴퓨터의 파일 시스템을 내 컴퓨터로 마운트하고 공유하여 상대방의 파일 시스템 일부를 자신의 dir처럼 사용하는 프로토콜

FTP: File Transfer Protocol, 원격 네트워크에서 또는 원격 네트워크로 파일을 전송하는 데 사용되는 표준 네트워크 프로토콜

 

 

57.

Opera: Opera SW에서 개발한 웹 브라우

Safari: Apple에서 개발한 웹 브라우저

Chrome: Google에서 개발한 웹 브라우저

FireFox: Mozilla 재단에서 개발한 자유 SW

 

 

58.

SNMP: Simple Network Management Protocol, 서버 및 디바이스로부터 리소스 및 상태 등 정보를 수집하여 관리할 수 있게 하는 프로토콜

SMTP: Simple Mail Transfer Protocol, 클라이언트가 메일을 보내거나, 메일 서버끼리 메일을 주고받을 때 사용되는 프로토콜

IMAP: Internet Mail Access, 메일을 수신할 때 사용하는 프로토콜

서버에 직접 접속하여 직접 메일을 확인하는 방식으로 서버에 이메일이 그대로 남아있어 반복적으로 이메일을 확인할 수 있음

POP3: Post Office Protocol, 메일을 수신할 때 사용하는 프로토콜

이메일 서버에 도착한 메일을 client PC로 직접 다운로드하는 형식으로 다운로드와 동시에 이메일 서버의 이메일 삭제

 

 

59. LAN 구성 방식

망(Mash)형: 장애 발생 시 우회 지점이 많으므로 다른 시스템에 영향이 적음

그러나 설치 비용이 많이 들고  장애 발생 시 고장 지점을 찾기 쉽지 않음

링(Ring)형: 호스트 수가 늘어나도 네트워크 성능에 영향력이 적

버스(Bus)형: 하나의 긴 케이블에 네트워크 상의 모든 장치를 연결하는 형태로 호스트 수가 증가하면 처리 능력이 급감함

성(Star)형: 중앙 전송 제어 장치가 고장나면 네트워크 동작 불

 

 

60.

UTP: Unshielded Twisted Pair, 알루미늄으로 차폐되지 않은 상태로 두 쌍씩 꼬여있는 형태

STP: Shielded Twisted Pair, 알루미늄으로 차폐된 상태로 두 쌍씩 꼬여있는 형태

Fiber Cable: 광 케이블

 

 

 

 

61.

C class 네트워크 대역에서 서브넷 마스크 값을 255.255.255.192로 설정했을 때 생성되는 서브 네트워크 개수

256-192=64

256/64=4

 

 

62.

ip: ip 관련 정보 조회 및 설정, 라우팅 테이블*** 정보 출

ss: Socket Statistics, linux system의 소켓 및 네트워크 상태를 조회할 수 있는 명령어

arp: Address Resolution Protocol, 연결하려는 시스템의 MAC 주소* 표시

ifconfig: network interface와 관련된 정보를 조회하거나 수정

* MAC 주소: Media Access Control Address, 인터넷을 할 수 있는 이더넷** 기반 기기에는 모두 다 하나씩 할당되어 있는 고유한 ID

** Ethernet: 근거리 장비간 통신 표준

*** Routing Table: 컴퓨터 네트워크에서 목적지 주소를 목적지에 도달하기 위한 네트워크 노선으로 변환시키는 목적으로 사용

 

 

63.

mii-tool: Media Independent Interface Tool, network interface 연결상태 확인

ethtool: Network interface의 HW적인 설정값을 확인하거나 변경할 수 있는 명령어

 

 

64.

Ethernet Card 장착 시, 나타나는 장비명

CentOS v7 이전: eth0, eth1 ...

CentOS v7 부터: enp0s3

 

 

65. ssh 명령어

-p: 변경된 포트 번호로 접속하기 위해 사용되는 SSH 명령어 옵션

 

 

66.

SAMBA: 유닉스 계열 운영체제와 윈도우 운영체제 간의 자료 및 하드웨어를 공유하게 해줌

초기 - SMB(Server Message Block) protocol 사용

현재 - CIFS(Common Internet File System) protocol 사용

 

 

67. Open System Interconnection 7 Layer

1계층: 물리 계층, 전송받은 데이터를 전기 신호(비트)로 변환하는 계층 // 리피터

2계층: 데이터 링크 계층, 네트워크 계층에서 받은 데이터를 프레임이라는 논리적인 단위로 구성하고 필요한 정보를 덧붙여 물리 계층으로 전송 // 브리지

3계층: 네트워크 계층, 데이터를 패킷 단위로 분할하여 전송하며 데이터 전송과 경로 선택에 관한 서비스 제공 // 라우터

4계층: 전송 계층, 송신 프로세스와 수신 프로세스간의 연결기능을 제공하고 안전한 데이터 전송을 지원

5계층: 세션 계층, 응용 프로그램간의 통신을 관리하기 위한 방법과 동기화를 유지하는 서비스 제공

6계층: 표현 계층, 송신자와 수신자가 서로 다른 표현방식을 사용하는 경우에 번역을 통해 서로 이해할 수 있도록 함

7계층: 응용 계층, 응용 프로그램과 연계하여 사용자에게 편리한 환경을 제공

 

 

68. IPv4 Class

A class: 0.0.0.0 ~ 127.255.255.255

B class: 128.0.0.0 ~ 191.255.255.255

C class: 192.0.0.0 ~ 223.255.255.255

 

 

69.

IEEE: LAN 전송규격과 처리에 대한 표준 정립

ICANN: Internet Corporation for Assigned Names and Numbers, IANA 업무를 현재 ICANN에서 관리

IANA: Internet Assigned Numbers Authority, 인터넷 할당 번호 관리 기관으로 IP address, 최상위 도메인 등을 관

 

 

70. IEEE 표준화

IEEE 802.3: Ethernet

IEEE 802.4: Token Bus

IEEE 802.5: Token Ring

IEEE 802.6: MAN(DQDB: Distributed Queue Dual Bus)

FDDI: Fiber Distributed Digital Interface, 광섬유 케이블을 사용하여 설계된 링 구조의 통신

 

 

71.

서브넷 마스크값: 255.255.255.192

-> 서브 네트워크: 256-192=64, 64*4=256(생성되는 서브 네트워크 4개)

IP address: 192.168.5.150

150-> 서브 네트워크: 128-191에 속함

Gateway: 시작주소+1 = 128+1=129

 

 

72.

LAN cable 규격 대역폭(BandWidth, MHz) 최대 전송속도
CAT-5 100 100Mbps
CAT-5E 100 1Gbps
CAT-6 250 1Gbps
CAT-7 600 10Gbps

 

 

73.

eog: eye of GNOME, 이미지 뷰어

totem: 동영상 플레이어

evolution: 메일, 주소록, 일정 등 개인정보 관리

evince: PDF 뷰어

 

 

75.

Qt: 리눅스에서 X-Window용 GUI program 개발에 널리 쓰이는 개발 프로그램

Xlib: C언어로 작성된 X-Window용 client library로 X 서버와 대화를 해주는 역할

XCB: X protocol C-language Binding, Xlib에서 XCB로 대체됨

GTK: GIMP* ToolKit, 리눅스에서 GUI를 다루기 위한 가장 대표적인 라이브러리

* GIMP: GNU Image Manipulation Program, 우분투에서 사용할 수 있는 이미지 편집기

 

 

76.

xset: X-Window(X 서버) 환경 옵션 설정

xauth:  .Xauthority 파일의 쿠키 내용을 추가, 삭제, 리스트를 출력, 쿠키 기반의 인증으로 xhost보다 인증 절차가 강화

xauth [option]

xhost: X-Window 접속할 수 있는 client 지정 또는 해제

xhost [+][-] [IP_address/Domain_Name]

xrandr: X-Window Resize and Rocate, 화면 해상도 변경

* 원격지에 있는 서버를 접속하기 위해 client가 이용하는 명령어: xhost, xauth

 

 

77. Window Manager

GNOME(데스크톱 환경 GUI 시스템): GTK+(Library), eog(Image Viewer), totem(sound or 동영상), GIMP(Image Editor), Nautilus(파일 탐색기), mutter(GNOME3 ver Window Manager), metacity(GNOME2 ver Window Manager)

KDE(K DeskTop Environment, 자유 소프트웨어 데스크톱 환경): Qt(Library), gwenView(imageViewer), Kwin(Window Manager), Dolphin(파일 관리자)

 

 

78. DeskTop Environment

GNOME, KDE, LXDE(유닉스 계열의 운영체제를 위해 개발된 DeskTop 환경), Xface(유닉스 계열의 운영체제를 위해 개발1된 경량 DeskTop 환경)

 

 

79.

시스템 시작 시 콘솔 기반의 텍스트 모드로 부팅이 되도록 설정

: systemctl* set-default multi-user.target(Consol 기반-RunLevel3, Graphical.target: GUI 환경 기반-RunLevel5)

* systemctl: systemd(리눅스 부팅 시 시스템을 초기화하거나, 서비스들을 실행하기 위한 환경을 제공하는 등 서비스를 관리하는 프로세스, CentOS7 이전**: init)을 관리하는 명령어

** CentOS7 이전:  /etc/inittab 문서에서 runlevels 설정을 통한 부팅 환경 변경

 

 

80.

xmodmap: X-Window에서 키보드 키 맵핑 설정 변경(Right Alt -> 한/영 전환 )

xrefresh: X-Window 화면 전체 또는 일부 새로고침