iBetter Books
수정

기출 유형 연습 3회

프로세스, 네트워크, 시스템 관리를 포함한 종합 문제입니다. 실전 시험 수준의 난이도 상 문제로 구성되어 있습니다.

정답은 04절 풀이와 해설에서 확인합니다.


문제 1

다음 crontab 표현식이 실행되는 시점으로 올바른 것은 무엇인가.

*/15 9-17 * * 1-5 /home/user/work.sh
  1. 평일 오전 9시부터 오후 5시까지 15분마다 실행
  2. 15시간마다 평일에 실행
  3. 평일 9시와 17시에 15분 간격으로 실행
  4. 매일 오전 9시부터 15분마다 실행

문제 2

다음 명령어 실행 후 test.sh에 부여되는 권한으로 올바른 것은 무엇인가.

touch test.shchmod u+x,g-w,o=r test.sh

초기 권한이 rw-rw-rw-(666)라고 가정한다.

  1. rwxrwxr--
  2. rwxr--r--
  3. rwxr-xr--
  4. rw-r--r--

문제 3

다음 스크립트의 출력으로 올바른 것은 무엇인가.

#!/bin/bashcount=0while IFS= read -r line; do    ((count++))done < /etc/passwdecho "Lines: $count"
  1. Lines: 0
  2. /etc/passwd의 줄 수
  3. 항상 Lines: 1
  4. 무한 루프

문제 4

다음 중 프로세스 상태 코드 D의 의미로 올바른 것은 무엇인가.

  1. Daemon 상태 (백그라운드 서비스)
  2. 인터럽트 불가능한 대기 상태 (주로 I/O 대기)
  3. 삭제 예정인 프로세스
  4. 디버그 모드로 실행 중인 프로세스

문제 5

다음 명령어의 실행 결과로 올바른 것은 무엇인가.

ls -la /proc/$$ | head -1
  1. 현재 쉘 프로세스의 /proc 정보를 출력한다
  2. 마지막 백그라운드 프로세스 정보를 출력한다
  3. $$ 변수가 정의되지 않아 오류가 발생한다
  4. /proc/ 디렉토리 전체 목록을 출력한다

문제 6

다음 중 SIGHUP(1번 시그널)을 서비스에 보냈을 때 일반적으로 발생하는 동작으로 올바른 것은 무엇인가.

  1. 프로세스를 강제로 종료한다
  2. 프로세스를 일시 정지한다
  3. 설정 파일을 재로드한다
  4. 프로세스를 백그라운드로 보낸다

문제 7

다음 스크립트에서 trap 명령어의 역할로 올바른 것은 무엇인가.

#!/bin/bashcleanup() {    rm -f /tmp/lock_file}trap cleanup EXITtouch /tmp/lock_file
  1. EXIT 시그널을 무시한다
  2. 스크립트 종료 시(정상 또는 오류) cleanup 함수를 실행한다
  3. cleanup 함수가 EXIT 이후에 실행된다
  4. 스크립트가 오류 없이 종료될 때만 cleanup을 실행한다

문제 8

다음 중 현재 시스템에서 수신 대기 중인 모든 포트를 확인하는 명령어로 올바른 것은 무엇인가.

  1. ps aux | grep LISTEN
  2. ss -tuln
  3. ifconfig --ports
  4. ip addr show | grep LISTEN

문제 9

다음 스크립트의 출력으로 올바른 것은 무엇인가.

#!/bin/bashresult=$(echo "100 200 300" | awk '{print ($1+$2+$3)/NF}')echo $result
  1. 600
  2. 200
  3. 3
  4. 100 200 300

문제 10

다음 중 /etc/hosts 파일에 대한 설명으로 올바른 것은 무엇인가.

  1. 시스템에 설치된 호스트 목록을 관리한다
  2. DNS 서버 주소를 설정하는 파일이다
  3. 호스트명과 IP 주소의 정적 매핑 정보를 담고 있다
  4. 허용된 원격 접속 호스트를 제한한다

문제 11

