암기

</etc/passwd 파일 구조>

사패유지코홈로

사 = 사용자명
패 = 패스워드 (x)
유 = UID
지 = GID
코 = 코멘트
홈 = 홈 디렉터리
로 = 로그인 셸

</etc/fstab 파일 구조>

장마파 옵덤점

장 = 장치명
마 = 마운트 포인트
파 = 파일시스템 타입
옵 = 옵션
덤 = dump
점 = 점검 (fsck)

<소스 컴파일 단계>

콘막막

configure    = 설정 (Makefile 생성)
make         = 컴파일 (실행파일 생성)
make install = 설치 (시스템에 복사)

<압축률 순서 및 tar 커맨드>

낮음 ←────────────────→ 높음
-Z      -z      -j      -J
compress gzip  bzip2    xz

<하드링크 vs 심볼릭 링크>

<nice, renice>

nice:

nice -n -10 command   # NI값 -10으로 시작 (우선순위 높음, root만)
nice -n 10 command    # NI값 +10으로 시작 (우선순위 낮음)

renice:

renice -n -10 -p PID  # NI값을 -10으로 변경
renice -n 10 -p PID   # NI값을 10으로 변경
>
# 구형 문법 (시험에 나올 수 있음)
renice 10 PID         # NI값을 10으로
renice -10 PID        # NI값을 -10으로

핵심:

NI값 낮을수록(-20) = 우선순위 높음
NI값 높을수록(+19) = 우선순위 낮음
>
일반 사용자: 높이기(양보)만 가능
root: 둘 다 가능

📋 셸 종류 총정리표

개발자/배경특징
sh (bourne)스티브 본 (벨연구소)최초의 셸
bashGNU 프로젝트리눅스 기본 셸
csh빌 조이 (버클리)C 언어 기반
ksh데이비드 콘 (AT&T)sh + csh
zshPaul Falstad확장 기능

📋 설정 파일 총정리표

서비스설정 파일암기 팁
DNS 클라이언트/etc/resolv.confresolve = DNS 해석
NFS/etc/exportsexport = 내보내기(공유)
SAMBA/etc/samba/smb.confSMB 프로토콜
sudo/etc/sudoers복수형 ‘s’
Squid (프록시)/etc/squid/squid.confsquid = 프록시
Apachehttpd.conf / apache2.conf배포판별 다름
마운트/etc/fstabFileSystem TABle
PAM/etc/pam.d/디렉터리!

<데스크톱 환경, 라이브러리>

		라이브러리    파일관리자
KDE     Qt          Dolphin
GNOME   GTK+        Nautilus

<디스크 작업 순서>

"파포마점"
1. 파티션 = fdisk (Fixed Disk)
2. 포맷 = mkfs (Make FileSystem)
3. 마운트 = mount
4. 점검 = fsck (FileSystem ChecK)

**<표준화 기구별 대표 표준>

ISO = OSI (글자 순서만 바꿈!)
IEEE = 802.x (네트워크 표준)
EIA = RS-xxx (시리얼/케이블, 물리적)

<크론>

개인용:
  crontab -e    = 편집
  crontab -l    = 목록 (현재 사용자만!)
  crontab -r    = 삭제
  crontab -u    = 다른 사용자 지정 (root만)
>
시스템용:
  /etc/crontab      = 시스템 cron 파일
  /etc/cron.d/      = 시스템 cron 디렉터리
  /etc/cron.daily/  = 매일 실행
  /etc/cron.hourly/ = 매시간 실행

📚 X 윈도우 핵심 정리

1️⃣ 구성요소

X 서버     = 화면 출력 (로컬)
X 클라이언트 = 응용 프로그램 (원격 가능)
X 프로토콜  = 통신

2️⃣ 데스크톱 환경 ⭐

데스크톱라이브러리파일관리자디스플레이 매니저
KDEQtDolphinKDM/SDDM
GNOMEGTK+NautilusGDM
XFCEGTK+Thunar-
LXDEGTK+PCManFM-
KDE   = Qt = Dolphin = KDM  (K-Q-D-K)
GNOME = GTK+ = Nautilus = GDM (G-G-N-G)

3️⃣ 윈도우 매니저

KWin   = KDE
Mutter = GNOME

