본문 바로가기

자격증/리눅스마스터2급

[리눅스마스터 2급] 2023년 03월 11일 시행 1과목 리눅스 운영 및 관리 정리 (1번 ~ 48번)

🔥복습 및 문제 재풀이 check

전자문제집 CBT: 2023년 3월 11일 

  2026년 6월 4일(2차)
복습  
문제 재풀이  

1번

다음 설명의 상황에 설정해야 하는 작업으로 가장 알맞은 것 은?
project 그룹 소유의 디렉터리인 project에 ihduser 사용자가
파일을 생성 시 그룹 소유권을 자동으로 project그룹 권한으로
저장되도록 한다.


① ihduser 사용자를 project 그룹에 추가시킨다.    
② project 디렉터리에 Set-UID를 부여한다.    
③ project 디렉터리에 Set-GID를 부여한다.    
④ project 디렉터리에 Sticky-Bit를 부여한다.

 

정답: project 디렉터리에 Sticky-Bit를 부여한다.

 

📌풀이과정

상황: 'ihduser가 project 디렉터리에 파일을 만들면 파일의 그룹이 자동으로 project가 되게 하라'

[파일이 만들어질 때 그룹이 정해지는 방식]

방법
결과
사용자 기본 그룹(primary group)
보통 로그인 사용자의 주 그룹이 붙음
사용자를 project 그룹에 추가
그룹 멤버는 되지만, 새 파일 그룹이 항상 project로 고정되지는 않음 (주 그룹·umask에 따라 다름)
디렉터리에 Set-GID
그 디렉터리 안에서 생성된 파일·하위 디렉터리의 그룹 = 디렉터리의 그룹(project)

 

[Set-GID on directory] 중요

chmod g+s project
# 또는
chmod 2775 project   # 2 = SetGID

ls -ld project → 그룹 실행 권한 자리에 s (예: drwxr-sr-x)

[보기별 판단]

보기
판단
① project 그룹에 ihduser 추가
멤버십만 변경. “생성 시 그룹 자동 = project” 와는 다른 문제
② Set-UID
실행 파일용. 디렉터리 SetUID는 리눅스에서 거의 의미 없음/보안상 무시
③ Set-GID
정답 — 공유 디렉터리·팀 폴더 전형 패턴
④ Sticky-Bit
/tmp처럼 남의 파일 삭제 방지. 그룹 상속과 무관

 

🔔시험 팁

  • 디렉터리 안에서 만든 파일의 그룹 = 디렉터리 그룹 → Set-GID
  • 남의 파일 못 지우게  Sticky (/tmp = 1777)

👩‍🏫암기해야할 것: 

공유 폴더 + 새 파일 그룹 맞추기 = Set-GID (chmod 2xxx / g+s)

2번

다음 중 lin.txt 파일의 그룹 소유권을 kait, 소유자는 ihduser 로 설정하는 명령으로 알맞은 것은?    

① chown kait:ihduser lin.txt
② chown ihduser:kait lin.txt    
③ charp kait:ihduser lin.txt
④ charp ihduser:kait lin.txt

정답:  chown ihduser:kait lin.txt    

 

📌풀이과정

[chown 형식]

chown [소유자]:[그룹] 파일
chown ihduser:kait lin.txt
# 소유자(owner) = ihduser
# 그룹(group) = kait

 

보기
문제
 chown kait:ihduser
소유자·그룹 순서 반대
 chown ihduser:kait
정답
③④ charp
오타. chgrp  그룹만 변경, 소유자는 못 바꿈
chgrp kait lin.txt          # 그룹만
chown ihduser lin.txt       # 소유자만
chown ihduser:kait lin.txt  # 둘 다

 

🔔시험 팁

  • 사용자:그룹 — 콜론 앞 = owner, 뒤 = group
  • charp → 함정, chown / chgrp 만 정답 후보

 

👩‍🏫암기해야할 것: 

chown owner:group 파일

3번

다음 중 파일이나 디렉터리에 부여된 Set-UID나 Set-GID와 같은 특수 권한을 확인하는 명령어로 알맞은 것은?    

① ls
② chmod    
③ chown
④ umask

정답:  ls

 

📌풀이과정

명령
역할
ls -l
권한·소유자·s/t 특수 비트 조회
chmod
권한 설정·변경
chown
소유자·그룹 변경
umask
새로 만들 파일의 기본 권한 마스크 (기존 파일 특수권한 “확인” 아님)
ls -l /usr/bin/passwd
# -rwsr-xr-x  → SetUID (user의 x가 s)

 

🔔시험 팁

  • 확인 = ls -l / 부여 = chmod (4755, g+s, +t 등)

👩‍🏫암기해야할 것: 

확인 = ls -l / 부여 = chmod (4755, g+s, +t 등)

4번

다음 설명에 해당하는 명령으로 알맞은 것은?
data 디렉터리 포함하여 하위에 존재하는 디렉터리
및 파일까지 모두 허가권을 변경하려고 한다.​


① chmod –a 755 data
② chmod –A 755 data    
③ chmod –r 755 data
④ chmod –R 755 data

정답: chmod –R 755 data

 

📌풀이과정

  • Recursive(재귀) = 하위 디렉터리·파일 전부
  • 옵션: -R (대문자 R)
chmod -R 755 data

 

보기 판단
 -a
chmod에 없는 옵션
 -A
없음
 -r
chmod는 -R (대문자). -r은 다른 의미/미지원
 -R
정답

🔔시험 팁

  • Recursive = R 대문자 (chown -R도 동일)

👩‍🏫암기해야할 것: 

하위까지 = chmod -R

 

5번

다음은 ihduser 사용자에게 대한 디스크 쿼터 설정하는 과정 이다. ( 괄호 ) 안에 들어갈 명령어로 알맞은 것은?
[root@ihd ~]# (괄호) ihduser​


① quota
② edquota    
③ setquota
④ xfs_quota

정답: edquota  

 

📌풀이과정

명령
용도
edquota 사용자
해당 사용자 쿼터를 편집기로 설정·수정
quota
쿼터 조회·상태 확인
setquota
비대화형으로 한 번에 설정 (스크립트용)
xfs_quota
XFS 전용 쿼터 도구

 

쿼터 설정하는 과정 + edquota ihduser 형태 => edquota