다음 명령어의 출력으로 올바른 것은 무엇인가.

echo "Hello" | tee /tmp/out.txt | wc -c
  1. 5
  2. 6
  3. Hello가 출력되고 5가 저장된다
  4. /tmp/out.txt의 내용을 출력한다

문제 12

다음 중 systemctl을 이용하여 서비스를 즉시 재시작하고, 재시작 결과를 확인하는 명령어 조합으로 올바른 것은 무엇인가.

  1. systemctl restart nginx && systemctl status nginx
  2. service nginx restart; systemctl check nginx
  3. systemctl reload nginx | systemctl status nginx
  4. systemctl -r nginx && nginx -t

문제 13

다음 스크립트에서 declare -r의 역할로 올바른 것은 무엇인가.

#!/bin/bashdeclare -r MAX_RETRY=3MAX_RETRY=5   # 이 줄 실행 시 어떻게 되는가
  1. MAX_RETRY 값이 5로 변경된다
  2. 오류가 발생하고 스크립트가 계속 실행된다
  3. 오류 메시지가 출력되며 해당 줄은 무시된다
  4. 컴파일 단계에서 오류가 감지되어 스크립트가 실행되지 않는다

문제 14

다음 find 명령어 중 SetUID 비트가 설정된 실행 파일을 전체 시스템에서 찾는 명령어로 올바른 것은 무엇인가.

  1. find / -perm 4000
  2. find / -perm /4000
  3. find / -type f -perm /4000
  4. find / -perm +4000 -type f

문제 15

다음 스크립트를 ./script.sh hello world로 실행했을 때 출력으로 올바른 것은 무엇인가.

#!/bin/bashshiftecho "$1 $#"
  1. hello 2
  2. world 1
  3. hello 1
  4. world 2

문제 16

다음 중 Bash의 here document를 올바르게 사용한 것은 무엇인가.

  1. cat << EOF로 시작하고 EOF로 종결한다
  2. cat > EOF로 시작하고 < EOF로 종결한다
  3. cat < EOF로 시작하고 EOF >로 종결한다
  4. cat | EOF로 시작하고 | EOF로 종결한다

문제 17

다음 명령어 중 /var/log/syslog에서 오늘 날짜의 error 키워드가 포함된 줄 수를 세는 명령어로 가장 적절한 것은 무엇인가.

TODAY=$(date '+%b %d')

위 TODAY 변수 선언 이후에 사용할 명령어로 올바른 것은 무엇인가.

  1. grep "$TODAY" /var/log/syslog | grep -c "error"
  2. grep "error" /var/log/syslog | wc "$TODAY"
  3. find /var/log/syslog -date "$TODAY" -name "error"
  4. cat /var/log/syslog | grep "error" | grep --date "$TODAY"

문제 18

다음 스크립트에서 $PIPESTATUS 배열이 사용되는 목적으로 올바른 것은 무엇인가.

#!/bin/bashcat /nonexistent | grep "pattern" | wc -lecho "${PIPESTATUS[@]}"
  1. 파이프라인의 모든 명령어 종료 코드를 개별로 확인한다
  2. 파이프라인 실행 시간을 측정한다
  3. 파이프라인의 마지막 명령어 PID를 저장한다
  4. 파이프라인의 출력을 배열로 저장한다

문제 19

다음 명령어 실행 결과로 /tmp/test.txt에 저장되는 내용으로 올바른 것은 무엇인가.

( echo "line1"; echo "line2" ) > /tmp/test.txtecho "line3" >> /tmp/test.txt
  1. line3만 저장
  2. line1line2 두 줄만 저장
  3. line1, line2, line3 세 줄 저장
  4. 서브쉘의 출력은 파일로 저장되지 않음

문제 20

다음 중 쉘 스크립트에서 함수가 정의된 후 다른 스크립트에서 재사용하는 방법으로 올바른 것은 무엇인가.

  1. import ./functions.sh
  2. source ./functions.sh 또는 . ./functions.sh
  3. include ./functions.sh
  4. load ./functions.sh