4️⃣ 주요 명령어

명령어기능
startxX 윈도우 시작
xhost원격 접근 제어
xauth인증 관리
xinitX 서버 + 클라이언트 시작

5️⃣ 설정 파일

/etc/X11/xorg.conf = X 서버 설정
~/.xinitrc         = startx 실행 스크립트

6️⃣ 런레벨

3 = 텍스트 (multi-user.target)
5 = 그래픽 (graphical.target)

7️⃣ 응용 프로그램 ⭐

용도프로그램
스캐너SANE (드라이버), XSANE (GUI)
이미지 편집GIMP
벡터 그래픽Inkscape
오피스LibreOffice
PDF 뷰어Evince (GNOME), Okular (KDE)
음악Rhythmbox (GNOME), Amarok (KDE)

🎯 기출 암기

화면 출력 = X 서버
KDE = Qt = Dolphin
GNOME = GTK+ = Nautilus
스캐너 = SANE / XSANE
이미지 편집 = GIMP
X 시작 = startx
접근 제어 = xhost
그래픽 모드 = 런레벨 5

기출 1회

🔴 1과목 오답노트 (리눅스 운영 및 관리)

🏷️ 오답 유형 분류

유형문제 수해당 문제
명령어 혼동8문제2, 9, 11, 14, 25, 27, 28, 32
옵션 혼동4문제3, 7, 6, 5
계산/개념3문제31, 5, 39
서비스/소프트웨어3문제23, 35, 42

⌨️ 유형 1: 명령어 혼동 (8문제)

핵심 문제점: 비슷한 기능의 명령어 구분 실패

❌ 문제 2: df vs du

구분내용
내 답df -sh /home/ihduser
정답du -sh /home/ihduser

혼동 원인:

  • df와 du 모두 디스크 관련 명령어라 혼동
  • 특정 디렉터리 사용량 확인에 어떤 걸 써야 하는지 불명확

암기법:

df = Disk Free = 파일시스템 "전체" 용량/여유 공간
du = Disk Usage = "특정 디렉터리" 실제 사용량

"특정 디렉터리"가 나오면 = du!

❌ 문제 9: dpkg 완전 제거

구분내용
내 답apt-get remove nginx
정답dpkg -P nginx

혼동 원인:

  • remove와 purge 차이 구분 못함
  • dpkg -P 옵션 암기 부족

암기법:

-r (remove) = 패키지만 제거, 설정 파일 유지
-P (Purge) = 설정 파일까지 "완전히" 제거

"완전 제거" = Purge = -P!

❌ 문제 11: chown vs chmod

구분내용
내 답chmod kait:project lin.txt
정답chown kait.project lin.txt

혼동 원인:

  • chown, chmod, chgrp 역할 구분 불명확
  • chmod가 권한(permission) 변경임을 망각

암기법:

chown = change OWNER = 소유자/그룹 변경
chmod = change MODE = 권한(rwx) 변경
chgrp = change GROUP = 그룹만 변경

"소유자 변경" = chown (owner가 들어있음!)

❌ 문제 14: 히스토리 명령어

구분내용
내 답!?find
정답!find

혼동 원인:

  • !문자열!?문자열 차이 혼동
  • “시작하는”과 “포함하는” 구분 실패

암기법:

!문자열  = 해당 문자열로 "시작하는" 최근 명령
!?문자열 = 해당 문자열을 "포함하는" 최근 명령
!!       = 마지막 명령 재실행

"시작" = ! (물음표 없음)
"포함" = !? (물음표로 "어디에 있어?" 묻기)

❌ 문제 25: 셸 변경 명령어

구분내용
내 답passwd -s /bin/zsh
정답chsh -s /bin/zsh

혼동 원인:

  • chsh 명령어 자체를 기억 못함
  • passwd가 비밀번호 전용임을 망각

암기법:

chsh = CHange SHell = 셸 변경!
chsh -s = set (셸 설정)
chsh -l = list (사용 가능 셸 목록)

passwd = 비밀번호만!

❌ 문제 27: 파일시스템 점검

구분내용
내 답xfs_repair
정답e2fsck

혼동 원인:

  • 파일시스템별 점검 명령어 구분 실패
  • ext4에 맞는 명령어를 선택하지 못함

