iBetter Books
수정

기출 유형 연습 1회

쉘 스크립트 기본 개념을 중심으로 구성한 1회차 문제입니다. 난이도는 중 수준으로, 기본 문법과 명령어 이해를 확인합니다.

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


문제 1

다음 중 쉘 스크립트에서 현재 스크립트의 파일명을 담고 있는 특수변수로 올바른 것은 무엇인가.

  1. $#
  2. $0
  3. $1
  4. $$

문제 2

다음 스크립트를 실행했을 때 출력되는 값으로 올바른 것은 무엇인가.

#!/bin/bashNUM=10echo $((NUM * 3 + 5))
  1. NUM * 3 + 5
  2. 35
  3. 30
  4. 오류 발생

문제 3

다음 중 변수 VAR의 값이 빈 문자열인지 확인하는 조건식으로 올바른 것은 무엇인가.

  1. [ -f "$VAR" ]
  2. [ -z "$VAR" ]
  3. [ -n "$VAR" ]
  4. [ -e "$VAR" ]

문제 4

다음 스크립트에서 빈칸에 들어갈 내용으로 올바른 것은 무엇인가.

#!/bin/bashfor i in 1 2 3 4 5; do    ___________    echo $idone

조건: i가 3일 때 출력을 건너뛰고 다음 반복으로 넘어가야 한다.

  1. [ $i -eq 3 ] && break
  2. if [ $i -eq 3 ]; then exit; fi
  3. if [ $i -eq 3 ]; then continue; fi
  4. [ $i -eq 3 ] && return

문제 5

다음 중 파일 권한 rwxr-x---을 숫자로 표현한 것으로 올바른 것은 무엇인가.

  1. 755
  2. 750
  3. 740
  4. 760

문제 6

umask 027이 설정된 환경에서 새로 생성한 파일의 기본 권한으로 올바른 것은 무엇인가.

  1. 750
  2. 644
  3. 640
  4. 755

문제 7

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

echo "hello world" | wc -w
  1. 11
  2. 2
  3. 1
  4. 12

문제 8

다음 중 표준 오류(stderr)를 /dev/null로 버리고 표준 출력만 파일에 저장하는 명령어로 올바른 것은 무엇인가.

  1. command > file.txt
  2. command 2>/dev/null > file.txt
  3. command > file.txt 2>&1
  4. command 2>&1 > file.txt

문제 9

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

#!/bin/bashFRUITS=("apple" "banana" "cherry")echo ${#FRUITS[@]}
  1. apple
  2. 3
  3. 0
  4. apple banana cherry

문제 10

다음 중 /etc/passwd 파일에서 콜론(:)을 구분자로 하여 첫 번째 필드(사용자명)만 출력하는 명령어로 올바른 것은 무엇인가.

  1. cat /etc/passwd | grep -f ":"
  2. cut -d: -f1 /etc/passwd
  3. cut -c1 /etc/passwd
  4. awk '/passwd/ {print $1}' /etc/passwd

문제 11

다음 if 문에서 [ -d /tmp ] 조건이 참이 되는 경우로 올바른 것은 무엇인가.

  1. /tmp 파일이 존재할 때
  2. /tmp가 디렉토리일 때
  3. /tmp에 읽기 권한이 있을 때
  4. /tmp가 심볼릭링크일 때

문제 12

다음 중 명령어 치환(command substitution) 문법으로 올바른 것을 모두 고른 것은 무엇인가.

가. $(date)
나. `date`
다. {date}
라. $[date]
  1. 가, 나
  2. 나, 다
  3. 가, 나, 라

문제 13

다음 스크립트를 실행하면 result.txt에 저장되는 내용으로 올바른 것은 무엇인가.

#!/bin/bashecho "first" > result.txtecho "second" >> result.txtecho "third" > result.txt
  1. first second third
  2. first, second, third 세 줄
  3. third 한 줄
  4. 빈 파일

문제 14

다음 중 쉘 스크립트에서 함수의 반환값을 얻는 올바른 방법은 무엇인가.

  1. return 뒤에 문자열을 쓴다
  2. $?로 종료 코드(0~255)를 받거나, 표준 출력과 명령어 치환을 활용한다
  3. echo return 값으로 반환하면 자동으로 변수에 저장된다
  4. 함수명 뒤에 = 값으로 반환값을 지정한다

문제 15

다음 명령어 중 /home 디렉토리에서 최근 7일 이내에 수정된 .log 파일을 찾는 명령어로 올바른 것은 무엇인가.

  1. find /home -name "*.log" -mtime -7
  2. find /home -name "*.log" -mtime +7
  3. ls /home -t *.log | head -7
  4. grep -r "*.log" /home --mtime 7

문제 16

다음 중 하드링크에 대한 설명으로 올바른 것은 무엇인가.

  1. 원본 파일을 삭제하면 하드링크도 접근 불가능해진다
  2. 다른 파일시스템에 있는 파일을 하드링크로 연결할 수 있다
  3. 하드링크는 원본과 동일한 inode를 공유한다
  4. 디렉토리에 하드링크를 만드는 것은 항상 가능하다

문제 17

다음 스크립트에서 변수 MSG에 저장되는 값으로 올바른 것은 무엇인가.

#!/bin/bashMSG=$(echo "Hello World" | tr '[:lower:]' '[:upper:]')echo $MSG
  1. hello world
  2. HELLO WORLD
  3. Hello World
  4. 오류 발생

문제 18

다음 중 while 루프를 올바르게 사용한 것은 무엇인가.

  1. while [ $i -lt 5 ] do echo $i done
  2. while [ $i -lt 5 ]; do echo $i; done
  3. while $i -lt 5; echo $i; done
  4. while do [ $i -lt 5 ] echo $i done

문제 19

다음 명령어를 실행했을 때 출력되는 줄 수로 올바른 것은 무엇인가.

seq 1 10 | grep "[246810]"
  1. 4줄
  2. 5줄
  3. 6줄
  4. 10줄

문제 20

다음 중 쉘 스크립트에서 set -e 옵션의 효과로 올바른 것은 무엇인가.

  1. 스크립트 실행 전 구문을 검사한다
  2. 명령어가 0이 아닌 종료 코드를 반환하면 스크립트를 즉시 종료한다
  3. 변수를 사용 전에 반드시 선언해야 한다
  4. 파이프라인의 모든 명령어 종료 코드를 확인한다