자격증/리눅스마스터

리눅스마스터 2급 키워드 메모

imaginaring 2024. 12. 10. 15:33

== 프린터 명령 ==

BSD 계열 : lpr, lpq, lpr

System V 계열 : lp, lpstat, cancel

 

* Lpr : 인쇄의 제어권을 lpd 데몬에게 넘겨준다

  - 옵션

  * -P 사용할 프린터 지정

  * -# 출력할 문서의 장수 지정

 

 ==  스캐너 == 

SCSI 스캐너

 * /dev/sg0

 * /dev/scanner

USB 스캐너

 * /dev/usbscanner

 * /dev/usb/scanner

 * 관련 장치 파일을 찾아주는 명령어 - find

 

scanimage - 이미지를 스캔하는 명령어

* 옵션

  * -h 도움말 옵션 / 사용가능한 옵션 목록을 출력

  * -d SANE의 장치 파일명을 적는 옵션

  * --format : 이미지 형식을 지정하는 옵션, pnm과 tiff를 지정 가능 (기본값 pnm형식)

  * -L 사용가능한 장치 목록 출력

 

 

 

========

[ Xlib - 저사양 라이브러리

[ XCB - 고사양 라이브러리

 ==> 저수준의 X라이브러리

* GTK+, Qt, Xt 는 X 툴키트

* 라이브러리가 툴키트보다는 저수준

 

구문 - 부호화, 신호 레벨등을 규정

순서 - 통신 속도의 조정이나 메세지 순서 제어

의미 - 오류 제어를 위한 제어 정보에 대한 규정

 

ARP (Address Resolution Protocol) - 주소 결정 프로토콜

--> IP를 물리적주소(MAC)로 대응하기 위해 사용하는 프로토콜

--> 리눅스에서는 ARP를 사용하는 명령으로 arp를 사용 (대소문자 구분)

 

ipconfig eth() up - 활성화

ipconfig eth() down - 비활성화

ipconfig eth() [ip] - 변경

 

SNMP - 간이 망 관리 프로토콜 (네트워크 관리, 모니터용)

 

* TCP의 3-way handshaking

1. SYN => 2. SYN/ACK => 3. ACK

1= 클라이언트가 데이터를 보내기 전 동기화 요청

2= 서버가 응답

3= 클라이언트가 응답

 

FTP 서버 연결 해제 명령어

bye, exit, quit

 

NFS = 리눅스 간 디렉터리 공유

SAMBA = 리눅스 - 윈도우 간 디렉터리 공유

 

네트워크 인터페이스 환경설정 저장되있는 디렉토리 => /etc/sysconfig/network-scripts

네트워크 인터페이스 수정 파일이 저장되어 있는 디렉토리 /etc/sysconfig/network-scripts/ifcfg-eth0

 

리눅스 가상화 기술 XEN

==> XEN은 하이퍼바이저 기반으로 개발되었기 때문에 호스트와 다른 아키텍처의 게스트는 실행할 수 없다

 

unmount 옵션

-a : /etc/mtab 에 기록된 모든 파일 시스템 언마운트

-n : /etc/mtab 변경내용을 저장하지 않고 언마운트

-r : 언마운트 실패시 읽기 전용으로 다시 마운트

-t : 지정된 파일 시스템 형식 장치만 언마운트

 

netstat 옵션

a = 모든 소켓 보기

n = 도메인 주소를 읽어들이지 않고 숫자로 출력

p = pid와 사용중인 프로그램명이 표시

u = udp 프로토콜 보기

 

df 디스크 사용량을 출력 (디스크 공간 확인)

du 디렉토리 및 파일의 용량 표시  (특정 디렉토리 기준으로 디스크 사용량 확인)

-s 간단하게 사용량만 표시

-h (byte)보여지는 파일 용량을 읽기 쉬운 형태로 표시

~ 홈디렉토리 축약

 

 

리눅스 환경변수 리스트를 확인하기 위한 명령어 - export

리눅스에서는 sh을 기본으로 ksh와 csh 계열의 장점을 결합한 bash를 표준으로 함

> 덮어씌움

>> 추가함

 

dnf - 페도라22 패키지 관리 도구

 

cmake (cross platform make)

1. 소프트웨어 빌드에 특화된 언어, 독자적 설정 스크립트 사용

2. 크로스 컴파일 가능

3. SWIG, Qt 지원에 특화

4. 평행 빌드 가능

 

=== 파티션, 메모리 관리 ===

fdisk - 새로운 파티션 생성, 기존 파티션 삭제, 파티션의 타입 결정 등 작업을 수행 (파티션 구성)

fdisk 옵션

*** -A : /etc/fstab 로 가서 한번에 모든 파일을 점검하려고 시도, 모든 파일 시스템에 대한 기능을 수행

*** -a : 어떤 질문도 하지 않고 파일 시스템에서 발견되는 모든 문제를 자동으로 수리

*** -s : fsck 동작을 시리얼화 하는 명령어, 대화형 모드에서 여러 파일 시스템을 점검할 때 사용, 기본 체크시간보다 지연 될 수 있음

*** -r : 복구 시도 전에 질문함

 

Swap - 리눅스의 가상메모리를 사용하기 위한 파일 시스템, fdisk 도구에서 t 명령어로 id값을 82번으로 변경 후 저장

LVM -8e lvm타입으로 변경, 리눅스 설치시나 하드 추가시 파티션을 설정하면 고정되어 추후 변경이 불가한데, lvm은 파티션을 원하는대로 추가하거나 제거, 조정할 수 있도록 해줌

 

시스템에 새로운 디스크를 만들기 위해서는 먼저 파티션을 만들고 아무것도 없는 파티션에 파일시스템을 생성하고 마운트해야됨

mkfs - 파티션에 파일 시스템 생성

mkfs -c : 파일 시스템 생성 전 오류 검사

 

UUID : 고유한 일력번호를 부여

Set-UID : 프로세스가 실행되는 동안 해당 프로세스의 root 권한을 임시로 가져오는 기능=> 사용자가 사용할때만 사용자 권한으로 파일 실행

Set-GID : 파일이나 디렉토리에 Set-GID를 부여하면, 설정한 것에 한해 사용자의 실제 그룹 ID에서 파일 소유자나 그룹ID로 변경함

Sticky-Bit : 누구나 사용할 수 있는 공용 디렉토리 (보통 디렉토리에 사용)

blkid : 리눅스에서 디스크를 생성하고, 디스크의 위치나 타입을 확인하기 위한 명령어

 

저널링은 ext3 이후부터 가능

 

쿼터 설정시 soft => hard 순, 디렉토리는 /home

 

로케일 "C"는 기본값을 말함 => 기본값 EN-US 와 동일

 

KVM (커널기반 가상머신)- 2005년 Qumranet 하피퍼바이저 x86 cpu 전가상화 QEMU라는 CPU 에뮬레이터

 

디렉토리 명령어

-l 하드 링크 용량 계산

-s 총 사용량 표시

-sh 현재 디렉토리 및 하위 디렉토리 사용량을 알려줌

 

리눅스는 파일 확장자의 의미가 없다, 다만 본인이 알기 쉽게 하기 위해 윈도우처럼 확장자를 표시함

=====

 

== 쿼터 ==

quota : 현재 사용자 단위 쿼터 정보를 출력

edquota : 편집기(editor)를 사용하여 그룹에 디스크 사용량할당, 실행기 vi 편집기 실행

requota : 시스템 단위 쿼터 정보를 요약하여 출력한다

xfs_quota : CentOS 7에서 사용자의 디스크 사용량을 제한할때 사용

 

== 셸 ==

현재 사용 가능한 셸의 종류를 확인하려면 'cat /etc/shells'

셸 변경 명령어 chsh (change shell)

** 옵션

// -s 지정하는 셸을 앞으로 사용할 로그인 셸로 변경 / 뒤에 NewShell 입력하라는 명령이 있으면 -s 옵션 ㄴㄴ

// -l /etc/shells 파일 안에 지정된 셸을 나열

 

LOGIN 로그인 세션을 나타내는 셸 환경변수

USER 현재 사용자 이름을 나타내는 환경변수

SHELL 현재 사용중인 셸 경로를 나타내는 환경변수

BASH bash 셸에 대한 정보를 나타내는 환경변수

 

bash 셸 명령행 편집 기능

Ctrl + b : 커서를 왼쪽으로 한 칸 이동

Ctrl + f  : 커서를 오른쪽으로 한칸 이동

Ctrl + a : 맨 왼쪽으로 이동

Ctrl + d : 현재 커서의 글자 지우기

Ctrl + e : 맨 오른쪽으로 이동

 

CTRL + C : SIGINT

CTRL + Z : SIGTSTP

CTRL + 원화문자 : SIGQUIT

 

 

$HOME 사용자 홈 디렉토리의 절대 경로 셸 환경 변수

 

****

ps 명령어 치면, 실행중인 프로세스 상태를 보여줌

PIP TTY TIME CMD 나옴

-- 옵션

- a : 세션 리더(로그인셸)을 제외하고 터미널에 종속되지 않은 모든 프로세스 출력

a : 터미널과 연관된 프로세스를 출력하는 옵션, 보통 x 옵션과 연계하여 모든 프로세스를 출력 (BSD 계열)

-f : 유닉스 스타일로 출력해주는 옵션, UID PID PPID 등이 함께 표시된다

f : 프로세스간의 상속관계를 트리 구조로 보여준다

- u : 사용자 이름과 프로세스 시작 시간 출력

- x : 접속된 터미널뿐만 아니라 사용되고 있는 모든 프로세스들 출력

 

ps aux 명령어 치면 ==> 현재 시스템 사용자가 이용중인 모든 프로세스 정보를 확인

USER / PID / %CPU / %MEM / VSZ / RSS / TTY / STAT / START / TIME/ COMMAND

ps -ef 치면

UID PID PPID C STIME TTY TIME CMD

 

rm : 파일이나 폴더 삭제 명령어

top : 프로세스 상태를 실시간으로 모니터링

==-k (kill)

 

 makefile : 프로그램의 빌드과정을 표준 문법으로 기술한 파일

 

=== chmod ===

Chmod - 파일의 소유자, 소유자의 그룹, 타인에 대한 권한 변경

-R (reculsive) 하위 디렉토리 포함, 디렉토리 모든 파일 접근권한 변경

-c (change) 변경된 정보를 출력

-f 가능한 불필요한 메세지를 보여주지 않고 간략하게 보여줌

-v (version) 명령어의 버전 정보 출력

 

 

== yum 패키지 옵션 == 

grouplist : 패키지 그룹에 대한 정보 출력

groupinfo : 해당 패키지 그룹명과 관련된 정보

groupinstall : 지정한 그룹의 패키지 설치 

groupremove : 지정한 그룹의 패키지 삭제

groupupdate : 지정한 그룹의 패키지 업데이트

remove : 패키지 삭제 

 

rpm erase : 패키지 삭제

 

== XFS 파일 시스템 명령 ==

xfs_repair - 복구, 마운트 상태면 해제해야

fsck 파일을 검사 및 수리

 

== pico 편집기 ==

pico 편집기 저장 단축키 Ctrl + o

pico 편집기 종료 단축키 Ctrl + X

 

== vi 편집기 ==

 n : /.?을 이용하여 검색에서 같은 방향으로 다음 문자열 검색

 m : /.? 반대방향

 u : 직전 명령을 취소

 j : 커서를 아래로 이동

 

dd : 현재 커서가 위치한 줄을 삭제

p : 버퍼에 들어있는 내용을 현재 커서가 위치한 줄의 아래에 붙임

yy : 현재 커서에 위치한 줄의 내용을 버퍼에 복사

cp : 이런건 없다

 

== KDE 프로그램 ==

dolphin - kde4부터 기본으로 채택된 "파일매니저"

Rhythmbox - 음악재생프로그램

KRuler - 자

kwirter - 텍스트 편집기

 

== GNOME 프로그램 ==

eog 이미지 뷰어

gimp 이미지 편집기

totem 사운드 및 비디오 재생 프로그램

imageMagick 이미지 포맷 변환 프로그램

 

== UTP 케이블 && 네트워크  ==

주황 + 흰/주 = 송신 (TX)

녹색 + 흰/녹 = 수신 (RX)

파랑 + 흰/파 = 전화선 (예비)

갈색 + 흰/갈 = 전원선 (POE 기능이 있는 제품에서는 전원케이블을 대신함)

실제 랜통신은 '주황'과 '녹색'만 사용함 (송수신용)

4가닥 <100mb / 8가닥 >1gb

 

DQDB (Distributed Queue Dual Bus) - LAN 상호 연결, MAN(대도시통신망)을 구성하는데 사용된다 

프로토콜의 구성 요소 - 구문, 의미, 타이밍

 

ANSI / EIA / IEEE - 프로토콜 제정 기관들

 

TCP - 전송제어 프로토콜 (규약), 높은 신뢰성

UDP - 사용자 데이터그램 프로토콜(규약), 낮은 신뢰성

HTTP - 클라이언트 서버간 통신을 위한 규약, text 문서를 주고 받는데 쓰임

ICMP - 네트워크 내 장치가 데이터 전송과 관련된 문제를 전달하기 위해 사용하는 프로토콜,

            메세지에 대한 오류 보고와 이에 대한 피드백을 원래 호스트에게 보고하는 역활도 함

 

/etc/hosts -

     * IP주소와 호스트명을 매핑시켜 DB처럼 사용하는 파일

     * 현재 사용중인 시스템에 'www.ihd.co.kr' 이라는 ""가상의 도메인""을 설정해 다양한 네트워크 실습~~

/etc/resolv.conf  - nameserver 정보가 기록됨

/etc/sysconfig/network - 네트워크 사용유무 지정, 호스트명 설정, 게이트웨이 주소 및 장치파일 설정 위치

 

ABC 클래스 외우기 (2진수 외우기, 맨앞비트부터 128 시작)

A (첫번째 비트 1자리 0) 0~

B (첫번째 비트 2자리 11) 128~

C (첫번째 비트 3자리 110) 192~

 

SYS_SENT 접속하기 위해 패킷을 전송한 상태

ESTABLISHED 서버와 클라이언트간에 세션연결이 성립되어 통신이 이루어지는 상태

CLOSE 연결이 종료된 상태

CLOSED 소켓 연결이 종료

CLOSING 연결은 종료되었지만 데이터 내용 일부 분실된 경우

SYN_RECEIVED 웹 서버의 프로세스는 정상적으로 동작하나 외부에서 접속이 불가능한 상태, 외부에서 하나의 IP주소에 의해 유발된 상태로 정상적인 서버 접속이 아님

 

== OSI 7계층 ==

만든곳 - ISO

 

응용 계층 - 각종 응용 서비스 제공 : HTTP, SMTP, POP3, FTP 등등

표현 계층 - 데이터 표현형식 변환(데이터 암호화, 해독, 압축과 해제) : SMB, AFP, ANX.1 등등

세션 계층 - 동기화 제공, TCP/UDP 세션 연결,관리,종료 : SSL, TLS, NetBIOS

전송 - 메세지 분활 및 조립, 순서화, 포트주소 지정, 연결제어, 다중화와 역다중화

네트워크 - 통신경로 결정, 중계기능 담당, 라우팅 수행, IPv4/IPv6

데이터링크 - 오류제어, Frame화, 매체제어(Mac), 흐름제어, 오류제어

물리 : 물리적 연결 설정 및 해제, 전송방식, 전송매체

 

1~4계층까지는 알파펫 순서로 외우면 쉽다... 

1계층 (bit) - 2계층 (frame) - 3계층 (packet) - 4계층 (segment) / 5계층 (data/mesaage) ~ data 

 

== X 윈도 ==

* 구성요소

ㅇ 윈도우 매니저 - X 윈도우 환경에서 윈도우의 배치와 표현을 담당하는 시스템 소프트웨어

                            - 기본적인 기능으로 창 열기와 닫기, 창 최소화

ㅇ 데스크톱 환경 : GUI 환경을 이용하기 위해 사용자에게 제공되는 인터페이스 스타일

ㅇ 디스플레이 매니저 : 사용자 로그인 및 세션 관리 역활 수행

 

ㅇ XCB : Xlib를 대체하기 위해 등장한 클라이언트 라이브러리, 쓰레드 기능 지원 확장성 높음

               Xprotocel 직접 접근 가능, 라이브러리 크기가 작고 단순

 

* 응용프로그램

ㅇ envince = pdf - 포스트 스크립트를 GNOME 데스크탑에서 열 때 사용

ㅇ gvim, kwrite, gedit - 텍스트 에디터

ㅇ evolution : 메일 클라이언트

ㅇ nautilus : GNOME 기본 파일 관리 프로그램

ㅇ Gwenview : 이미지 뷰어

ㅇ Okular : 파일 뷰어

 

== ssh 명령 옵션 == 

- I : 현재 클라이언트쪽에 로그인한 계정이 아닌 다른 계정으로 접속할 때 사용