암기법:

ext 계열 (ext2/3/4) = e2fsck, fsck
XFS 계열 = xfs_repair

e2fsck의 "e2" = ext2에서 유래!

❌ 문제 28: 소스 컴파일 단계

구분내용
내 답configure
정답make

혼동 원인:

  • 각 단계별 역할을 정확히 구분 못함
  • “실행 파일 생성”이 어느 단계인지 혼동

암기법:

configure = 환경 설정 + Makefile 생성
make      = 컴파일 + "실행 파일 생성" ✅
make install = 시스템에 설치

"실행 파일 생성" = make!

📋 명령어 혼동 총정리표

구분명령어역할
디스크df파일시스템 전체 용량
du특정 디렉터리 사용량
패키지dpkg -r제거 (설정 유지)
dpkg -P완전 제거 (Purge)
소유권chown소유자/그룹 변경
chmod권한(rwx) 변경
chgrp그룹만 변경
히스토리!문자열시작하는
!?문자열포함하는
chsh -s셸 변경
passwd비밀번호
파일시스템 점검e2fsckext 계열
xfs_repairXFS
소스 설치configureMakefile 생성
make실행 파일 생성
make install시스템 설치

🔧 유형 2: 옵션 혼동 (4문제)

핵심 문제점: 명령어 옵션의 정확한 의미 암기 부족

❌ 문제 3: vi 치환 명령어

구분내용
내 답:s/server/Server/g
정답:%s/server/Server/g

혼동 원인:

  • %의 의미(문서 전체)를 정확히 몰랐음
  • 범위 지정 없이 g만 쓰면 현재 줄만 적용됨

암기법:

:s/찾기/바꾸기/    = 현재 줄, 첫 번째만
:s/찾기/바꾸기/g   = 현재 줄, 모두
:%s/찾기/바꾸기/   = 문서 전체, 각 줄 첫 번째만
:%s/찾기/바꾸기/g  = 문서 전체, 모두 ✅

% = 문서 전체 (1,$와 동일)
g = global (한 줄에서 모두)

"전체 + 모두" = %와 g 둘 다 필요!

❌ 문제 7: tar 압축 옵션

구분내용
내 답tar -zxvf backup.tar.bz2
정답tar -jxvf backup.tar.bz2

혼동 원인:

  • 압축 방식별 옵션 혼동
  • .bz2가 bzip2임을 인지했지만 옵션을 잘못 선택

암기법:

-z = gzip (.gz)
-j = bzip2 (.bz2) ✅
-J = xz (.xz) [대문자!]
-Z = compress (.Z)

"지비엑스" = z(gzip), j(bzip2), J(xz)
알파벳 순서: g-z, b-j, x-J

❌ 문제 6: mkfs (mke2fs) 용도

구분내용
문제mke2fs로 생성할 수 없는 파일시스템
내 답ext4 생성 가능으로 착각
정답XFS는 생성 불가

혼동 원인:

  • mke2fs가 ext 계열 전용임을 몰랐음

암기법:

mke2fs = Make E2 FileSystem = ext 계열만!
(e2 = ext2에서 유래)

XFS → mkfs.xfs
ext4 → mkfs.ext4 또는 mke2fs -t ext4

📋 옵션 총정리표

명령어옵션의미
vi 치환%문서 전체 범위
g한 줄에서 모두
tar 압축-zgzip (.gz)
-jbzip2 (.bz2)
-Jxz (.xz)
-Zcompress (.Z)
tar 기본-ccreate (생성)
-xextract (해제)
-vverbose (상세)
-ffile (파일명)

🔢 유형 3: 계산/개념 문제 (3문제)

핵심 문제점: 계산 공식이나 개념 적용 실패

❌ 문제 31: umask 계산

구분내용
내 답① 750
정답② 640

혼동 원인:

  • 파일과 디렉터리의 기본값 혼동
  • 750은 디렉터리 기본값(777-027)

암기법:

파일 기본값 = 666 (실행 권한 없음)
디렉터리 기본값 = 777

umask 0027일 때:
파일: 666 - 027 = 640 ✅
디렉터리: 777 - 027 = 750

문제에서 "파일"인지 "디렉터리"인지 꼭 확인!