edquota ihduser      # ihduser 쿼터 편집
edquota -p proto ihduser   # 템플릿 복사 방식도 있음

 

🔔시험 팁

설정(편집) = edquota / 확인 = quota / XFS = xfs_quota

 

👩‍🏫암기해야할 것: 

쿼터 편집 설정 = edquota 사용자

 

6번

다음 중 fdisk 실행 상태에서 파티션을 삭제할 때 사용하는 명령으로 알맞은 것은?  

  ① d     ② r    ③ e     ④ x

정답: d (delete)

 

📌풀이과정

[fdisk 대화형 명령 (자주 나오는 것)]

d
Delete — 파티션 삭제
n
New — 새 파티션
p
Print — 파티션 테이블 출력
w
Write — 저장 후 종료
q
Quit — 저장 없이 종료
l
list codes
t
type 변경

 

🔔시험 팁

d=delete, n=new, p=print, w=write 네 개만 잡아도 fdisk 문제 대부분 해결

 

👩‍🏫암기해야할 것: 

fdisk 삭제 = d

 

7번

다음 내용이 기록된 파일명으로 알맞은 것은?  
/dev/sda1 / xfs rw,seclabel,relatime,attr2,inode64, noquota 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0​

 

① /etc/fstab
② /etc/mtab    
③ /etc/mounts
④ /etc/partitions

정답:  /etc/mtab    

 

📌풀이과정

장치  마운트포인트  파일시스템  옵션  dump  pass
/dev/sda1  /  xfs  rw,seclabel,...  0  0
파일
역할
/etc/fstab
부팅·마운트 시 참고하는 설정 (어떤 장치를 어디에, 어떤 타입으로)
/etc/mtab
현재 마운트된 목록 (예전에는 동적, 지금은 often /proc/mounts 링크)
/etc/mounts, /etc/partitions
표준 파일 아님

 

[개념 구분(정리용)]

  • 문제처럼 장치 / 타입 옵션 0 0 6필드 형식 → 교재·기출에서 fstab 형식으로 가르침 → ①
  • selinuxfs, rw,seclabel,relatime 등 실행 중 상세 옵션만 있는 전체 목록 → 실제로는 /proc/mounts 에 가깝지만, 보기에 없으면 fstab이 정답인 경우가 많음

🔔시험 팁

  • 마운트 설정 파일 → fstab
  • 지금 마운트된 목록 → mtab / mount / findmnt

 

👩‍🏫암기해야할 것: 

부팅·마운트 설정표 = /etc/fstab (6칸 형식)

 

8번

다음 중 /dev/sdb1 파티션을 ext4 파일 시스템으로 포맷하는 명령으로 알맞은 것은?    

① mke2fs –j /dev/sdb1
② mke2fs –j ext4 /dev/sdb1
③ mke2fs –t ext4 /dev/sdb1
④ mke2fs.ext4 /dev/sdb1

정답: mke2fs –t ext4 /dev/sdb1 ( mke2fs.ext4 /dev/sdb1도 동일)

 

📌풀이과정

보기
판단
 mke2fs -j /dev/sdb1
-j = ext3 저널 옵션. ext4 지정 아님
 mke2fs -j ext4 /dev/sdb1
인자 순서·문법 오류
 mke2fs -t ext4 /dev/sdb1
정답 — 타입 지정
 mke2fs.ext4 /dev/sdb1
실무 OK, 시험 보기에 있으면 ③·④ 중 -t ext4 가 교재 정석인 경우 ③
mkfs.ext4 /dev/sdb1        # 동일 계열
mke2fs -t ext4 /dev/sdb1

🔔시험 팁

  • ext4 → -t ext4 또는 mkfs.ext4 / mke2fs.ext4
  • -j = ext3 시대 저널 (ext4 함정 보기)

👩‍🏫암기해야할 것: 

ext4 포맷 = mke2fs -t ext4 /dev/sdXN

 

9번

다음 중 현재 마운트된 디스크의 사용량을 확인할 때 사용하 는 명령어로 알맞은 것은?    

① df     ② du    ③ fdisk     ④ mount

정답: df 

 

📌풀이과정

명령
보는 것
df
파일시스템(마운트 단위) 용량·사용률·남은 공간
du
디렉터리·파일 단위 용량 (합산)
fdisk
디스크 파티션 편집
mount
마운트 실행·목록 (용량 수치는 df가 주)

 

df -h          # 사람이 읽기 쉬운 단위
df -h /home

🔔시험 팁

  • 마운트된 디스크 사용량 → df
  • 이 폴더가 얼마나 차지 → du

👩‍🏫암기해야할 것: 

파일시스템 용량 = df / 디렉터리 용량 = du

 

10번

다음 ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은?
리눅스에서 파티션을 생성하면 고유한 이 값이
부여되는데, 이 값을 (ㄱ)라고 부른다. 이 값의
확인할 때는 (ㄴ) 명령어를 사용한다.​


① ㉠ blkid, ㉡ uuid
② ㉠ label, ㉡ uuid     
③ ㉠ label, ㉡ blkid
④ ㉠ uuid, ㉡ blkid

정답:  ㉠ uuid, ㉡ blkid

 

📌풀이과정

  • 파티션·파일시스템 생성 시 고유 식별자  UUID (Universally Unique Identifier)
  • 확인 명령 → blkid
blkid /dev/sdb1
# UUID="xxxx-xxxx-..." TYPE="ext4"
보기
(ㄱ)
(ㄴ)
판단
blkid
uuid
이름·명령 순서 반대
②③
label
...
label = 사용자가 붙인 별칭(이름), 문제의 “고유하게 부여되는 값”과는 다름
uuid
blkid
정답

[ UUID vs label ]

부여
자동·고유
사용자 지정 이름
확인
blkid
blkid, e2label 

 

🔔시험 팁

  • 고유 ID = uuid / 조회 = blkid 한 쌍
  • fstab에 UUID=... 로 마운트하는 이유도 여기서 연결

👩‍🏫암기해야할 것: 

고유값 = UUID / 확인 = blkid

 

11번

다음 중 등장한 시기가 오래된 셸로 알맞은 것은?     

① bash    ② csh     ③ dash     ④ bourne shell

정답: bourne shell

* 연대만 보면 ② csh(1978) 가 bourne(1979)보다 1년 앞서지만, 기출·교재는 bourne shell을 “가장 오래된 셸”로 내는 경우가 많다.

 

