728x90

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

 

 

07강 오라클 데이터 형식 #1 (문자 형식)

 

Oracle Built-in Data Type

1. Character 형식: ‘’

CHAR(50): 크기가 50byte인 CHAR

→ 고정 길이이므로 다 사용하지 않아도 빈칸으로 남아있게 됨

⚠️ 가변 길이 데이터의 경우 공간의 비효율성 발생

예: 생일, 전화번호 등

 

VARCHAR2(500): 크기가 최대 500개인 CHAR

→ 쓰지 않는 데이터 공간은 반환

예: ID

 

⚠️ 고정길이가 아니기때문에 데이터 검색 시, 처음부터 살펴봐야하는 불편함 발생

→ 검색 속도를 고려했을 때, 고정길이 Data는 CHAR, 가변길이 Data는 VARCHAR 사용이 바람직

 

NCHAR(n): 세계 각국의 언어를 사용하여 저장할 수 있음

→ ⚠️ size가 2~3byte로 1byte인 CHAR보다 용량이 큰 단점

영어, 숫자가 아닌 다른 나라 언어를 사용할 경우 사용

 

(⭐ CHAR(1 CHAR)이 아닌 NCHAR을 사용하는 게 좋은 이유 → 1 CHAR: 3byte, NCHAR: 2byte)

NVARCHAR(n): NCHAR(n) + VARCHAR(n)

⭐ 2byte: ‘ab’, 6 byte: ‘한글’

 

CHAR MAX SIZE

32767 bytes or characters if MAX_STRING_SIZE = EXTENDED

4000 bytes or characters if MAX_STRING_SIZE = STANDARD

 

데이터 특성에 맞게 CHAR type 변환

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
    
);
CREATE TABLE MEMBER
(
    ID       VARCHAR2(50),
    PWD      NVARCHAR2(50),
    NAME     NVARCHAR2(50),
    GENDER   NCHAR(2), --여성, 남성
		--CHAR(2 CHAR): 6byte, NCHAR(2): 4 byte
		--공간 절약을 위해 NCHAR 사용
    AGE      NUMBER,
    BIRTHDAY CHAR(10), --2000-01-02
    PHONE    CHAR(13), --010-1234-2345
    REGDATE  DATE
    
);

-- 주석 표시

 

2. Numeric 형식: 정수 또는 소수

3. Date 형식: Date(yyyy-mm-dd), TIMESTAMP(yyyy-mm-dd hh:mm:ss)

4. LOB 형식: Large Object 형식, 그래픽 이미지나 음성, 바이너리 데이터, 사이즈가 큰 텍스트 데이터를 다루는 데이터 타입

 

 

소스 코드

🔗 HJ0216/TIL/OracleSQL

728x90
728x90

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 설정을 통한 부팅 환경 변경

 

728x90
728x90

이 글은 뉴렉쳐 오라클 데이터베이스 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

728x90
728x90

 기본 환경: 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이 맞는지 확인

 

728x90
728x90

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, 마운트 해제

 

728x90