❌ 문제 5: nice vs renice

구분내용
문제이미 실행 중인 프로세스 우선순위 변경
혼동nice와 renice 구분
정답renice

암기법:

nice = 새로 실행할 프로세스 우선순위 지정
renice = RE(다시) + nice = 실행 중인 프로세스 변경

"이미 실행 중" = renice!
"새로 실행" = nice

📋 계산/개념 총정리표

개념공식/규칙
umask (파일)666 - umask
umask (디렉터리)777 - umask
NI 범위-20 ~ 19 (낮을수록 높은 우선순위)
nice새 프로세스
renice실행 중 프로세스

🖥️ 유형 4: 서비스/소프트웨어 혼동 (3문제)

핵심 문제점: 소프트웨어/셸 종류 구분 실패

❌ 문제 23: GNU 프로젝트 셸

구분내용
내 답④ zsh
정답③ bash

혼동 원인:

  • 각 셸의 개발 배경을 몰랐음
  • zsh도 오픈소스라서 GNU로 착각

암기법:

bash = Bourne Again SHell = GNU 프로젝트!
zsh = Paul Falstad 개발 (GNU 아님)
csh = 빌 조이 (버클리)
ksh = 데이비드 콘 (AT&T)

"GNU" = bash, nano, emacs!

📋 셸 종류 총정리표

개발자/배경특징
sh (bourne)스티브 본 (벨연구소)최초의 셸
bashGNU 프로젝트리눅스 기본 셸
csh빌 조이 (버클리)C 언어 기반
ksh데이비드 콘 (AT&T)sh + csh
zshPaul Falstad확장 기능

🎯 취약 영역 분석 및 학습 전략

1️⃣ 가장 취약한 영역: 명령어 혼동 (8문제)

문제점:

  • 비슷한 명령어의 정확한 역할 구분 실패
  • 명령어 이름의 의미(약어) 파악 부족

학습 전략:

1. 명령어 이름의 어원 파악하기
   - chown = CHange OWNer
   - chsh = CHange SHell
   
2. 비교표 만들어 암기
   - df vs du
   - nice vs renice
   
3. 실제 리눅스에서 man 명령어로 확인

2️⃣ 두 번째 취약 영역: 옵션 혼동 (4문제)

문제점:

  • tar 압축 옵션 구분 실패
  • vi 치환 범위 지정자 혼동

학습 전략:

1. tar 옵션 연상 암기
   - gzip의 g → z (가까운 알파벳)
   - bzip2의 b → j (가까운 알파벳)
   
2. vi 치환은 공식으로 외우기
   - %s = 전체 범위
   - /g = 한 줄에서 모두

3️⃣ 시험 전략 개선점

“이미 실행 중” 키워드 주의:

  • “이미 실행 중인 프로세스” → renice
  • “새로 실행할 프로세스” → nice

“파일” vs “디렉터리” 구분:

  • umask 문제에서 무엇을 생성하는지 확인
  • 파일: 666 기준
  • 디렉터리: 777 기준

📚 우선 암기 리스트

🔴 반드시 암기 (자주 틀림)

항목내용
특정 디렉터리 사용량du (Disk Usage)
완전 제거 (dpkg)-P (Purge)
소유자 변경chown (owner)
히스토리 시작!문자열
셸 변경chsh -s
ext 파일시스템 점검e2fsck
실행 파일 생성make
tar bzip2 옵션-j

🟡 혼동 주의

혼동 쌍구분법
df vs du전체=df, 특정=du
nice vs renice새로=nice, 실행중=renice
chown vs chmod소유자=chown, 권한=chmod
!문자열 vs !?문자열시작=!, 포함=!?
e2fsck vs xfs_repairext=e2, XFS=xfs

✅ 다음 학습 권장사항

  1. 명령어 어원 학습 (30분)

    • 각 명령어의 약어 의미 파악
    • ex: chown = CHange OWNer
  2. tar 옵션 완벽 암기 (20분)

    • z, j, J, Z 옵션과 확장자 연결
  3. umask 계산 연습 (15분)

    • 파일(666), 디렉터리(777) 기준 연습
  4. vi 치환 명령어 연습 (15분)

    • %, g 플래그 조합 연습
  5. 실습 권장

    • 실제 리눅스에서 명령어 테스트
    • man 명령어로 옵션 확인