📌풀이과정

[쉘 등장 순서]

시기 비고
csh
1978
BSD, C 문법 스타일
bourne shell (sh)
1979
UNIX 본 셸, POSIX sh의 기반
bash
1989
bourne 호환 + 확장, 현재 기본 셸
dash
1990년대~
가장 최근, 가벼운 /bin/sh (Debian 등)

 

[보기 판단]

  • ① bash, ③ dash → 상대적으로 최신
  • ② csh, ④ bourne → 둘 다 구형이나, 문제 보기 네 개 중 “본 셸” = bourne이 정답인 출제가 많음

 

🔔시험 팁

  • dash = 최신 / 가벼운 sh 함정
  • bash = bourne 계열이지만 1989년 → “오래됨” 보기에는 보통 아님

👩‍🏫암기해야할 것: 

오래된 순: csh·bourne(1978~79) → bash(89) → dash(최근)
시험 정답 패턴: bourne shell

 

12번

다음 중 특정 사용자에게 부여된 로그인 셸이 기록된 파일 명으로 알맞은 것은?     

① /etc/shells
② /etc/passwd     
③ ˜/.bashrc
④ ˜/.bash_profile

정답:  /etc/passwd  

 

[ /etc/passwd 한 줄 구조 (7필드) ]

사용자:암호:UID:GID:설명:홈디렉터리:로그인셸
ihduser:x:1000:1000::/home/ihduser:/bin/bash
                                              ↑ 이 칸

 

📌풀이과정

파일
역할
/etc/passwd
각 사용자의 로그인 셸 저장
/etc/shells
시스템에서 허용된 셸 목록 (등록 가능한 셸만)
~/.bashrc
bash 대화형 시작 스크립트 (셸 “지정” 파일 아님)
~/.bash_profile
사용자 로그인 시 실행 (개인 설정)

 

🔔시험 팁

  • “누가 어떤 셸 쓰나?” → passwd
  • “어떤 셸을 쓸 수 있나?” → shells

 

👩‍🏫암기해야할 것: 

로그인 셸 지정 = /etc/passwd 마지막 필드

 

13번

다음 중 이용할 수 있는 셸의 정보를 확인할 때 사용하는 명령으로 알맞은 것은?     

① chsh -i     ② chsh -s     ③ chsh -u    ④ chsh -l

정답: chsh -l

 

📌풀이과정

[ chsh = change shell (로그인 셸 변경) ]

옵션
의미
chsh -l
list — /etc/shells에 등록된 사용 가능한 셸 목록
chsh -s /bin/bash
shell — 로그인 셸 변경

①~③ -i, -u 등은 chsh 표준 옵션이 아니다.

chsh -l          # 사용 가능한 셸 목록
chsh -s /bin/bash ihduser   # 셸 변경 (root)

 

🔔시험 팁

목록 = -l / 변경 = -s

 

👩‍🏫암기해야할 것: 

chsh -l = shells 목록 / chsh -s = 셸 변경

 

14번

다음 중 사용자의 로그인 셸이 저장되는 환경 변수명으로 알맞은 것은?     

① LOGIN
② USER     
③ SHELL
④ BASH

정답: SHELL

 

📌풀이과정

변수
의미
SHELL
현재 사용자의 로그인 셸 경로 (/bin/bash 등)
USER / LOGNAME
사용자 이름
LOGIN
거의 쓰이지 않음 (시험 함정)
BASH
bash 전용, “로그인 셸 변수명” 정답 아님

 

echo $SHELL
# /bin/bash

 

🔔시험 팁

셸 경로 = SHELL 만 기억

 

👩‍🏫암기해야할 것: 

로그인 셸 환경변수 = $SHELL

 

15번

다음 중 최근에 실행한 명령 중에 'al'로 끝나는 명령을 찾 아서 실행하는 명령으로 알맞은 것은?(문제 오류로 가답안 발표시 2번으로 발표되었지만 확정답안 발표시 모두 정답처 리 되었습니다. 여기서는 가답안인 2번을 누르면 정답 처리 됩니다.)   

① !!al     ② !?al     ③ !*al      ④ !-al

정답:  !?al

※ 출제 오류로 ①~④ 전부 인정된 사례 있음 → 시험에서는 ② 선택.

 

📌풀이과정

[bash 히스토리 확장]

표기 동작
!!
바로 직전 명령 전체
!?al
히스토리에서 al이 포함된 가장 최근 명령 (예: install, tail)
!*
인자 관련 (문제와 다름)
!-n
n번째 이전 명령 (번호 기준, al 검색 아님)

 

[ “끝나는”과 !?al ]

  • 엄밀히 “끝 문자열 일치” 전용 문법은 아님
  • 기출·가답은 !?al (부분 문자열 검색)로 처리

🔔시험 팁

  • 이 문제는 문제 오류로 유명 →  !?al 로 푸는 것이 안전
  • 일반적으로: !! = 직전 / !?문자열 = 포함 검색

👩‍🏫암기해야할 것: 

직전 = !! / 문자열 포함 = !?문자열  (15번 가답: !?al)

 

16번

다음 중 시스템 전체 사용자에게 적용되는 환경변수 및 시 작 관련 프로그램을 설정할 때 사용하는 파일로 가장 알맞 은 것은?     

① /etc/bashrc
② /etc/profile     
③ ˜/.bashrc
④ ˜/.bash_profile

정답:  /etc/profile  

 

📌풀이과정

