기출 유형 연습 3회
프로세스, 네트워크, 시스템 관리를 포함한 종합 문제입니다. 실전 시험 수준의 난이도 상 문제로 구성되어 있습니다.
정답은 04절 풀이와 해설에서 확인합니다.
문제 1
다음 crontab 표현식이 실행되는 시점으로 올바른 것은 무엇인가.
*/15 9-17 * * 1-5 /home/user/work.sh
- 평일 오전 9시부터 오후 5시까지 15분마다 실행
- 15시간마다 평일에 실행
- 평일 9시와 17시에 15분 간격으로 실행
- 매일 오전 9시부터 15분마다 실행
문제 2
다음 명령어 실행 후 test.sh에 부여되는 권한으로 올바른 것은 무엇인가.
touch test.shchmod u+x,g-w,o=r test.sh
초기 권한이 rw-rw-rw-(666)라고 가정한다.
rwxrwxr--rwxr--r--rwxr-xr--rw-r--r--
문제 3
다음 스크립트의 출력으로 올바른 것은 무엇인가.
#!/bin/bashcount=0while IFS= read -r line; do ((count++))done < /etc/passwdecho "Lines: $count"
Lines: 0/etc/passwd의 줄 수- 항상
Lines: 1 - 무한 루프
문제 4
다음 중 프로세스 상태 코드 D의 의미로 올바른 것은 무엇인가.
- Daemon 상태 (백그라운드 서비스)
- 인터럽트 불가능한 대기 상태 (주로 I/O 대기)
- 삭제 예정인 프로세스
- 디버그 모드로 실행 중인 프로세스
문제 5
다음 명령어의 실행 결과로 올바른 것은 무엇인가.
ls -la /proc/$$ | head -1
- 현재 쉘 프로세스의 /proc 정보를 출력한다
- 마지막 백그라운드 프로세스 정보를 출력한다
$$변수가 정의되지 않아 오류가 발생한다/proc/디렉토리 전체 목록을 출력한다
문제 6
다음 중 SIGHUP(1번 시그널)을 서비스에 보냈을 때 일반적으로 발생하는 동작으로 올바른 것은 무엇인가.
- 프로세스를 강제로 종료한다
- 프로세스를 일시 정지한다
- 설정 파일을 재로드한다
- 프로세스를 백그라운드로 보낸다
문제 7
다음 스크립트에서 trap 명령어의 역할로 올바른 것은 무엇인가.
#!/bin/bashcleanup() { rm -f /tmp/lock_file}trap cleanup EXITtouch /tmp/lock_file
- EXIT 시그널을 무시한다
- 스크립트 종료 시(정상 또는 오류) cleanup 함수를 실행한다
- cleanup 함수가 EXIT 이후에 실행된다
- 스크립트가 오류 없이 종료될 때만 cleanup을 실행한다
문제 8
다음 중 현재 시스템에서 수신 대기 중인 모든 포트를 확인하는 명령어로 올바른 것은 무엇인가.
ps aux | grep LISTENss -tulnifconfig --portsip addr show | grep LISTEN
문제 9
다음 스크립트의 출력으로 올바른 것은 무엇인가.
#!/bin/bashresult=$(echo "100 200 300" | awk '{print ($1+$2+$3)/NF}')echo $result
6002003100 200 300
문제 10
다음 중 /etc/hosts 파일에 대한 설명으로 올바른 것은 무엇인가.
- 시스템에 설치된 호스트 목록을 관리한다
- DNS 서버 주소를 설정하는 파일이다
- 호스트명과 IP 주소의 정적 매핑 정보를 담고 있다
- 허용된 원격 접속 호스트를 제한한다
문제 11
다음 명령어의 출력으로 올바른 것은 무엇인가.
echo "Hello" | tee /tmp/out.txt | wc -c
56Hello가 출력되고 5가 저장된다/tmp/out.txt의 내용을 출력한다
문제 12
다음 중 systemctl을 이용하여 서비스를 즉시 재시작하고, 재시작 결과를 확인하는 명령어 조합으로 올바른 것은 무엇인가.
systemctl restart nginx && systemctl status nginxservice nginx restart; systemctl check nginxsystemctl reload nginx | systemctl status nginxsystemctl -r nginx && nginx -t
문제 13
다음 스크립트에서 declare -r의 역할로 올바른 것은 무엇인가.
#!/bin/bashdeclare -r MAX_RETRY=3MAX_RETRY=5 # 이 줄 실행 시 어떻게 되는가
MAX_RETRY값이 5로 변경된다- 오류가 발생하고 스크립트가 계속 실행된다
- 오류 메시지가 출력되며 해당 줄은 무시된다
- 컴파일 단계에서 오류가 감지되어 스크립트가 실행되지 않는다
문제 14
다음 find 명령어 중 SetUID 비트가 설정된 실행 파일을 전체 시스템에서 찾는 명령어로 올바른 것은 무엇인가.
find / -perm 4000find / -perm /4000find / -type f -perm /4000find / -perm +4000 -type f
문제 15
다음 스크립트를 ./script.sh hello world로 실행했을 때 출력으로 올바른 것은 무엇인가.
#!/bin/bashshiftecho "$1 $#"
hello 2world 1hello 1world 2
문제 16
다음 중 Bash의 here document를 올바르게 사용한 것은 무엇인가.
cat << EOF로 시작하고EOF로 종결한다cat > EOF로 시작하고< EOF로 종결한다cat < EOF로 시작하고EOF >로 종결한다cat | EOF로 시작하고| EOF로 종결한다
문제 17
다음 명령어 중 /var/log/syslog에서 오늘 날짜의 error 키워드가 포함된 줄 수를 세는 명령어로 가장 적절한 것은 무엇인가.
TODAY=$(date '+%b %d')
위 TODAY 변수 선언 이후에 사용할 명령어로 올바른 것은 무엇인가.
grep "$TODAY" /var/log/syslog | grep -c "error"grep "error" /var/log/syslog | wc "$TODAY"find /var/log/syslog -date "$TODAY" -name "error"cat /var/log/syslog | grep "error" | grep --date "$TODAY"
문제 18
다음 스크립트에서 $PIPESTATUS 배열이 사용되는 목적으로 올바른 것은 무엇인가.
#!/bin/bashcat /nonexistent | grep "pattern" | wc -lecho "${PIPESTATUS[@]}"
- 파이프라인의 모든 명령어 종료 코드를 개별로 확인한다
- 파이프라인 실행 시간을 측정한다
- 파이프라인의 마지막 명령어 PID를 저장한다
- 파이프라인의 출력을 배열로 저장한다
문제 19
다음 명령어 실행 결과로 /tmp/test.txt에 저장되는 내용으로 올바른 것은 무엇인가.
( echo "line1"; echo "line2" ) > /tmp/test.txtecho "line3" >> /tmp/test.txt
line3만 저장line1과line2두 줄만 저장line1,line2,line3세 줄 저장- 서브쉘의 출력은 파일로 저장되지 않음
문제 20
다음 중 쉘 스크립트에서 함수가 정의된 후 다른 스크립트에서 재사용하는 방법으로 올바른 것은 무엇인가.
import ./functions.shsource ./functions.sh또는. ./functions.shinclude ./functions.shload ./functions.sh