🔴 2과목 오답노트

🏷️ 오답 유형 분류

유형문제 수해당 문제
설정 파일 혼동5문제13, 17, 29, 30, 43
서비스/소프트웨어 혼동3문제9, 37, 42
명령어 기능 혼동2문제24, 32
개념/용어 혼동3문제11, 33, 40

📁 유형 1: 설정 파일 혼동 (5문제)

핵심 문제점: 서비스별 설정 파일 경로를 정확히 암기하지 못함

❌ 문제 13: /etc/resolv.conf

구분내용
내 답② 네트워크 인터페이스 설정
정답③ DNS 서버 주소 확인

혼동 원인:

  • resolv.conf의 “resolv”가 “resolve(해석)“임을 인지 못함
  • 네트워크 관련 파일이라 인터페이스 설정으로 착각

암기법:

resolv.conf = resolve (DNS 해석) = DNS 서버 주소!

❌ 문제 17: NFS 설정 파일

구분내용
내 답④ /etc/nfs.conf
정답② /etc/exports

혼동 원인:

  • 서비스명과 설정 파일명이 일치할 것이라 추측
  • /etc/nfs.conf라는 파일이 있을 것 같은 직관

암기법:

NFS = 공유(내보내기) = exports!
"export(수출하다)" = 파일을 내보내서 공유

❌ 문제 29: sudo 설정 파일

구분내용
내 답① /etc/sudo.conf
정답② /etc/sudoers

혼동 원인:

  • /etc/sudo.conf도 실제 존재하는 파일 (플러그인 설정)
  • 주 설정 파일과 부가 설정 파일 구분 못함

암기법:

sudo 권한 설정 = /etc/sudoers (복수형 's')
sudo.conf = 플러그인 설정 (거의 안 씀)
편집은 반드시 visudo!

❌ 문제 30: 부팅 시 파일시스템 점검 설정

구분내용
내 답④ /etc/init.d
정답① /etc/fstab

혼동 원인:

  • “부팅 시”라는 키워드에 init.d를 연상
  • fstab의 6번째 필드(pass)가 점검 설정임을 잊음

암기법:

fstab 6필드: 장치-마운트포인트-타입-옵션-덤프-패스(점검!)
패스 값: 0=점검안함, 1=루트, 2=기타

❌ 문제 43: 프록시 서버 설정 파일

구분내용
내 답④ /etc/samba/smb.conf
정답② /etc/squid/squid.conf

혼동 원인:

  • 프록시 서버 = Squid 연결을 못함
  • 문제 12에서 Squid가 프록시라고 배웠는데 적용 실패

암기법:

프록시 서버 = Squid = 오징어!
오징어가 중간에서 잉크 뿜음 = 중계(프록시)
설정: /etc/squid/squid.conf

📋 설정 파일 총정리표

서비스설정 파일암기 팁
DNS 클라이언트/etc/resolv.confresolve = DNS 해석
NFS/etc/exportsexport = 내보내기(공유)
SAMBA/etc/samba/smb.confSMB 프로토콜
sudo/etc/sudoers복수형 ‘s’
Squid (프록시)/etc/squid/squid.confsquid = 프록시
Apachehttpd.conf / apache2.conf배포판별 다름
마운트/etc/fstabFileSystem TABle
PAM/etc/pam.d/디렉터리!

🖥️ 유형 2: 서비스/소프트웨어 혼동 (3문제)

핵심 문제점: 비슷한 용도의 소프트웨어/라이브러리 구분 실패

❌ 문제 9: KDE 라이브러리

구분내용
내 답① GTK+
정답② Qt

혼동 원인:

  • 데스크톱 환경과 라이브러리 매핑을 암기 못함

암기법:

KDE = Qt (K, Q 둘 다 알파벳 뒤쪽, 발음도 비슷)
GNOME = GTK+ (둘 다 G로 시작!)

❌ 문제 37: DNS 서버 소프트웨어

구분내용
내 답③ postfix
정답② BIND

혼동 원인:

  • 메일 서버와 DNS 서버 혼동
  • postfix가 “무언가를 전달”하는 느낌이라 DNS로 착각