[로그인 시 설정 파일 계층 (bash 기준)

로그인 성공
  → /etc/profile          ← 전체 사용자 (시스템)
  → ~/.bash_profile       ← 해당 사용자 (개인)
  → (GUI 등은 display manager 경로 추가 가능)

비로그인 대화형 bash
  → /etc/bashrc → ~/.bashrc

 

파일
범위
/etc/profile
모든 사용자 로그인 시 공통 환경변수·시작 프로그램
/etc/bashrc
bash 대화형 공통 (배포판마다 /etc/profile.d/와 연동)
~/.bashrc
개인 비로그인/대화형
~/.bash_profile
개인 로그인

문장: “시스템 전체 사용자” → /etc/profile

 

🔔시험 팁

전체 + 로그인 → /etc/profile
개인 + 로그인 → ~/.bash_profile
개인 + 터미널 열 때 → ~/.bashrc

 

👩‍🏫암기해야할 것: 

전체 로그인 설정 = /etc/profile


 

17번

다음 설명에 해당하는 셸의 기능으로 알맞은 것은?
명령행에서 이름이 긴 파일명을 입력할 때 앞 글자만
입력하고 [Tab] 키를 눌러 나머지 부분을 불러올 수 있다.​

 
① 명령어 히스토리 기능
② 명령행 완성 기능     
③ 에일리어스(alias) 기능
④ 명령행 편집 기능

정답: 명령행 완성 기능

 

📌풀이과정

기능
설명
명령어 히스토리
↑↓, history, !!
명령행 완성
Tab으로 파일명·명령·경로 자동 완성
alias
ll='ls -l' 같은 별칭
명령행 편집
←→, Ctrl+A/E 등 한 줄 편집

* Tab 두 번 → 후보 목록 표시도 같은 완성 기능함

 

🔔시험 팁

문제에 Tab → 무조건 명령행 완성

 

👩‍🏫암기해야할 것: 

Tab = 명령행 완성

 

18번

다음 예시로 제시된 프롬포트를 변경할 때 사용하는 환경변 수로 알맞은 것은?
[ihduser@www ~] $​

① PS     ② PS1     ③ PS2    ④ PROMPT

정답: PS1

 

📌풀이과정

변수
용도
PS1
1차 프롬프트 — 일반 명령 입력 대기 (user@host ~]$)
PS2
2차 프롬프트 — 명령이 끝나지 않았을 때 (>, for 중간 등)
PS
보기 함정
PROMPT
bash 기본 변수명 아님
export PS1='[\u@\h \W]\$ '
# \u=사용자 \h=호스트 \W=현재 디렉터리

 

🔔시험 팁

보이는 프롬프트 문자열 → PS1

 

👩‍🏫암기해야할 것: 

일반 프롬프트 = PS1 / 이어쓰기 = PS2

 

19번

다음 ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은?
CentOS 7 리눅스에서는 부팅을 시작하면 커널이
(ㄱ)(이)라는 최초의 프로세스를 발생시키고
PID는 (ㄴ)을 부여한다.​


① ㉠ init, ㉡ 0
② ㉠ init, ㉡ 1     
③ ㉠ systemd, ㉡ 0
④ ㉠ systemd, ㉡ 1

정답: ㉠ systemd, ㉡ 1

 

📌풀이과정

[ CentOS 7 = SysV init → systemd 전환 ]

항목
CentOS 6 이하
CentOS 7
1번 프로세스
init
systemd
PID
1
1
  • PID 0 = 커널 idle (스케줄러 내부, 사용자 프로세스 아님)
  • PID 1 = 부팅 후 첫 사용자 공간 프로세스 = 모든 프로세스의 조상
ps -p 1 -o comm=
# systemd

 

[보기 검토]

보기
판단
①② init
CentOS 7에서 구식
③ systemd + PID 0
PID 0 오류
④ systemd + PID 1
정답

 

🔔시험 팁

  • CentOS 7 / RHEL 7+ → systemd, PID=1 세트
  • CentOS 6- 문제만 init, PID=1

👩‍🏫암기해야할 것: 

CentOS7 부팅 = systemd, PID 1

 

20번

다음은 기존의 프로세스를 교체하면서 새로운 프로세스를 발생시키는 과정이다. ( 괄호 ) 안에 들어갈 내용으로 알맞 은 것은?
$ (괄호) ps -l​


 ① exec     ② fork     ③ nohup    ④ watch

정답: exec     

 

📌풀이과정

명령/개념
동작
exec
현재 셸(프로세스) 이미지를 새 프로그램으로 교체. PID 유지, fork 없음
fork
프로세스 복제 → 부모·자식 둘 다 존재
nohup
터미널 끊겨도 계속 실행
watch
주기적으로 명령 반복 실행
exec ps -l
# 현재 셸이 사라지고 ps가 그 자리를 차지 (셸 종료된 것처럼 보임)

 

[ fork vs exec ]

fork  → 자식 프로세스 생성 (복사)
exec  → 그 프로세스를 다른 프로그램으로 갈아끼움
일반: fork() 후 자식에서 exec()

$ exec ps -l → 교체 문제와 정확히 일치

 

🔔시험 팁

교체 = exec / 복제 = fork

 

👩‍🏫암기해야할 것: 

exec = 같은 PID, 프로그램만 교체

 

21번

다음 결과에 해당하는 명령어로 알맞은 것은?
[posein@www ~]$
[1] - Stopped vim a.txt
[2] + Stopped vim b.txt
[3]   Running find /-name '*.txt' 2>/dev/null > list.txt &​

① fg     ② bg     ③ jobs    ④ kill

정답: jobs    

 

📌풀이과정

화면은 현재 셸의 작업(job) 목록이다.

기호의미

기호
의미
-
기본 작업 (fg 시 이 작업)
+
다음에 fg 할 작업
Stopped
Ctrl+Z로 정지
Running ... &
백그라운드 실행 중

 

명령
역할
jobs
위와 같은 작업 목록 출력
fg
정지·백그라운드 작업을 포그라운드
bg
정지된 작업을 백그라운드로 재개
kill
시그널 전송 (종료 등)

 

🔔시험 팁

jobs = 목록 / fg·bg = 전환 / kill = 시그널

 

👩‍🏫암기해야할 것: 

jobs = 목록 / fg·bg = 전환 / kill = 시그널

 

22번

다음 중 SIGHUP의 시그널 번호로 알맞은 것은?     

① 1      ② 2     ③ 9     ④ 15

정답:  1

 

📌풀이과정

[자주 나오는 시그널]

번호
이름
의미
1
SIGHUP
터미널 끊김(hang up), 데몬 재설정 등
2
SIGINT
Ctrl+C 인터럽트
9
SIGKILL
강제 종료(잡을 수 없음)
15
SIGTERM
정상 종료 요청 (기본 kill)

 

kill -1 PID    # kill -HUP PID 와 동일
kill -HUP PID

 

🔔시험 팁

1 HUP / 2 INT / 9 KILL / 15 TERM 네 개만 외워도 대부분 해결

 

👩‍🏫암기해야할 것: 

SIGHUP = 1 (터미널 끊김)

 

23번

