21. 다음 중 백그라운드로 실행시킨 프로세스를 확인하는 명령어로 알맞은 것은?
① job
② jobs
③ fg
④ bg
백그라운드로 실행시킨 프로세스를 확인하는 명령어는 "jobs" 입니다.
작업이 중지된 상태, 백그라운드로 진행중인 상태, 변경되었지만 보고되지 않은 상태 등을 표시합니다.
프로세스 관련 주요 명령어는 아래와 같습니다.
명령어 | 설명 |
ps | 현재 실행 중인 프로세스의 상태를 보여주는 명령어 (CPU 사용도가 낮은 순서대로 출력) |
pstree | 실행 중인 프로세스들을 트리구조로 보여주는 명령어 |
jobs | 작업 중지, 백그라운드, 변경되었지만 보고되지 않은 상태 등을 보여주는 명령어 |
bg | 포그라운드 작업을 백그라운드 작업으로 전환 |
fg | 백그라운드 작업을 포그라운드 작업으로 전환 |
kill | 프로세스 종료 명령어 |
killall | 같은 데몬의 여러 프로세스를 한 번에 종료 |
nice | 프로세스 사이의 우선순위를 확인하고 우선순위를 변경하는 명령어 |
renice | 이미 실행 중인 프로세스의 우선순위를 변경하는 명령어 (프로세스 소유자, 루트 권한자만 명령 가능) |
top | 리눅스 시스템의 운영 및 프로세스 상태를 실시간으로 모니터링 |
nohup | 프로세스가 중단되지 않고 백그라운드로 작업을 수행하게 해주는 명령어 |
22. 다음 설명에 해당하는 용어로 가장 알맞은 것은?
주기적이고 지속적인 서비스 요청을 처리하기 위해 메모리에 계속 상주하고 있는 프로그램으로 백그라운드 프로세스의 일종이다. |
① init
② inetd
③ standalone
④ daemon
해당 설명은 데몬 프로세스(Daemon Process)에 대한 내용입니다.
특정 서비스를 제공하기 위해 존재하며 리눅스 커널에 의해 실행됩니다.
프로세스의 종류 및 설명은 아래와 같습니다.
데몬 프로세스 | > 특정 서비스를 제공하기 위해 존재하며 리눅스 커널에 의해 실행 > 주기적이고 지속적인 서비스 요청을 처리하기 위해 메모리에 계속 상주 |
고아 프로세스 | > 자식 프로세스가 아직 실행중일 때 부모 프로세스가 먼저 종료된 자식 프로세스 |
좀비 프로세스 | > 자식 프로세스가 실행을 종료했음에도 프로세스 테이블 목록에 남아있는 경우 > defunct 프로세스라고 나오기도 함 |
23. 다음 중 실시간으로 CPU 사용량을 확인할 때 이용하는 명령어로 알맞은 것은?
① top
② pgrep
③ nohup
④ free
실시간으로 CPU 사용량을 확인할 때 사용하는 명령어는 "top" 명령어입니다.
리눅스 시스템의 운영 상태 및 프로세스 상태를 실시간으로 모니터링할 때 사용합니다.
프로세스 관련 주요 명령어는 아래와 같습니다.
명령어 | 설명 |
ps | 현재 실행 중인 프로세스의 상태를 보여주는 명령어 (CPU 사용도가 낮은 순서대로 출력) |
pstree | 실행 중인 프로세스들을 트리구조로 보여주는 명령어 |
jobs | 작업 중지, 백그라운드, 변경되었지만 보고되지 않은 상태 등을 보여주는 명령어 |
bg | 포그라운드 작업을 백그라운드 작업으로 전환 |
fg | 백그라운드 작업을 포그라운드 작업으로 전환 |
kill | 프로세스 종료 명령어 |
killall | 같은 데몬의 여러 프로세스를 한 번에 종료 |
nice | 프로세스 사이의 우선순위를 확인하고 우선순위를 변경하는 명령어 |
renice | 이미 실행 중인 프로세스의 우선순위를 변경하는 명령어 (프로세스 소유자, 루트 권한자만 명령 가능) |
top | 리눅스 시스템의 운영 및 프로세스 상태를 실시간으로 모니터링 |
nohup | 프로세스가 중단되지 않고 백그라운드로 작업을 수행하게 해주는 명령어 |
24. 다음 중 현재 실행 중인 포어그라운드 프로세스의 작업을 백그라운드 프로세스로 전환하기 위해 사용하는 키 조합으로 알맞은 것은?
① [ctrl]+[z]
② [ctrl]+[c]
③ [ctrl]+[l]
④ [ctrl]+[d]
현재 실행 중인 포그라운드 프로세스 작업을 백그라운드 프로세스로 전환하기 위해서는
bg 명령어를 사용하거나, [ Ctrl ] + [ z ] 키 조합을 사용합니다.
포그라운드 작업을 종료할 때는 [ Ctrl ] + [ c ] 키 조합을 사용합니다.
25. 다음 중 [ctrl]+[c] 키 조합으로 발생하는 시그널의 번호 값으로 알맞은 것은?
① 1
② 2
③ 15
④ 20
[ Ctrl ] + [ c ] 키 조합으로 발생하는 시그널은 2번의 SIGINT입니다.
시그널 목록을 확인하는 명령과 옵션은 아래와 같습니다. (Signal의 종류는 OS마다 차이가 있을 수 있습니다.)
kill -l
주요 시그널 번호 목록은 아래와 같습니다.
1 | SIGHUP | 터미널에서 접속이 끊겼을 때 보내지는 시그널. (kill -1 옵션) |
2 | SIGINT | [ Ctrl ] + [ c ]. 실행 중지 시그널. |
3 | SIGQUIT | [ Ctrl ] + [ \ ]. 실행 중지 시그널. |
9 | SIGSEGV | 프로세스 강제 종료 시그널. (kill -9 옵션) |
15 | SIGTERM | 프로세스 정상 종료 시그널. kill 명령의 디폴트 시그널. (kill -15 옵션) |
20 | SIGTSTP | [ Ctrl ] + [ z ]. 실행 정지 후 다시 실행을 계속하기 위해 대기시키는 시그널. |
26. 작업번호가 2번인 백그라운드 프로세스를 종료하려고 한다. 다음 ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은?
# kill ( 괄호 )
① 2
② &2
③ +2
④ %2
작업 번호로 프로세스를 종료할 때는 작업번호의 앞에 "%"를 붙입니다.
kill 명령어의 형식 및 주요 옵션은 아래와 같습니다.
# 형식
kill [옵션] [시그널번호 or 시그널명] [PID or %작업번호]
옵션 | 설명 |
-l | 시그널 리스트(종류) 출력 |
-s 시그널 번호 -s 시그널명 |
전달할 시그널의 종류 지정 |
-1 | 프로세스 재시작. (HUP; HangUP) |
-9 | 프로세스 강제 종료 |
27. 프로세스아이디(PID)가 1222인 bash 프로세스의 우선순위(NI)값이 0이다. 다음 중 이 프로세스의 NI값을 –10으로 변경하여 우선순위를 높이는 명령으로 알맞은 것은?
① nice –10 1222
② nice –-10 1222
③ nice –10 bash
④ nice –-10 bash
NI 값을 음수 10으로 변경하려면 아래와 같이 명령어를 사용합니다.
nice --10 bash
nice의 형식 및 옵션에 대한 설명은 아래와 같습니다.
# 형식
nice [옵션] 프로세스명
옵션 | 설명 |
-n 조정수치 -조정수치 --adjustment 조정수치 |
명령의 우선권에 조정수치를 더함 (양수 값 : - ) (음수 값 : -- ) |
28. cron을 이용해서 해당 스크립트를 매주 월요일 오전 10시 2분에 주기적으로 실행하려고 한다. 다음 ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은?
( 괄호 ) /etc/check.sh
① 1 10 * * 2
② 2 10 * * 2
③ 1 10 * * 1
④ 2 10 * * 1
cron을 이용하여 script를 주기적으로 실행하는 형식은 다음과 같습니다.
분 (min) | 시 (hour) | 일 (day) | 달 (month) | 요일 | 명령어 |
( 분 - 시 - 일 - 달 - 요일 - 명령어 )
따라서 2분, 10시, 월요일(1) 순서로 설정합니다.
분 (min) | 시 (hour) | 일 (day) | 달 (month) | 요일 | 명령어 |
2 | 10 | * | * | 1 | /etc/check.sh |
2 10 * * 1 /etc/check.sh
29. 다음 중 백그라운드로 실행시킨 프로세스의 우선순위값을 확인하는 명령으로 알맞은 것은?
① jobs -p
② jobs -l
③ ps aux
④ ps –l
( 백그라운드로 실행시킨 프로세스를 확인하는 명령어 "jobs" 와 혼동 주의 )
( jobs의 -l 옵션은 프로세스 그룹 ID를 state 필드 앞에 표시해주는 옵션 )
프로세스의 "우선순위값"을 확인하려면 ps 명령어와 -l 옵션을 사용해야 합니다.
ps 명령어는 현재 실행 중인 프로세스의 상태를 보여주는 명령어입니다.
ps의 -l 옵션은 자세한 정보를 출력하는 옵션입니다.
아래는 ps 명령과 ps -l 명령의 출력 예시입니다.
[root@localhost ~] # ps
PID TTY TIME CMD
2561 pts/0 00: 00: 00 bash
2773 pts/0 00: 00: 00 ps
[root@localhost ~] # ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 2561 2553 0 80 0 - 29107 do_wai pts/0 00: 00: 00 bash
0 R 0 2798 2561 0 80 0 - 38331 - pts/0 00: 00: 00 ps
ps -l 명령의 " PRI "가 바로 실행 우선순위 값으로, 값이 작을수록 우선순위가 높습니다.
30. 다음 ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은?
CentOS 7 버전 리눅스에서는 부팅을 시작하면 커널이 ( ㉠ ) (이)라는 최초의 프로세스를 발생시키고, 이후 시스템 운영에 필요한 데몬을 비롯한 다른 프로세스들은 ( ㉡ ) 방식으로 ( ㉠ ) 프로세스의 자식 프로세스를 생성하게 된다. |
① ㉠ init, ㉡ exec
② ㉠ init, ㉡ fork
③ ㉠ systemd, ㉡ exec
④ ㉠ systemd, ㉡ fork
CentOS 7 리눅스의 최초 프로세스명은 "systemd"입니다.
이후 다른 프로세스들은 "fork" 방식으로 systemd의 자식 프로세스를 생성합니다.
31. 다음 중 GNC 프로젝트의 일환으로 만들어진 셸로 알맞은 것은?
① ksh
② bash
③ dash
④ csh
GNC...?
bash 셸은 GNU 프로젝트의 일환으로 개발되었습니다.
32. 다음은 환경변수를 이용해서 로그인 셸을 확인하는 과정이다. ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은?
$ echo ( 괄호 )
① $HOME
② $SHELL
③ $LOGIN
④ $TERM
사용자의 로그인 셸을 확인하는 방법으로 SHELL 변수의 내용을 확인하는 방법이 있습니다.
SHELL 변수의 내용을 확인하려면 echo $SHELL 명령을 사용합니다.
로그인 셸을 확인하는 방법은 아래와 같습니다.
1) /etc/shells 확인
> /etc/shells 파일에서 사용할 수 있는 셸들을 확인할 수 있습니다.
2) /etc/passwd 확인
> /etc/passwd 파일에서 계정마다 할당된 셸을 확인할 수 있습니다.
3) echo $SHELL 명령어 사용
> echo $SHELL 명령어를 사용하여 현재 로그인한 사용자가 사용하고 있는 셸을 확인할 수 있습니다.
33. 다음 중 선언된 셸 변수를 확인하는 명령으로 가장 알맞은 것은?
① chsh
② set
③ unset
④ env
선언된 셸 변수(지역 변수)를 확인하는 명령은 " set " 입니다.
환경 변수 및 셸 변수에 대한 설명은 아래와 같습니다.
환경 변수 (전역 변수) | 셸 변수 (지역 변수) |
> 전체 셸에서 사용 가능한 전역 변수 > 서브 셸에 기능 상속 가능 > 환경 변수 확인 명령 : env |
> 현재 로그인 셸에서만 사용 가능한 지역 변수 > 서브 셸에 기능 상속 불가능 > 셸 변수 확인 명령 : set |
34. 다음 중 현재 시스템에서 사용 가능한 셸의 정보를 저장하고 있는 파일로 알맞은 것은?
① /etc/shells
② /etc/bashrc
③ /etc/passwd
④ /etc/profile
현재 시스템에서 사용 가능한 셸의 정보를 저장하고 있는 파일은 /etc/shells 파일입니다.
(chsh 명령어의 -l옵션 (chsh -l 명령)은 /etc/shells 파일 안에 지정된 셸을 보여줍니다.)
/etc/bashrc와 /etc/profile은 전역 설정 파일입니다.
bash 셸 관련 설정 파일들에 대한 설명은 아래와 같습니다.
환경 설정 파일 | 기능 | |
전역 설정 파일 | /etc/profile | > 모든 사용자의 셸 환경을 제어하는 전역적인 시스템 설정 파일 > 환경 변수와 bash가 수행 시 실행되는 프로그램을 제어 > 관리자만 설정 가능해야 하며 모든 사용자들에게 반영되어야 함 |
/etc/bashrc | > 별칭(alias)과 bash가 수행 시 실행되는 함수를 전역적으로 제어 > 생략되기도 하며 /etc/profile에 내용이 포함되기도 함 |
|
지역 설정 파일 | ~/.bash_profile | > 개인 사용자의 셸 환경을 제어하는 지역적인 시스템 설정 파일 > PATH, 환경 변수 등을 설정 또는 변경할 때 사용 > 로그인 시 로딩 |
~/.bash_history | > 사용자가 명령어나 키보드로 입력한 내용들을 파일 안에 기록 > 위/아래 방향키를 사용하여 사용했던 명령어 검색 가능 > 전에 입력했던 명령어의 재사용이 가능하게 함 |
|
~/.bashrc | > 별칭(alias)과 bash가 수행 시 실행되는 함수를 지역적으로 제어 | |
~/.bash_logout | > 로그아웃하기 직전에 실행되는 시스템 설정 파일 |
35. 다음 중 ls 명령어에 설정된 에일리어스(alias)를 해제하는 명령으로 알맞은 것은?
① alias ls
② alias –c ls
③ ualias ls
④ unalias ls
에일리어스(alias; 별칭) 기능은 자주 사용하는 명령어를 특정 문자로 입력해 두고
간편하게 사용할 수 있게 하는 기능입니다.
ls 명령어에 설정된 alias를 해제하는 명령은 unalias ls 입니다.
alias 사용법에 대한 설명은 다음과 같습니다.
명령어 | 설명 |
alias | 설정되어 있는 별명들 확인 |
alias 별명 = '명령어 정의' | 새로운 별명 정의 |
unalias 별명 | 지정된 별명 해제 |
36. 다음은 root 권한으로 ihduser 사용자가 실행한 명령의 목록 정보를 확인하는 과정이다. ( 괄호 ) 안에 들어갈 내용으로 가장 알맞은 것은?
# cat ( 괄호 )
① ~ihduser/.history
② ~ihduser/.profile
③ ~ihduser/.bash_history
④ ~ihduser/.bash_profile
~/.bash_history 파일은 지역 설정 파일로, 사용자가 명령어나 키보드로 입력한 내용들이 기록되는 파일입니다.
현재 로그인된 계정의 실행 명령 목록 정보를 확인하려면 ~/.bash_history 파일을 확인합니다.
root 권한으로 ihduser 사용자의 실행 명령 목록 정보를 확인해야 하기 때문에
~ihduser/.bash_history 파일을 확인해야 합니다.
즉 cat ~ihduser/.bash_history 명령을 사용하면 됩니다.
bash 셸 관련 설정 파일들에 대한 설명은 아래와 같습니다.
환경 설정 파일 | 기능 | |
전역 설정 파일 | /etc/profile | > 모든 사용자의 셸 환경을 제어하는 전역적인 시스템 설정 파일 > 환경 변수와 bash가 수행 시 실행되는 프로그램을 제어 > 관리자만 설정 가능해야 하며 모든 사용자들에게 반영되어야 함 |
/etc/bashrc | > 별칭(alias)과 bash가 수행 시 실행되는 함수를 전역적으로 제어 > 생략되기도 하며 /etc/profile에 내용이 포함되기도 함 |
|
지역 설정 파일 | ~/.bash_profile | > 개인 사용자의 셸 환경을 제어하는 지역적인 시스템 설정 파일 > PATH, 환경 변수 등을 설정 또는 변경할 때 사용 > 로그인 시 로딩 |
~/.bash_history | > 사용자가 명령어나 키보드로 입력한 내용들을 파일 안에 기록 > 위/아래 방향키를 사용하여 사용했던 명령어 검색 가능 > 전에 입력했던 명령어의 재사용이 가능하게 함 |
|
~/.bashrc | > 별칭(alias)과 bash가 수행 시 실행되는 함수를 지역적으로 제어 | |
~/.bash_logout | > 로그아웃하기 직전에 실행되는 시스템 설정 파일 |
37. 다음 중 셸에서 실행 후 저장되는 history 개수를 확인할 수 있는 환경변수명으로 알맞은 것은?
① HISTORY
② HISTORYSIZE
③ HISTSIZE
④ HISTFILESIZE
환경변수 HISTSIZE 는 저장할 수 있는 명령어의 최대 개수입니다.
즉, 셸에서 실행 후 저장되는 history 개수를 확인할 수 있습니다.
[root@localhost ~]# echo $HISTSIZE
1000
38. 다음 중 ihduser 사용자의 로그인 셸을 확인하는 명령으로 알맞은 것은?
① chsh ihduser
② chsh –l ihduser
③ grep ihduser /etc/passwd
④ grep ihduser /etc/shells
로그인 셸을 확인하는 방법은 아래와 같습니다.
1) /etc/shells 확인
> /etc/shells 파일에서 사용할 수 있는 셸들을 확인할 수 있습니다.
2) /etc/passwd 확인
> /etc/passwd 파일에서 계정마다 할당된 셸을 확인할 수 있습니다.
3) echo $SHELL 명령어 사용
> echo $SHELL 명령어를 사용하여 현재 로그인한 사용자가 사용하고 있는 셸을 확인할 수 있습니다.
특정 사용자의 로그인 셸을 확인하려면 /etc/passwd 파일을 확인합니다.
grep ihduser /etc/passwd 명령의 사용 예시는 다음과 같습니다.
[root@localhost ~]# grep ihduser /etc/passwd
ihduser:x:1003:1003::/home/ihduser:/bin/bash
39. 다음 중 파일이나 디렉터리의 허가권 값을 변경하는 명령으로 알맞은 것은?
① chmod
② chgrp
③ umask
④ chown
chmod :
파일의 모드(mode)를 변경하는 명령어입니다.
읽기 권한(r), 쓰기 권한(w), 실행 권한(x)의 권한 여부 및
소유자(U), 그룹(G), 그 외 사용자(O)의 파일 접근 권한을 변경할 수 있습니다.
( 자세한 내용은 아래의 포스팅으로 )
>> [Linux] 허가권과 소유권_2 <<
40. 다음은 마운트된 /backup 영역을 마운트 해제하는 과정이다. ( 괄호 ) 안에 들어갈 맹령어로 알맞은 것은?
# ( 괄호 ) /backup
① umount
② unmount
③ eject
④ nohup
umount :
마운트된 파일 시스템을 해제하는 명령
'리눅스 마스터 2급' 카테고리의 다른 글
[리.마 2급 기출 풀이]_2022.06.11_(41~60) (2) | 2022.08.27 |
---|---|
[ 리눅스 마스터 2급 ] _리눅스 라이선스 (0) | 2022.08.26 |
[리.마 2급 기출 풀이]_2022.06.11_(1~20) (0) | 2022.08.24 |
[ 리눅스 마스터 2급 ] _리눅스의 역사_연습문제 (0) | 2022.05.09 |
[ 리눅스 마스터 2급 ] _리눅스의 역사 (0) | 2022.05.08 |