암기법:

DNS = BIND (Berkeley Internet Name Domain)
메일 발송 = sendmail, postfix (post = 우편!)
메일 수신 = dovecot (비둘기집 = 받는 곳)

❌ 문제 42: Tripwire 기능

구분내용
내 답① 네트워크 침입 탐지
정답② 파일 시스템 무결성 검사

혼동 원인:

  • “침입 탐지”라는 보안 용어에 끌림
  • Tripwire의 “wire(철조망)” 의미 파악 실패

암기법:

Tripwire = 철조망 = 파일 변경 감지 (무결성)
Snort = 코골이(킁킁) = 네트워크 트래픽 냄새 맡기

📋 보안 도구 총정리표

도구기능유형
Tripwire파일 무결성 검사HIDS (호스트 기반)
Snort네트워크 침입 탐지NIDS (네트워크 기반)
ClamAV바이러스 검사안티바이러스
iptables방화벽패킷 필터링

⌨️ 유형 3: 명령어 기능 혼동 (2문제)

핵심 문제점: 비슷한 명령어의 정확한 기능 구분 실패

❌ 문제 24: crontab -l

구분내용
내 답① 시스템 전체 cron 목록
정답② 현재 사용자 cron 목록

혼동 원인:

  • crontab과 /etc/crontab 구분 못함

암기법:

crontab -l = 개인용 (현재 사용자만!)
/etc/crontab = 시스템 전체용
/etc/cron.d/ = 시스템 cron 디렉터리

❌ 문제 32: 파티션 생성 명령어

구분내용
내 답① mkfs
정답② fdisk

혼동 원인:

  • 디스크 작업 순서 혼동
  • mkfs가 “만든다(make)“라서 파티션 생성으로 착각

암기법:

디스크 작업 순서: "파포마점"
1. 파티션 = fdisk (Fixed Disk)
2. 포맷 = mkfs (Make FileSystem)
3. 마운트 = mount
4. 점검 = fsck (FileSystem ChecK)

🔤 유형 4: 개념/용어 혼동 (3문제)

핵심 문제점: 특수한 용어나 개념을 정확히 암기하지 못함

❌ 문제 11: DNS 역방향 조회 도메인

구분내용
내 답④ ip-reverse.net
정답① in-addr.arpa

혼동 원인:

  • 역방향 조회 특수 도메인을 처음 접함
  • “reverse”가 들어간 옵션에 끌림

암기법:

in-addr.arpa = INverse ADDRess + ARPANET
역방향 조회는 무조건 in-addr.arpa!

❌ 문제 33: FTP 익명 접속 계정

구분내용
내 답④ public
정답③ anonymous 또는 ftp

혼동 원인:

  • “익명 = 공개 = public”이라는 연상
  • FTP 표준 익명 계정명 암기 부족

암기법:

FTP 익명 = anonymous (익명 영어 그대로!)
또는 ftp (서비스명 그대로)
비밀번호 = 이메일 형식 (관례)

❌ 문제 40: IPv6 주소 확인

구분내용
내 답② ip -6 addr
정답④ ①, ② 모두 정답

혼동 원인:

  • ifconfig도 IPv6를 보여준다는 사실을 몰랐음
  • “둘 다 정답” 옵션을 충분히 고려 안 함

암기법:

IPv6 확인 = ifconfig도 되고, ip -6 addr도 됨!
ifconfig = IPv4 + IPv6 모두 표시
ip -6 addr = IPv6만 필터링

🎯 취약 영역 분석 및 학습 전략

1️⃣ 가장 취약한 영역: 설정 파일 (5문제)

문제점:

  • 서비스별 설정 파일 경로 암기 부족
  • 비슷한 이름의 파일 구분 실패

학습 전략:

1. 설정 파일 플래시카드 만들기
2. 서비스명 → 설정파일 연결 연습
3. 실제 리눅스에서 ls /etc/ 해보기

2️⃣ 두 번째 취약 영역: 서비스 구분 (3문제)

문제점:

  • 비슷한 용도의 소프트웨어 혼동
  • 보안 도구 분류 불명확

학습 전략:

1. 카테고리별 소프트웨어 표 만들기
2. 각 소프트웨어의 핵심 키워드 암기
3. 이름의 어원/의미 파악하기