다음 설명에 해당하는 명칭으로 가장 알맞은 것은?
주기적이고 지속적인 서비스 요청을 처리하기 위해
계속 실행되는 프로세스이다.​


① inetd
② xinetd     
③ standalone
④ daemon

정답: daemon

 

📌풀이과정

용어
역할
daemon
백그라운드에서 계속 떠 있으며 서비스 요청 처리 (httpd, sshd 등)
inetd / xinetd
여러 서비스를 대신 받아 필요할 때 프로그램 실행하는 슈퍼 서버
standalone
inetd 없이 직접 항상 떠 있는 구동 방식 (명칭이 프로세스 “종류”보다 운영 형태)

*문장 키워드: “계속 실행” + “서비스 요청 처리” → 데몬 정의와 일치

 

🔔시험 팁

  • 프로세스 이름/개념 → daemon
  • inetd가 대신 띄움 → inetd / xinetd

👩‍🏫암기해야할 것: 

항상 떠 있는 서비스 프로세스 = daemon

 

24번

다음 중 프로세스명을 인자값으로 사용하는 명령어의 조합 으로 알맞은 것은?     

① kill, nice
② kill, renice     
③ killall, nice
④ killall, renice

정답: killall, nice

 

📌풀이과정

명령
인자 형태
kill
PID
kill 1222
killall
프로세스 이름
killall httpd
nice
실행할 명령(이름)
nice -n 10 bash
renice
PID / -u 사용자 / -g 그룹
renice -n 10 -p 1222 (이름 아님)

④ killall, renice → renice는 프로세스 이름이 아니라 PID·사용자 중심

①② kill, nice/renice → kill은 PID

 

🔔시험 팁

  • 이름으로 죽이기 = killall
  • 이름으로 nice 시작 = nice 명령어

👩‍🏫암기해야할 것: 

이름 = killall / 새 프로세스 우선순위 = nice / 살아있는 PID = renice

 

25번

cron을 이용해서 해당 스크립트를 매주 토요일과 일요일 오전 4시 1분에 주기적으로 실행하려고 한다. ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은?

(괄호) /etc/backup.sh​

① 1 4 * * 0,6
② 1 4 * * 5,6     
③ 4 1 * * 0,6
④ 4 1 * * 5,6

정답: 1 4 * * 0,6

 

📌풀이과정

[crontab 5필드 순서]

분  시  일  월  요일

 

필드
의미
1
1분
4
4시 (오전 4시)
*
매일
*
매월
요일
0,6
일(0), 토(6)

 

[요일] (vixie cron, CentOS)

0=일  1=월  2=화  3=수  4=목  5=금  6=토  (7=일, 일부 시스템)

 

보기
문제
 1 4 * * 0,6
토·일 04:01  정답
 1 4 * * 5,6
금·토
③④ 4 1 * * ...
4시 1분이 아니라 1시 4분
1 4 * * 0,6 /etc/backup.sh

🔔시험 팁

  • 앞 두 칸 = 분·시 순서 혼동 금지
  • 토·일 = 0,6 (5,6은 금·토 함정)

👩‍🏫암기해야할 것: 

분 시 일 월 요일 / 일=0 토=6

 

26번

프로세스 아이디(PID)가 1222인 bash 프로세스의 우선순위 (NI)값이 0이다. 다음 중 이 프로세스의 NI값을 10으로 우선 순위를 변경하는 명령으로 알맞은 것은?     

① nice 10 1222
② nice -10 1222     
③ nice 10 bash
④ nice -10 bash

정답: nice -10 bash

 

📌풀이과정

[nice vs renice]

명령
시점
대상
nice
실행할 때
새 명령 (nice -n 10 bash)
renice
이미 실행 중
PID (renice -n 10 -p 1222)
  • NI 10 = 우선순위 낮춤(양수 nice = 더 양보)
  • nice -10 = 우선순위 높임(음수, root 권한 필요할 수 있음) — 문제와 반대

[보기 분석]

보기
판단
①② nice … 1222
nice가 PID만 받는 표준 문법 아님
 nice 10 bash
 bash를 NI 10으로 시작 (1222 변경 아님)
 nice -10 bash
우선순위 상향 + 새 bash

 

[시험에서 기억할 것]

renice -n 10 -p 1222
# 또는
renice 10 1222    # 구형 문법(배포판별)

 

🔔시험 팁

  • “이미 돌아가는 프로세스 NI 변경” → renice
  • 보기에 renice가 없으면 개념 문제로 renice를 적는 것이 맞고, nice 보기는 오답 처리

👩‍🏫암기해야할 것: 

새로 실행 = nice / 살아있는 PID = renice -n 10 -p PID

 

27번

다음 설명에 해당하는 ps 명령의 프로세스 상태 코드값으로 알맞은 것은?
 
작업이 종료되었으나 부모 프로세스로부터 회수되지
않아 메모리를 차지하고 있는 상태이다.​


① S     ② T     ③ X    ④ Z


정답: Z

 

📌풀이과정

[ ps STAT 코드 ]

코드
이름
의미
S
Sleeping
대기(interruptible)
T
Stopped
정지 (Ctrl+Z, SIGSTOP)
X
dead
거의 안 보임 (일부 커널)
Z
Zombie
종료됐으나 부모가 wait() 안 함 — PCB만 남음
  • 부모가 wait()로 자식 종료 상태를 회수(reap) 해야 사라짐
  • 많은 좀비 → 부모 프로세스 점검

🔔시험 팁

좀비 = Z / 정지 = T / 실행 = R

👩‍🏫암기해야할 것: 

부모가 안 거둠 = Zombie = Z

 

28번

다음 중 포어그라운드 프로세스를 백그라운드 프로세스로 전환하기 위해 사용하는 키 조합으로 알맞은 것은?     

① [Ctrl]+[c]
② [Ctrl]+[a]   
③ [Ctrl]+[l]
④ [Ctrl]+[z]

정답:  [Ctrl]+[z]

 

📌풀이과정

동작
Ctrl+Z
실행 중 프로세스 일시 정지(Stopped) → 이후 **bg**로 백그라운드
Ctrl+C
종료(SIGINT)
Ctrl+L
화면 지우기 (clear)
Ctrl+A
 맨 앞 (readline)

 

[전형적인 순서]

명령 실행 중 → Ctrl+Z (정지) → bg (백그라운드 재개)
또는: 명령 & 로 처음부터 백그라운드

 

