주요 암기 내용!!
<문제 해설>
/etc/bashrc : 모든 사용자에 적용되는 alias와 함수 설정
/etc/profile : 모든 사용자에 적용되는 환경변수와 시작관련 프로그램 설정 지정파일
~/.bashrc :개인 사용자가 정의한 alias와 함수들이 있는 파일
~/.bash_profile : 개인 사용자가 정의한 alias와 함수 설정파일
standalone: 대기하고 있다가(메모리 상주) 요청이 발생하면 즉각 처리 (빈번한 요청이 발생하는 서비스에 적합)
inetd: 평상시에 잠자고 있다가 요청이 올 때만 구동 (메모리 관리가 효율적)
<문제 해설>1. jobs 명령어는 현재 셸 세션에서 실행된 백그라운드 작업의 상태를 보여주지만,셸 세션과 관련된 작업에 한정되므로 시스템 전체에서 실행 중인 데몬을 확인하는 데 사용할 수 없습니다.
fg 명령어는 백그라운드 작업을 포그라운드로 가져오는 데 사용되며, 데몬 확인에는 적합하지 않습니다.
bg 명령어는 정지된 작업을 백그라운드에서 계속 실행시키는 데 사용되지만, 실행 중인 데몬을 확인하는 데 사용되지 않습니다.
ps 명령어는 현재 시스템에서 실행 중인 모든 프로세스(데몬 포함)의 정보를 제공할 수 있으며,특정 조건에 맞는 프로세스를 검색하는 다양한 옵션을 제공합니다.
간단하고 정확하게 차이점 알려드립니다.
백그라운드로 실행 중인 작업목록을 물어보면 => jobs
백그라운드로 실행 중인 데몬을 물어보면 => ps
기출문제에선 보통 백그라운드는 jobs가 답인 경우가 많아서 앞에 문제만 보고 냅다 답을 jobs 찍는 분들이 많은데,
문제를 끝까지 읽고 "작업목록 or 프로세스"냐 데몬이냐를 확인 후 답을 고르세요.
<문제 해설>nice는 프로그램 실행 시 우선 순위를 결정하지만renice는 실행된 프로세스의 우선 순위를 결정하며renice는 nice와 다르게 PID값을 이용해 우선 순위를 결정하며,양수일 경우 n, 음수일 경우 -n을 사용합니다.nice는 양수일 경우 -n, 음수일 경우 --n을 사용합니다
killall, nice -> 프로세스명 사용 / kill,renice 프로세스번호 사용
.virc = 비주얼 모드인 vim을 위한 설정 파일
.exrc = vi 편집기에서 사용자가 환경 설정을 등록하는 파일
tar에서
cvf(create) - 생성
xvf(extratct) - 해제
tvf(list) - 목록
<문제 해설>
LV (Logical Volume): 논리 볼륨은 사용자가 실제로 데이터를 저장하는 공간입니다. LVM을 사용하면 LV의 크기를 필요에 따라 쉽게 조정할 수 있으며, 여러 개의 물리적 디스크에 걸쳐 있을 수도 있습니다.
PV (Physical Volume): 물리 볼륨은 LVM에서 사용되는 가장 낮은 수준의 저장공간 단위입니다. 하나 이상의 하드 드라이브 파티션 또는 전체 디스크를 PV로 초기화하여 LVM에서 사용할 수 있게 합니다.
PE (Physical Extent): 물리적 확장은 PV 내에서 LV에 할당될 수 있는 고정된 크기의 데이터 블록입니다. PE는 LVM의 할당 단위로 작동합니다.
VG (Volume Group): 볼륨 그룹은 하나 이상의 PV를 묶어서 관리하는 논리적인 컨테이너입니다. VG 내에서 LV들을 생성하고 관리합니다.
10GB 디스크 4개 사용 시 각 RAID에 대한 설명.
RAID-0 : 스트라이핑의 경우 용량 모두 사용 40GB.
RAID-1 : 미러링의 경우 절반으로 줄어듦 20GB.
RAID-5 : 1개의 디스크 패리티로 사용 30GB.
RAID-6 : 2개의 디스크 패리티로 사용 20GB.
데스크톱 환경 : 사용자가 그래픽 인터페이스를 통해 컴퓨터를 사용할 수 있도록 하는 전체 환경 (예: GNOME, KDE).
윈도 매니저 : 윈도우의 배치와 외관을 관리하는 시스템 소프트웨어 (예: Metacity, Openbox).
디스플레이 매니저 : 로그인 화면을 제공하고 사용자 세션을 시작하는 프로그램 (예: GDM, LightDM).
위젯 : 그래픽 사용자 인터페이스에서 사용되는 작은 독립형 컴포넌트 (예: 버튼, 텍스트 박스).
Nautilus는 GNOME 데스크톱 환경에서 사용되는 파일 관리자
Metacity는 GNOME 데스크톱 환경에서 사용되는 윈도우 매니저
Mutter는 GNOME 3 데스크톱 환경에서 사용되는 윈도우 매니저
Plasma는 KDE 커뮤니티에 의해 개발된 데스크탑 환경.
Docker : 컨테이너, 이미지 형태로 패키지 관리 및 배포 플랫폼
Openstack : 오픈 소스 클라우드컴퓨팅 플랫폼
Kubernetes : Docker 자동화 플랫폼
Ansible : 오픈 소스 자동화 플랫폼
LAN (Local Area Network) : 상대적으로 좁은 지역. 집, 사무실, 학교 등
MAN (Metropolitan Area Network) : 상대적으로 LAN보다 넓은 지역. 큰 도시나 캠퍼스 같은 광역. 전화, TV, 인터넷은 MAN
SAN (Storage Area Network) : 저장 장치를 네트워크로 연결하는데 사용하는 개념.
WAN (Wide Area Network) : 상대적으로 매우 넓은 지역. 국가, 대륙, 전세계를 아우르는 개념.
netstat명령 옵션
물리 계층 - 리피터, 허브
데이터 링크 계층 - 스위치, 브리지
네트워크 계층 - 라우터
전송 계층 - 게이트 웨이
ICANN (Internet Corporation for Assigned Names and Numbers):
IP, 도메인 등 관리
IEEE (Institute of Electrical and Electronics Engineers):
LAN 규격, 다양한 컴퓨팅 표준 등
ITU-T (International Telecommunication Union - Telecommunication Standardization Sector):
통신 기술의 표준을 정립. 네트워크와 서비스의 표준을 개발
ISO (International Organization for Standardization):
국제 표준 개발 기구
NIS(Network Information Service) - 네트워크 정보를 중앙 집중식으로 유지하고 배포하는 서비스
SAMBA - Winodws 및 리눅스/UNIX 간의 파일 공유 및 네트워크 통합 용이
HTTP(Hypertext Transfer Protocol) - www에서 정보를 전송하는데 사용되는 프로토콜
게이트웨이 주소값 확인 가능 명령: ip, route, netstat
전송단위 1계층부터 4계층까지
비트 - 프레임 - 패킷 - 세그먼트
네트워크 계층: IP, ICMP, ARP, RARP
전송 계층: TCP, UDP
pico = Pine 이메일 클라이언트의 일부로 개발되었으나, 라이센스 이슈로 인해 nano로 대체
nano: GNU 프로젝트의 일부로 개발, 간단하고 사용자 친화적인 텍스트 편집기
vim = Vi 편집기의 확장된 버전
kwrite = KDE 데스크톱 환경의 일부로 개발된 텍스트 편집기
Totem : GNOME 환경의 기본 동영상 플레이어
Evince : GNOME을 위해 설계된 문서 뷰어. PDF, Postscript 등.
Eog(Eye of GNOME) : GNOME 환경의 기본 이미지 뷰어.
Gimp(GNU Image Manipulation Program) : GNU에 의해 개발된 강력한 오픈 소스 이미지 편집 툴
ss 명령어 옵션
ARP - IP에서 MAC
RARP - MAC에서 IP
quota: 사용자나 그룹의 디스크 사용량과 할당량(쿼터)을 보여줌.
edquota: 텍스트 에디터와 같은 환경에서 쿼터를 편집할 수 있게 해줌.
setquota: 명령줄에서 직접 쿼터를 설정하거나 수정하기 위해 사용.(보통 -u 옵션 사용하면 이거임.)
xfs_quota: XFS 파일 시스템에서 쿼터를 명령줄에서 설정함.(보통 -x -c 옵션 사용하면 이거임.)
fdisk
새로운 파티션 생성 / 기존 파티션 삭제 / 파티션의 타입 결정 등의 작업을 수행할 수 있음.
한번에 한 디스크에 대해서만 작업 수행
fdisk [옵션][장치명]
p : 디스크 정보 표시
n : 파티션 생성
t : 파티션 속성 지정
d : 파티션 삭제
du: 디렉터리 별 디스크 사용량 확인
df : 마운트 된 하드 디스크의 사용량 확인(분할 된 파티션 별로 사용량 확인)
파티션 고유번호 uuid
확인하는 명령어 blkid
LOGIN : 로그인 세션을 나타내는 쉘 환경변수
USER : 현재 사용자 이름을 나타내는 환경변수
SHELL : 현재 사용중인 쉘경로를 나타내는 환경변수
BASH : bash 쉘에 대한 정보를 나타내는 환경변수
CentOS 7부터는 기존 init프로세스에서 systemd를 쓰기로함
그 이전은 init이고 PID는 1이다
nice -n [프로세스명]
killall [프로세스명]
renice 는 pid를 인자값으로 받습니다
kill 은 pid를 인자값으로 받습니다.
nano 편집기 단축키
[Ctrl] + [a] : 행의 맨 앞으로 커서 이동
[Ctrl] + [e] : 행의 맨 끝으로 커서 이동
[Ctrl] + [c] : 현재 커서 위치 문자의 ascii 값을 표시
[Ctrl] + [x] : 나노 편집기 종료, 변경사항 저장 여부 물어봄
vi편집기
① -c : 특정 명령어 실행
② -r : 이전에 편집 중이던 파일이 중단되거나 충돌로 인해 손실된 경우 복구
③ -R : 읽기 전용 모드(파일 읽을 수 있지만 수정 불가)
④ + : 파일을 열면서 커서를 특정 위치에 놓을 때 사용
vi 편집기에서
RAID-0 : 스트라이핑 : 모든 디스크 사용
RAID-1 : 미러링 : 디스크 개수의 절반을 백업에 사용 그래서 최소 2개 필요
RAID-5 : 한 개의 패리티 드라이브 사용 (디스크 개수 -1 * 용량)
RAID-6 : 두 개의 패리티 드라이브 사용 (디스크 개수 -2 * 용량)
configure(환경설정) -> make(컴파일) -> make install
압축효율
.xz > .bz2 > .gz > .Z
압축해제명령어
Evince는 PDF 형식이나 포스트스크립트 형식의 문서를 그놈 데스크톱 환경에서 읽을 수 있는 소프트웨어이다
/etc/passwd 파일은 사용자 계정 정보를 포함
/etc/shells 파일은 시스템에서 사용 가능한 셸의 목록을 제공하는 파일
/etc/bashrc 파일은 Bash 셸의 전역 설정 파일로, 시스템 전체의 Bash 셸 설정을 구성
/etc/profile 파일은 사용자가 로그인할 때 실행되는 전역 프로파일 스크립트
온라인 패키지 관리 도구
dpkg는 기본 패키지 관리 도구 입니다. (온라인 아님 )
dnf : 레드헷 계열인 yum 을 대체하는 온라인 패키지
zypper ; 수세 계열 온라인 패키지
apt-get : 데미안 계열 온라인 패키지
소스 설치 방법 cmake 선택 프로젝트 - MySQL, KDE, LMMS
<문제 해설>
-Z: compress 압축 적용 옵션
-z: gzip 압축 적용 옵션.
-j: bzip2 압축 적용 옵션.
-J: xz 압축 적용 옵션.
압축률: compress<gzip<bz2<xz
압축 파일 용량이 가장 큰 compress 방식이 마지막 알파벳의 대문자Z그 다음으로 압축이 덜되는 gz가 소문자z압축률이 제일 좋은 xz가 J이렇게 외워봅시다.
LVM의 구성 순서
PV - VG - LV
X Window 시스템에 할당된 TCP 포트 번호는 6000+
Xlib - XCB
KDE - Qt
GTK+ - GNOME
세트라고 외우시면 최소 한 문제는 먹고 들어갑니다.
IPv4 32bit
IPv6 128bit
MAC 48bit
ISO -> OSI
EIA -> LAN 케이블 관련 표준
IEEE -> LAN 관련 표준
평문사용으로 보안에 취약하지면 원격 접속이 된다 = Telnet
보안강화가 되며 원격 접속이 된다 = SSH
전가상화 방식 : KVM
반가상화 방식 : Xen
Kubernetes : 컨테이너화된 애플리케이션의 '자동' 배포, 확장 및 '관리'를 위한 오픈 소스 플랫폼, 초기 구글 개발 -> cncf 기증.
Docker : 경량화된 가상화기술 / 컨테이너화된 애플리케이션의 개발, 배포 및 실행(관련 키워드:XEN, KVM)
데비안 apt-get 명령어
purge = 환경설정까지 다 지움
remove = remove랑 erase는 동일한 기능 수행. 환경설정파일은 남겨둠.
erase = remove
delete = 유효하지 않은 명령어
dnf - 페도라 온라인 패키지 관리 도구
rpm - 레드햇 오프라인 패키지 관리 도구
zypper - 수세 온라인 패키지 관리 도구
apt-get - 데비안 온라인 패키지 관리 도구
/etc/bashrc : 모든 사용자에 적용되는 alias와 함수 설정
/etc/profile : 모든 사용자에 적용되는 환경변수와 시작관련 프로그램 설정 지정파일
~/.bashrc :개인 사용자가 정의한 alias와 함수들이 있는 파일
~/.bash_profile : 개인 사용자가 정의한 alias와 함수 설정파일
/etc/passwd
시스템에 등록된 각 사용자의 계정 정보를 저장, 사용자 ID, 그룹 ID, 홈 디렉토리, 로그인 셸 등의 정보를 포함. 사용자의 로그인 셸 정보는 각 사용자의 레코드 마지막 부분에 위치.
/etc/shells: 시스템에서 사용 가능한 셸의 목록을 포함. 사용자가 chsh 명령어를 사용하여 변경할 수 있는 유효한 셸을 나열.
/etc/bashrc: 시스템 전체의 기본 설정을 위한 bash 셸 스크립트 파일. 모든 사용자의 bash 셸 세션에 대한 글로벌 구성을 제공.
/etc/profile: 시스템 전체의 로그인 셸 세션을 위한 초기화 스크립트 파일. 모든 사용자의 로그인 셸 세션 시작 시 실행.
R : 복잡한 데이터 분석과 시각화를 위한 강력한 도구를 제공
Hadoop: 대규모 데이터 세트를 분산 처리하기 위한 프레임워크. 데이터 저장과 처리에 유용
NoSQL: 관계형 데이터베이스의 대안으로, 빅데이터와 실시간 웹 애플리케이션을 위한 다양한 데이터베이스 기술
Cassandra: 고가용성과 확장성을 제공하는 분산 NoSQL 데이터베이스 시스템
FTP 서버에 파일을 업로드하는 명령어 = put
FTP 서버에서 파일을 다운로드하는 명령어 = get
telnet 옵션
.Xsession: 사용자가 로그인할 때 실행되는 스크립트로, 사용자가 세션을 시작할 때 실행되는 명령을 포함할 수 있습니다.
.Xsetup: 일반적으로 XDM(X Display Manager)과 관련된 설정 파일로, XDM을 사용하는 로그인 화면 설정에 사용됩니다.
.Xinitrc: 사용자가 startx 명령을 통해 X 윈도우 시스템을 시작할 때 실행되는 스크립트로, 사용자 정의 초기화 명령을 포함할 수 있습니다.
.Xauthority: X 서버에 대한 인증 정보를 저장하는 파일로, X 클라이언트가 X 서버에 접근할 수 있도록 하는 인증 키를 저장합니다.
윈도 매니저 : x-윈도우 상에서 윈도의 배치와 표현을 담당하는 시스템 프로그램
디스플레이 매니저 : x-윈도우 구성 요소 중 사용자 로그인 및 세션 관리 수행 프로그램
ps명령 상태 코드
ps : 현재 실행 중인 프로세스
bg : 중지된(background)작업을 다시 실행
jobs : 현재 셸에서 실행 중인 작업의 목록(백그라운드, 포그라운드 모두 표시)
exec : 셸 스크립트가 다른 프로세스로 대체
SIGTSTP - 20 : Terminal Stop Signal (POSIX)
SIGKILL - 9 : Kill(can't be caught or ignored) (POSIX)
SIGINT - 2 : Terminal Interrupt (ANSI)
SIGTERM - 15 : Termination (ANSI)
chsh
/etc/fstab 은 파일 시스템 테이블을 나타내는 파일
/etc/mtab 파일은 현재 마운트된 파일 시스템에 관한 정보
/etc/mounts 파일은 파일 시스템이 실제로 마운트되어 있는지 여부와 관계없이 보여줍니다.
/proc/partitions 파일은 현재 시스템에 있는 파티션 정보를 제공
NFS (Network File System) : 네트워크를 통해 파일을 공유할 수 있게 해주는 시스템임. 리눅스나 유닉스 시스템끼리 파일 공유할 때 주로 사용함.
SAMBA : 윈도우 파일 공유 프로토콜인 SMB/CIFS를 구현한 거임. 윈도우와 리눅스/유닉스 시스템 간에 파일이나 프린터를 공유할 수 있게 해줌.
Gopher : 인터넷 초기에 사용되던 정보 검색 프로토콜임. 웹이 널리 퍼지기 전에 문서나 파일을 계층적으로 찾아볼 수 있게 해주는 시스템이었지만, 지금은 거의 안 쓰임.
FTP (File Transfer Protocol) : 파일을 컴퓨터와 컴퓨터 사이에 전송하기 위해 사용되는 프로토콜임. 웹 브라우저나 전용 클라이언트를 통해 파일 업로드, 다운로드 할 때 사용됨.
A클래스: 0.0.0.0 ~ 127.255.255.255
B클래스: 128.0.0.0 ~ 191.255.255.255
C클래스: 192.0.0.0 ~ 223.255.255.255
1계층 물리 계층 - bit
2계층 데이터 링크 계층 - frame
3계층 네트워크 계층 - packet
4계층 전송 계층 - segment
DISPLAY=원격지로 전송하기 위해 변경하는 변수
VISUAL = 사용자의 기본 텍스트 에디터를 나타내는 환경 변수
TERM = 터미널 유형을 나타내는 환경 변수
XTERM = X 윈도우 시스템에서 사용되는 터미널 에뮬레이터의 종류를 나타내는 환경 변수
mount 와 umount
마운트는 특정 디바이스를 특정 디렉터리처럼 사용하기 위해 장치와 디렉터리를 연결한
다.
리눅스는 PnP 기능을 지원하지만 지원하는 하드웨어가 많지 않으므로 시스템 부팅후에
수동으로 마운트해서 사용을 하고 사용이 끝난 후에는 언마운트를 시킨다.
파일 /etc/mtab 은 현재 마운트된 블록 시스템 정보를 표시한다.
eject
이동식 보조기억장치등과 같은 미디어를 해제하고 장치를 제거하는 명령어이다.
fdisk
새로운 파티션의 생성, 기존 파티션의 삭제, 파티션의 타입 결정 등의 작업을 수행할 수
있다.
한 번에 한 디스크에 대해서만 작업을 수행한다.
mkfs
리눅스 파일 시스템을 생성한다.
fdisk로 하드디스크를 파티션을 나눈 후 해당 파티션에 맞는 파일 시스템을 생성한다.
mke2fs
ext2, ext3, ext4 타입의 리눅스 파일 시스템을 생성하는 명령어이다.
fsck
파일 시스템의 무결성을 점검하고 대화식으로 복구하는 명령어이다.
디렉터리 /lost+found 는 fsck 에서 사용하는 디렉터리이다.
e2fsck
ext2, ext3, ext4 타입의 리눅스 파일 시스템을 복구하는 명령어이다.
du
Disk Usage의 약자로 디렉터리별로 디스크 사용량을 확인할 수 있다.
df
시스템에 마운트된 하드 디스크의 남은 용량을 확인할 때 사용하는 명령어이다.
기본적으로 1024 Byte 블록 단위로 출력한다
TCP/IP주소 설정 정보 확인: ifconfig, nslookup
네트워크 경로 상태 확인: ping, traceroute
네트워크 연결 상태 확인: netstat
라우팅 테이블 확인: route
NIC 상태 확인: ethtool, mii-tool, arp