3️⃣ 시험 전략 개선점

“둘 다 정답” 옵션 주의:

  • 문제 40처럼 복수 정답이 있을 수 있음
  • 선택지에 “①, ② 모두” 있으면 반드시 재검토

직관보다 암기 우선:

  • “public”이 익명 같지만 실제는 “anonymous”
  • “직관적으로 맞아 보이는” 함정 주의

📚 우선 암기 리스트

🔴 반드시 암기 (많이 틀림)

항목내용
NFS 설정/etc/exports
DNS 클라이언트/etc/resolv.conf
sudo 설정/etc/sudoers
프록시 서버Squid → /etc/squid/squid.conf
DNS 서버BIND
파일 무결성Tripwire
파티션 생성fdisk
포맷mkfs

🟡 혼동 주의

혼동 쌍구분법
KDE vs GNOMEKDE=Qt, GNOME=GTK+
crontab vs /etc/crontab개인용 vs 시스템용
Tripwire vs Snort파일 vs 네트워크
anonymous vs publicFTP 익명 = anonymous

✅ 다음 학습 권장사항

  1. 설정 파일 집중 암기 (30분)

    • 서비스별 설정 파일 표 반복 학습
  2. 명령어 순서 정리 (20분)

    • 디스크 작업: fdisk → mkfs → mount → fsck
  3. 보안 도구 분류 (15분)

    • HIDS vs NIDS 구분
  4. 실습 권장

    • 실제 리눅스에서 /etc 디렉터리 탐색
    • 각 설정 파일 내용 확인

기출 2회

📝 2회차 1과목 오답노트


📊 오답 현황: 15문제 / 48문제 (정답률 69%)


🔴 유형 1: 명령어 혼동 (7문제)

문제내 답정답핵심
6rpm -qirpm -qf파일→패키지 역추적
15tar -rtar -t내용 확인 = list
27mount -rmount -o remount,ro다시 마운트 = remount
29ps -ef | greplsof -i :포트포트 사용 프로세스
33cat -10head앞 10줄 출력
37yum deleteyum remove패키지 삭제
42findgrep파일 내용 검색

✏️ 핵심 정리:

rpm -qf = query File (파일 → 패키지)
rpm -qi = query Info (패키지 정보)
rpm -ql = query List (패키지 파일 목록)

tar -t = lisT (내용 확인)
tar -x = eXtract (해제)
tar -c = Create (생성)
tar -r = append (추가)

grep = 파일 "내용" 검색
find = 파일 "자체" 검색

lsof -i :포트 = 포트 사용 프로세스 확인

yum 삭제 = remove 또는 erase (delete 없음!)

🔴 유형 2: 옵션/문법 혼동 (4문제)

문제내 답정답핵심
7f3 (Linux)f2 (World)필드 번호는 1부터
19crontab -e usercrontab -u user -e사용자 지정 = -u 필수
23grep -igrep -c-c = count (개수)
28top Ttop PCPU 정렬 = P (Processor)

✏️ 핵심 정리:

cut 필드 번호: 1부터 시작! (0 아님)
  cut -d: -f2 = 2번째 필드

crontab 다른 사용자: -u 옵션 필수
  crontab -u username -e (O)
  crontab -e username (X)

grep 옵션:
  -c = count (개수)
  -i = ignore case (대소문자 무시)
  -v = invert (불일치)

top 정렬 키:
  P = Processor (CPU)
  M = Memory
  T = Time
  N = Number (PID)

🔴 유형 3: 개념 혼동 (3문제)

문제내 답정답핵심
21원본 삭제 시 접근 가능 (O)디렉터리 불가 (X)하드링크 제한
26tail -rtac줄 역순 출력
11setexport자식 프로세스 전달

✏️ 핵심 정리:

하드링크 제한:
  - 디렉터리 불가 ❌
  - 다른 파일시스템 불가 ❌
  - 원본 삭제 시 데이터 유지 ⭕ (inode 공유)

tac = cat 거꾸로 = 줄 역순
rev = 문자 역순 (각 줄의 글자 뒤집기)

export = 자식 프로세스에 환경변수 전달
set = 셸 옵션 설정 / 변수 목록 출력