🔔시험 팁

뒤로 보내기  첫 단계 = Ctrl+Z (+ bg)

 

👩‍🏫암기해야할 것: 

“뒤로 보내기” 첫 단계 = Ctrl+Z (+ bg)

 

29번

다음 설명에 해당하는 편집기로 알맞은 것은?
리처드 스톨만이 개발한 고성능 문서 편집기로 단순한
편집기를 넘어서 텍스트 처리를 위한 포괄적인
통합 환경을 제공한다.​

 ① nano     ② gedit     ③ vim    ④ emacs

정답: emacs

 

📌풀이과정

지문 표현
emacs와의 관계
리처드 스톨만이 개발
GNU Emacs 창시자 = 리처드 스톨만(RMS)
단순 편집기를 넘어서
편집 + 메일·쉘·컴파일 등 통합 환경
포괄적인 통합 환경
Emacs Lisp로 확장 가능한 플랫폼 성격

[보기별로 왜 아닌가]

보기
개발/특징
판단
① nano
작고 가벼운 단순 터미널 편집기
“포괄적 통합 환경”과 반대
② gedit
GNOME GUI 메모장급 편집기
스톨만·통합 환경과 무관
③ vim
브램 뭘네어 계열, 모드 편집기
스톨만 개발 아님
④ emacs
GNU, RMS, 통합 환경
정답

 

29번 = 스톨만 + 통합 환경 → emacs
30번 = nano 종료 Ctrl+X (같은 회차에서 편집기 구분용)

🔔시험 팁

  • 스톨만 + GNU + 통합/확장 환경 → 거의 항상 emacs
  • 명령/입력 모드, :wq → vim (29번과 다른 유형)

👩‍🏫암기해야할 것: 

RMS(스톨만) + 통합 환경 = emacs / 모드 편집 = vim / 가벼움 = nano

 

30번

다음 중 nano 편집기에서 프로그램을 종료하는 키 조합으 로 알맞은 것은?     

① [Ctrl]+[a]
② [Ctrl]+[e]     
③ [Ctrl]+[c]
④ [Ctrl]+[x]

정답:  [Ctrl]+[x]

 

📌풀이과정

[ nano 하단 단축키 (자주 나옴) ]

기능
Ctrl+X
종료 (저장 여부 물음)
Ctrl+O
저장 (Write Out)
Ctrl+G
도움말
Ctrl+C
현재 커서 위치 표시 (종료 아님)

 

🔔시험 팁

nano: X=eXit, O=Output(저장)

👩‍🏫암기해야할 것: 

nano 종료 = Ctrl+X

 

31번

다음 중 X 윈도 환경에서만 실행되는 편집기로 알맞은 것 은?     

① gedit      ② pico     ③ nano    ④ emacs

정답: gedit      

 

📌풀이과정

편집기
실행 환경
gedit
GNOME GUI  X Window(또는 Wayland) 필요
pico / nano
터미널(텍스트)  X 없이도 사용
emacs
터미널·GUI 모두 가능 (emacs -nw 콘솔)

*판단: “X 윈도 환경에서만” = 그래픽 전용 → gedit

 

🔔시험 팁

콘솔 OK = nano, vim, emacs(-nw) / GUI 필수 = gedit

👩‍🏫암기해야할 것: 

X만 = gedit / 터미널 = nano·vim·emacs

 

32번

vi 편집기로 파일을 불러올 때 커서를 파일의 가장 마지막 줄에 위치시키려고 한다. ( 괄호 ) 안에 들어갈 내용으로 알 맞은 것은?
# vi (괄호) lin.txt​


 ① -c    ② -r     ③ -R   ④ +

정답:  +

 

📌풀이과정

vi + lin.txt      # 마지막 줄
vi +5 lin.txt     # 5번째 줄
vi -c 5 lin.txt   # -c도 줄 이동(동일 계열)
옵션
의미
+
마지막 줄 (또는 +n = n번째 줄)
-r
복구(swap 파일)
-R
읽기 전용
-c
ex 명령 실행 / 줄 이동(+와 유사)

🔔시험 팁

+(plus): 맨끝 

 

👩‍🏫암기해야할 것: 

마지막 줄 = vi + 파일

 

33번

다음 설명에 해당하는 vi 편집기의 ex 모드 환경설정으로 알맞은 것은?
문서를 편집할 때 [Enter] 키를 입력해서 행 바꿈을
하면 바로 윗줄의 시작 열과 같은 곳에 커서를 위치시키려고
한다.​


  ① set ai    ② set nu    ③ set sm    ④ set ts

정답:  set ai

 

📌풀이과정

설정
의미
set ai
auto indent — 새 줄이 윗줄과 같은 들여쓰기 열에서 시작
set nu
줄 번호 표시
set sm
showmatch — 괄호 짝 표시
set ts
tabstop — Tab 폭

🔔시험 팁

들여쓰기 맞춤 = ai / 줄번호 = nu

 

👩‍🏫암기해야할 것: 

윗줄과 같은 열 = set ai


 

34번

다음 중 vi 편집기에서 커서 키가 없는 자판 이용 시에 아래 방향으로 이동하기 위한 명령으로 알맞은 것은?     

① h    ② j     ③ k     ④ l

정답:  j 

 

📌풀이과정

hjkl = 왼쪽·아래·위·오른쪽 (vim 전통)

    k  (위)
 h   l (좌·우)
    j  (아래)
  • j = down (아래)

🔔시험 팁

  • j 아래로 내려간다고 외우

👩‍🏫암기해야할 것: 

h j k l = 좌 하 상 우


 

35번

다음 중 수세 리눅스에서 사용되는 패키지 관리 도구 모음 으로 가장 알맞은 것은?     

① YaST, zypper
② YaST, dpkg     
③ dpkg, zypper
④ dnf, zypper

정답: YaST, zypper

 

📌풀이과정

배포판
대표 도구
SUSE / openSUSE
YaST, zypper
Debian/Ubuntu
dpkg, apt
RHEL/CentOS/Fedora
rpm, dnf(yum)

 

보기
판단
① YaST, zypper
SUSE  정답
② YaST, dpkg
dpkg = Debian
③ dpkg, zypper
혼합
④ dnf, zypper
dnf = Red Hat 계열

 

🔔시험 팁

SUSE = YaST + zypper 한 쌍

 

👩‍🏫암기해야할 것: 

SUSE = YaST, zypper / Debian = dpkg, apt / Red Hat = rpm, dnf

 

36번

다음 설명에 해당하는 패키지 관리 도구로 알맞은 것은?
데비안 리눅스에서 사용하는 curses 메뉴 방식의
도구로 커서를 사용해서 주어진 메뉴를 이동하면서
손쉽게 패키지를 관리할 수 있다.​


① alien
② dselect     
③ dnf
④ zypper

정답: dselect     

 

📌풀이과정

도구
특징
dselect
Debian 텍스트 메뉴(UI) 패키지 관리 (curses)
alien
rpm ↔ deb 변환
dnf
Red Hat 계열 CLI
zypper
SUSE CLI

키워드: Debian + 메뉴 이동·커서 → dselect

🔔시험 팁

  • apt = CLI / dselect = 예전 메뉴형 (시험에 “curses 메뉴”로 자주 출제)

👩‍🏫암기해야할 것: 

Debian 메뉴형 = dselect

 

37번

다음 ( 괄호 ) 안에 들어갈 명령어로 알맞은 것은?
# (괄호) -i vim_4.5-3.deb


① rpm    ② dpkg     ③ apt    ④ pat-get

정답:  dpkg

 

📌풀이과정

dpkg -i vim_4.5-3.deb    # 설치
dpkg -l                   # 목록
dpkg -r 패키지명          # 제거
명령
확장자/배포판
dpkg
.deb (Debian/Ubuntu)
rpm
.rpm (RHEL 등)
apt
의존성 해결하며 설치 (하위에 dpkg)
pat-get
오타 함정

 

🔔시험 팁

.deb + -i → dpkg / .rpm + -i → rpm

 

👩‍🏫암기해야할 것: 

.deb 설치 = dpkg -i

 

38번

다음 설명에 해당하는 소스 설치 단계로 알맞은 것은?
Makefile 파일을 읽어 들여서 타깃(target)과 의존
성(dependencies) 관련 작업을 수행한다.​


 ① configure    ② make     ③ cmake   ④ make clean

정답: make  

 

📌풀이과정

[소스 설치 일반 순서]

./configure   → Makefile 생성(환경 검사)
make          → Makefile의 target·의존성대로 컴파일
make install  → 설치
make clean    → 빌드 산출물 정리
단계
역할
configure
Makefile 생성
make
Makefile 실행 (컴파일·링크)
cmake
별도 빌드 시스템(Makefile 생성기)
make clean
정리

 

🔔시험 팁

Makefile 읽어서 수행 → make

 

👩‍🏫암기해야할 것: 

configure = 준비 / make = 빌드 / make install = 설치

 

39번

다음은 text.tar에 묶인 파일의 내용을 확인하는 과정이다. ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은?          
# tar (괄호) text.tar​


① cvf     ② xvf     ③ tvf     ④ rvf

정답:  tvf 

 

📌풀이과정

[ tar 옵션 ]

옵션
의미
용도
c
create
아카이브 생성
x
extract
풀기
t
table
목록·내용 보기
r
append
추가
v
verbose
상세 출력
f
file
파일 지정
tar tvf text.tar    # 내용 목록
tar xvf text.tar    # 압축 해제
tar cvf backup.tar dir/   # 묶기

🔔시험 팁

보기 = t / 풀기 = x / 만들기 = c

 

👩‍🏫암기해야할 것: 

목록 t / 풀기 x / 만들기 c + vf

 

40번

다음 중 대용량의 파일을 백업할 때 압축 효율성이 좋은 순 서의 나열로 알맞은 것은?     

① .gz > .bz2 > .xz
② .bz2 > .gz > .xz     
③ .xz > .gz > .bz2
④ .xz > .bz2 > .gz

정답:  .xz > .bz2 > .gz

 

📌풀이과정

압축률(일반적으로, 대용량·텍스트 기준)


.xz (가장 높음) >  .bz2  >  .gz (가장 낮음, 가장 빠름)
형식
특징
.gz (gzip)
빠름, 압축률 보통
.bz2 (bzip2)
gzip보다 높은 압축률, 더 느림
.xz (xz/LZMA2)
가장 높은 압축률, CPU·시간 더 듦

 

🔔시험 팁

  • 효율(압축률) ≠ 속도 — 빠른 건 gz

👩‍🏫암기해야할 것: 

압축률: xz > bz2 > gz / 속도: gz > bz2 > xz

 

41번

다음 결과에 해당하는 명령으로 알맞은 것은? 

① rpm –ql vsftpd     ② rpm –qa vsftpd     ③ rpm –qV vsftpd     ④ rpm –qip vsftpd-3.0.2-29.el7_9.x86_64.rpm

정답: rpm –qip vsftpd-3.0.2-29.el7_9.x86_64.rpm

 

📌풀이과정

[rpm -q 옵션]

옵션
의미
대상
-ql
설치된 패키지의 파일 목록 (list)
설치 후 패키지명
-qa
설치된 패키지 전체 또는 특정 패키지 조회
설치된 패키지
-qV
패키지 무결성 검증 (verify)
설치된 패키지
-qip
.rpm 파일에서 패키지 정보 조회 (info, package file)
설치 전 .rpm 파일

 

[ -qip 출력 예 (설치 안 된 rpm 파일) ]

Name        : vsftpd
Version     : 3.0.2
Release     : 29.el7_9
Architecture: x86_64
...
  • 인자가 패키지명이 아니라 *.rpm 파일 경로 → ④만 해당
  • ①~③은 이미 설치된 패키지에 vsftpd 이름으로 조회하는 형태

🔔시험 팁

  • 파일명.rpm 이 인자 → -qip (i=info, p=package file)
  • 설치 후 파일 목록 → -ql

👩‍🏫암기해야할 것: 

.rpm 파일 정보 = rpm -qip xxx.rpm / 설치 후 파일목록 = rpm -ql 패키지명

 

42번

다음 중 yum 명령을 이용해서 nmap 패키지를 제거하는 명 령으로 알맞은 것은?     

① yum –e nmap
② yum –d nmap     
③ yum remove nmap
④ yum delete nmap

정답: yum remove nmap

 

📌풀이과정