🔴 유형 4: 계산/특수문자 (1문제)

문제내 답정답핵심
1645665umask 후 chmod 적용
125/22$(( ))는 정수 연산
16$#$?종료 상태 코드

✏️ 핵심 정리:

umask + chmod 계산:
  1) 파일 666 - umask 022 = 644
  2) chmod g+w,o+x 적용
     644 → 665 (그룹+w, 기타+x)

$(( )) = 정수 연산만! 소수점 버림
  $((5/2)) = 2 (2.5 아님!)

셸 특수 변수:
  $? = 종료 상태 (0=성공)
  $# = 인자 개수
  $$ = 현재 PID
  $! = 백그라운드 PID

🎯 우선 암기 리스트

순위명령어/개념암기법
1rpm -qffile → 파일로 패키지 찾기
2tar -tlisT = 목록 보기
3grep vs findgrep=내용, find=파일
4taccat 거꾸로 = 줄 역순
5export자식에게 “수출”
6lsof -i :포트포트 사용 확인
7$?물음표 = “성공했어?“
8top PProcessor = CPU
9crontab -u다른 user 지정
10하드링크디렉터리 불가!

📈 1회차 vs 2회차 비교

항목1회차2회차변화
정답률54%69%+15% 📈
오답 수22문제15문제-7문제

개선된 영역:

  • df vs du 구분 ✅
  • chsh 명령어 ✅
  • tar 압축 옵션 (-z, -j, -J) ✅
  • vi 삭제 명령어 ✅

여전히 취약한 영역:

  • rpm 옵션 (-qf, -qi, -ql 혼동)
  • 셸 특수 변수 (#)
  • 명령어 세부 옵션 (grep -c, top P)

📗 2과목: 리눅스 활용

📊 오답 현황: 4문제 / 32문제 (정답률 87.5%)


🔴 오답 정리

문제내 답정답핵심
2XlibQtKDE = Qt
11/etc/apache/apache.conf/etc/httpd/conf/httpd.confApache 설정 파일
212120FTP 데이터 포트
31/etc/smb/samba.conf/etc/samba/smb.confSamba 설정 파일

✏️ 핵심 정리:

데스크톱 라이브러리 (⚠️ 2번 연속 오답!):
  KDE   = Qt     = Dolphin
  GNOME = GTK+   = Nautilus

설정 파일 경로:
  Apache: /etc/httpd/conf/httpd.conf (RHEL)
  Samba:  /etc/samba/smb.conf

FTP 포트:
  20 = 데이터 전송 (파일)
  21 = 제어/명령 (로그인)
  "20 데이터" = 숫자 작은 게 데이터!

🎯 전체 종합

📊 2회차 성적

과목정답오답정답률
1과목33/481569%
2과목28/32487.5%
전체61/801976%

📈 1회차 vs 2회차 비교

항목1회차2회차변화
1과목54%69%+15% 📈
2과목57%87.5%+30.5% 📈
전체55%76%+21% 📈

⭐ 최우선 암기 리스트 (TOP 10)

순위항목암기
1KDE 라이브러리Qt (2번 연속 틀림!)
2FTP 포트20=데이터, 21=제어
3rpm 파일 추적rpm -qf
4tar 목록tar -t
5종료 상태 변수$?
6줄 역순 출력tac
7top CPU 정렬P
8crontab 사용자-u username
9Apache 설정/etc/httpd/conf/httpd.conf
10Samba 설정/etc/samba/smb.conf

🔥 취약 영역 분석

1. 반복 오답 (확실히 암기 필요!):

  • KDE = Qt (2회 연속)
  • FTP 20/21 포트 구분

2. 명령어 옵션:

  • rpm -qf / -qi / -ql 구분
  • tar -t / -x / -c / -r 구분
  • grep -c / -i / -v 구분

3. 설정 파일 경로:

  • Apache, Samba 경로 정확히

4. 셸 특수 변수:

  • # $$ $! 구분

✅ 개선된 영역

  • df vs du 구분 ✅
  • chsh 명령어 ✅
  • tar 압축 옵션 (-z, -j, -J) ✅
  • ARP vs RARP ✅
  • SSH/Telnet 포트 ✅
  • OSI 계층 데이터 단위 ✅