명령
역할
yum remove nmap
패키지 삭제 (정답)
yum install nmap
설치
yum -e, yum -d
표준 삭제 옵션 아님 (함정)
yum delete
일부 문서에 있으나 RHEL/CentOS 7 정석은 remove
yum remove nmap
# 동의어: yum erase nmap (remove와 동일 계열)

🔔시험 팁

install / remove 쌍으로 기억 (dnf도 동일)

 

👩‍🏫암기해야할 것: 

yum remove = 패키지 제거

 

43번

다음 중 CentOS 7에서 X 윈도 기반으로 프린터를 설정할 때 실행하는 명령으로 알맞은 것은?     

① printtool
② printconf     
③ system-config-printer
④ redhat-config-printer

정답: system-config-printer

 

📌풀이과정

명령/도구
비고
system-config-printer
CentOS/RHEL 7 GUI 프린터 설정 (X 필요)
printtool
구형
printconf
구형(Red Hat 9 전후)
redhat-config-printer
더 옛날 이름 (RHEL 4~5 시대)

CentOS 7 + X Window → system-config-printer

 

🔔시험 팁

CentOS 7 + GUI 프린터 → system-config-printer 고정에 가깝게 출제

 

👩‍🏫암기해야할 것: 

X + 프린터 GUI 설정 = system-config-printer

 

44번

다음 ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은?
초기 리눅스에서는 사운드카드를 사용하기 위해서는
표준 유닉스 장치 시스템 콜을 사용하는 (ㄱ)을 /를
이용하였으나 사유화되면서, (ㄴ)(으)로 전환되었다.​


① ㉠ ALSA, ㉡ OSS
② ㉠ OSS, ㉡ ALSA     
③ ㉠ SANE, ㉡ XSANE
④ ㉠ XSANE, ㉡ SANE

정답:  ㉠ OSS, ㉡ ALSA 

 

📌풀이과정

[역사 순서]

초기: OSS (Open Sound System) — 유닉스 장치 인터페이스 스타일
        ↓ (상용화·라이선스 이슈 등)
현재: ALSA (Advanced Linux Sound Architecture) — 리눅스 표준

문장: 사운드카드” + 표준 유닉스 장치 → OSS → ALSA

🔔시험 팁

OSS(옛날) → ALSA(지금) / 스캐너는 SANE (함정 ③④)

👩‍🏫암기해야할 것: 

사운드: OSS → ALSA / 스캐너: SANE

 

45번

다음 중 리눅스에서 프린터 서버로 사용하기 위해 설치하는 프로그램으로 알맞은 것은?     

① CUPS    ② SANE     ③ ALSA     ④ OSS

정답: CUPS 

 

📌풀이과정

프로그램
역할
CUPS
Common UNIX Printing System — 프린터·인쇄 서버/스풀
SANE
스캐너
ALSA / OSS
사운드
systemctl status cups

🔔시험 팁

인쇄 = CUPS / 스캔 = SANE / 소리 = ALSA

 

👩‍🏫암기해야할 것: 

프린터 서버 = CUPS

 

46번

다음 중 System V 계열 유닉스에서 출력을 실행할 때 사용 하는 명령으로 알맞은 것은?    

① lp     ② lpr     ③ lpc    ④ lpstat

정답: lp

 

📌풀이과정

계열
인쇄 명령
System V
lp (line printer)
BSD
lpr
보기
역할
lp
System V 인쇄 실행
lpr
BSD 계열 인쇄
lpc
프린터 제어(admin)
lpstat
대기열 상태 조회

 

문장: “출력을 실행” → lp

 

🔔시험 팁

  • System V = lp / BSD = lpr (리눅스는 CUPS가 둘 다 호환)

👩‍🏫암기해야할 것: 

System V 인쇄 = lp / BSD = lpr


 

47번

다음 설명에 해당하는 LVM 용어로 알맞은 것은?
LVM을 구성하는 일종의 단위로 일반 하드디스크의
블록에 해당한다.​


① PV
② PE     
③ VG
④ LV

정답: PE  (Physical Extent)

 

📌풀이과정

[LVM 구조 (아래 -> 위)

물리 디스크 파티션 → PV (Physical Volume)
                    ↓ PE(Physical Extent)로 잘린 조각
                    VG (Volume Group) = PE 모음
                    ↓
                    LV (Logical Volume) = LE(Logical Extent)로 구성
용어
의미
PV
물리 볼륨 (디스크/파티션 전체)
PE
물리 영역 — VG가 다루는 최소 할당 단위 (= 디스크 블록에 해당)
VG
PE를 모은 
LV
사용자가 쓰는 논리 볼륨 (파일시스템 올리는 곳)

일반 하드디스크의 블록에 해당 → PE

 

🔔시험 팁

  • PV=디스크 덩어리 / PE=블록 / LV=파티션처럼 쓰는 것

👩‍🏫암기해야할 것: 

블록 단위 = PE / 논리 파티션 = LV / 풀 = VG


 

48번

다음 중 하드디스크 4개를 사용해서 RAID 구성했을 경우 실제 사용 가능한 디스크 용량의 효율성이 50%인 조합으로 알맞은 것은?

① RAID-0, RAID-5
② RAID-1, RAID-5     
③ RAID-0, RAID-6
④ RAID-1, RAID-6

정답:  RAID-1, RAID-6

 

📌풀이과정

[4개 디스크 기준 사용 가능 용량 비율]

RAID
구성(4 디스크)
usable
효율
RAID-0
스트라이핑 4개
4디스크 분량
100%
RAID-1
2쌍 미러
2디스크 분량
50%
RAID-5
데이터 3 + 패리티 1
3디스크 분량
75%
RAID-6
데이터 2 + 패리티 2
2디스크 분량
50%
 “효율성이 **50%**인 조합”

RAID-1 ✓ (4개 → 2개 분량)
RAID-6 ✓ (4개 → n-2 = 2개 분량)
RAID-5 → 4개일 때 75% (② 제외)
RAID-0 → 100% (①③ 제외)
→ ④ RAID-1, RAID-6

 

🔔시험 팁

  • 4디스크 RAID-5 = 75% (자주 틀림)
  • 50% = 미러(RAID1) 또는 RAID6(패리티 2개)

 

👩‍🏫암기해야할 것: 

4디스크:

  • RAID1·RAID6 = 50%
  • RAID5 = 75% 
  • RAID0 = 100%