본문 바로가기
CS/Unix 시스템

방송통신대학교 리눅스 UNIX 시스템 기말고사 기출 문제 풀이 및 해설 2016-2

by Renechoi 2023. 12. 1.

36. Unix에 관한 설명으로 잘못된 것은? (3점)

① 다중 사용자외· 다중 작업을 시 원하는 운영 체제
② 대부분 C 언어로 작성됨
③ 대략 System V 계열과 BSD 계열로 분류됨
④ 리누스 토발즈가 개발하여 GNU의 공식 적 후원을 받음

정답: 4

해설: Unix는 다중 사용자와 다중 작업을 지원하는 운영 체제(①), 대부분 C 언어로 작성되었으며(②), System V 계열과 BSD 계열로 분류된다(③). 리누스 토발즈가 개발한 것은 Linux이며, 이는 GNU의 공식적 후원을 받지만 Unix가 아니다(④).

37. 리눅스 배포판에 관한 설명이다. 잘못된 것은? (2점)

① Debian - GNU 정신에 가장 충실한 배포판
② Ubuntu - 유럽에서 주로 사용되는 기업용 상용 버전
③ CentOS - 레드햇 계열의 무료 배포판
④ Slackware - 현존하는 가징 오래된 배포판

정답: 2

해설: Debian은 GNU 정신에 충실한 배포판이다(①). CentOS는 레드햇 계열의 무료 배포판이다(③). Slackware는 가장 오래된 배포판 중 하나이다(④). Ubuntu는 개인 및 기업용으로 전 세계적으로 널리 사용되며, 특정 지역에 국한되지 않는다(②).

38. 리눅스를 "하드디스크의 비어있는 파티션에 설치“하는 방법과 가장 관련이 적은 내용은 무엇인가? (3점)

① 기존 운영 체 제에서 사용하지 않는 파티 션이 있는지 확인
② 새로운 디스크를 붙이 고 리눅스 설치 CD로 부팅함
③ 부팅 시 기존 운영 체제와 리눅스 중 선택이 가능함
④ 가상머신 소프트웨어를 설치 하고 가상머신에 리눅스를 설치

정답: 4

해설: 리눅스를 "하드디스크의 비어있는 파티션에 설치"하는 과정은 기존 하드웨어에 직접 리눅스를 설치하는 것을 의미한다. 가상머신 소프트웨어를 설치하고 그 안에 리눅스를 설치하는 것은 물리적인 하드디스크 파티션에 직접 설치하는 것과는 다른 방법이다. 가상머신은 기존 운영 체제 위에서 가상의 컴퓨터 환경을 만들어 그 안에서 다른 운영 체제를 운영한다. 따라서, 가상머신 소프트웨어 설치와 가상머신에 리눅스 설치는 '하드디스크의 비어있는 파티션에 설치'하는 방법과 가장 관련이 적은 내용이다.

오답 선지 해설:

  • ① 기존 운영 체제에서 사용하지 않는 파티션이 있는지 확인하는 것은 물리적인 하드디스크에 직접 리눅스를 설치하는 데 필수적인 단계이다.
  • ② 새로운 디스크를 붙이고 리눅스 설치 CD로 부팅하는 것도 하드디스크의 비어있는 파티션에 리눅스를 설치하는 일반적인 방법 중 하나이다.
  • ③ 부팅 시 기존 운영 체제와 리눅스 중 선택이 가능한 것은 듀얼 부팅 설정을 의미하며, 이는 하드디스크의 파티션을 나누어 두 개 이상의 운영 체제를 설치하는 방법과 관련이 있다.

39. 리눅스 배포판에 관한 설명이다. 잘못됩 것은? (2점)

① /usr - 사용자의 홈 디렉터리가 생성되는 곳
② /etc - 시스템 환경 설정 파일이 주로 위치하는 곳
③ /dev - 장치를 접근하는데 사용되 는 파일이 있는 곳
④ /boot - 커널 이미지 와 부팅에 필요힌 파일이 위치 하는 곳

정답: 1

해설: /etc는 시스템 환경 설정 파일이 위치하는 곳이다(②). /dev는 장치 파일이 위치하는 곳이다(③). /boot는 커널 이미지와 부팅에 필요한 파일이 위치하는 곳이다(④). /usr은 사용자의 홈 디렉터리가 생성되는 곳이 아니라, 사용자 애플리케이션과 파일이 위치하는 곳이다(①).

40. 시스템마다 약간의 차이는 있으나 전형적인 부팅 절차를 요약하면 아래와 같다. 밑줄 그은 ㄱ에 들어갈 내용은 무엇인가? (3점)

- 머신 BIOS 또는 부트 펌웨어가 ㄱ 을/를 로드하고 실행 시킨다.
-    ㄱ 이/가 디스크에시 커널 이미지를 찾아 메모리에 로드하고 시작 시킨다.
-    커널이 디바이스를 찾고 디바이스 드라이버를 로드힌다. 
-   커널이 루트 파일시스템을 마운트한다.
-   커널은 ㄴ 프로그램을 시 작시키고 제어를 넘긴다.
-    ㄴ 프로그램은 시스템 초기화 스크립트를 실행시킨다.
-   사용자가 로그인을 수행할 수 있도록 화연이 등장한다.

① 프로세스 ② 마스터 부트 레코드
③ 부트로더 ④ 부트스트랩

정답: 3

해설: 부팅 과정에서 BIOS 또는 부트 펌웨어는 '부트로더'를 로드하고 실행시킨다(③). 부트로더는 시스템이 시작할 때 운영 체제를 로드하는 역할을 한다. 프로세스(①), 마스터 부트 레코드(②), 부트스트랩(④)은 이 문맥에서 적합하지 않다.

41. 위 문제에서 밑줄 그은 ㄴ에 들어갈 내용은 무엇인가? (3점)

① /sbin/init ② /sbin/start
③ /dev/mount ④ /boot/init

정답: 1

해설: 리눅스 시스템에서 커널은 부팅 절차에서 '/sbin/init' 프로그램을 시작시키고 제어를 넘긴다(①). '/sbin/init'는 시스템 초기화 스크립트를 실행하고 최종적으로 사용자 로그인 화면을 표시한다. 나머지 옵션인 /sbin/start(②), /dev/mount(③), /boot/init(④)는 이 컨텍스트에 맞지 않다.

42. 사용자 계정 생성과 관련이 있는 파일(또는 디렉터리)에 관한 설명이다. 잘못된 것은? (3점)

① /etc/passwd - 사용자 계정에 관한 정보가 저장됨
② /etc/shadow - 암호화된 사용자 계정의 패스워드가 저장됨
③ /etc/skel - 사용자 계정의 메일박스가 저장됨
④ /etc/group - 그룹의 이름과 GID 및 사용자가 저 장됨

정답: 3

해설: /etc/skel은 사용자 계정 생성 시 기본 환경 설정 파일을 담고 있는 디렉터리다. 사용자의 메일박스는 여기에 저장되지 않는다.

오답 선지 해설:

  • ① /etc/passwd 파일은 시스템의 모든 사용자 계정 정보를 담고 있어 올바른 설명이다.
  • ② /etc/shadow 파일은 사용자 패스워드를 암호화하여 저장하므로 올바른 설명이다.
  • ④ /etc/group 파일은 시스템의 그룹 정보와 그룹 구성원을 저장하므로 올바른 설명이다.

43. 파일의 내용을 화면에 출력하는 명령이 아닌 것은? (3점)

① cat
② tail
③ more
④ pwd

정답: 4

해설: pwd 명령은 현재 작업 중인 디렉터리의 전체 경로를 출력한다. 파일의 내용을 출력하는 기능은 없다.

오답 선지 해설:

  • ① cat 명령은 파일의 내용을 화면에 출력한다.
  • ② tail 명령은 파일의 끝부분을 화면에 출력한다.
  • ③ more 명령은 파일의 내용을 페이지 단위로 화면에 출력한다.

44. 현재 디렉터리 아래에 있는 ''temp' 디렉터리 안에는 ''a. txt' 파일과 'sub' 디렉터리가 있고, 'sub' 디렉터리 안에는 'b.txt' 파일만 있다. 현재 디렉터리에서 ''temp' 디렉터리, 'a.txt' 파일, 'sub' 디렉터리, 'b.txt' 파일을 모두 삭제하는 명령은? (2점)

① rm -r temp
② rm -p temp/sub
③ rmdir -r temp
④ rmdir -p temp/sub

정답: 1

해설: rm -r 명령은 지정된 디렉터리와 그 안의 모든 파일과 하위 디렉터리를 재귀적으로 삭제한다. 따라서 'temp' 디렉터리와 그 안의 모든 파일 및 하위 디렉터리를 삭제한다.

오답 선지 해설:

  • ② rm -p 명령은 존재하지 않는 옵션을 포함한다.
  • ③ rmdir -r 명령은 존재하지 않으며, rmdir은 비어 있는 디렉터리만 삭제한다.
  • ④ rmdir -p 명령은 존재하지 않는 옵션을 포함한다.

45. '/test/mydir' 디렉터리와 하위 경로에서 모든 파일과 디렉터리의 접근 권한을 소유자는 읽기/쓰기/실행 권한, 그룹은 읽기/실행 권한, 다른 사용자는 아무 권한을 가지지 않도록 설정하는 명령은? (2점)

① chmod +r 730 /test/mydir
② chmod +r u+rwx,g+rx /test/mydir
③ chmod -R u=rwx,g=rx,o= /test/mydir
④ chmod -R 730 /test/mydir

정답: 3

해설: 명령어 'chmod -R u=rwx,g=rx,o= /test/mydir'는 /test/mydir 디렉터리와 그 하위 경로에 있는 모든 파일과 디렉터리의 접근 권한을 지정된 방식으로 설정한다. 이 명령은 소유자에게 읽기, 쓰기, 실행(rwx) 권한을, 그룹에는 읽기 및 실행(rx) 권한을, 다른 사용자에게는 아무 권한도 주지 않는다(o=). '-R' 옵션은 재귀적으로 모든 하위 항목에도 같은 권한 설정을 적용한다.

오답 선지 해설:

  • ① 'chmod +r 730 /test/mydir'는 문법적으로 잘못된 명령이다. chmod 명령에서 숫자를 사용할 때 '+' 기호는 필요하지 않다.
  • ② 'chmod +r u+rwx,g+rx /test/mydir' 명령도 문법적으로 잘못되었다. 여기서 '+r'은 불필요하며, '-R' 옵션이 빠져있어 하위 경로에 대한 권한 변경이 이루어지지 않는다.
  • ④ 'chmod -R 730 /test/mydir' 명령은 하위 경로에 대해 소유자에게는 읽기/쓰기/실행(rwx) 권한을, 그룹에는 읽기/실행(rx) 권한을, 다른 사용자에게는 실행(x) 권한을 부여한다. 따라서 다른 사용자에게는 권한이 없어야 하므로 이 명령은 적절하지 않다.

46. ln 명 령으로 원본 파일의 하드 링크를 만들 수 있다. 하드링크에 관한 설명으로 잘못크 것은? (2점)

① 하나의 파일을 다른 이름으로 다룰 수 있게 한다
② 하드 링크는 원본과 다른 독립적 i-node를 가진다.
③ 하드 링크 생성 후, 원본 파일의 링크 카운트가 증가한다
④ 파일 시스템이 다르면 하드 링크를 만들 수 없다.

정답: 2

해설: 하드 링크는 원본 파일과 동일한 i-node를 공유한다. 서로 다른 i-node를 가지면 서로 독립적인 파일이 된다.

오답 선지 해설:

  • ① 하드 링크는 하나의 파일을 다른 이름으로 다룰 수 있게 한다는 설명은 올바르다.
  • ③ 하드 링크 생성 후 원본 파일의 링크 카운트가 증가한다는 설명은 올바르다.
  • ④ 하드 링크는 동일한 파일 시스템 내에서만 생성할 수 있다는 설명은 올바르다.

47. 리눅스 명령에 관한 설명으로 잘못된 것은? (3점)

① rmdir - 디렉터리를 삭제하는 명령
② mkdir - 새로운 디렉터리를 만들어 주는 명령
③ copy - 파일을 복사하는 명령
④ mv - 파일의 이름을 변경하거나 다른 디렉터리로 파일을 이동하는 명령

정답: 3

해설: 리눅스 시스템에서 파일을 복사하는 명령은 'cp'이다. 'copy' 명령은 존재하지 않는다.

오답 선지 해설:

  • ① rmdir은 디렉터리를 삭제하는 명령이 맞다.
  • ② mkdir은 새로운 디렉터리를 만드는 명령이 맞다.
  • ④ mv는 파일의 이름을 변경하거나 다른 디렉터리로 이동하는 명령이 맞다.

48. vi 편집기로 작업을 한 뒤에 변경된 내용을 저장하고 종료하려 한다. 명령 모드에 있다고 가정하고 다음 중 어떠한 키입력을 한다. 명령 모드에 있다고 가정하고 다음 중 어떠한 키입력을 하여야 하는가? (4점)

① :wq + enter
② :save + enter
③ :q! + enter
④ zz

정답: 1

해설: vi 편집기에서 ':wq' 후 enter 키를 누르면 현재 작업 중인 내용을 저장하고 vi 편집기를 종료한다.

오답 선지 해설:

  • ② :save 명령은 vi 편집기에서 존재하지 않는 명령이다.
  • ③ :q! 명령은 변경 사항을 저장하지 않고 종료하는 명령이다.
  • ④ zz는 vi 편집기에서 작업 중인 내용을 저장하지만, 편집기를 종료하지 않는다.

49. 다음 중 아카이 브의 생성 과 압축을 동시 에 수행 하는 tar 명령은 무엇인가? (3점)

① tar cvf 아카이브명 파일명...
②tar tvf 아카이브명
③tar cvfz 아카이브명 파일명...
④ tar xvfz 아카이브명

정답: ③ tar cvfz 아카이브명 파일명...

해설: tar 명령의 'cvfz' 옵션은 파일 또는 디렉토리를 아카이브(압축 파일)로 만들고 gzip으로 압축한다. 'c'는 아카이브를 생성(create), 'v'는 과정을 상세하게 보여주는(verbose), 'f'는 파일명을 지정(file), 'z'는 gzip으로 압축한다는 의미이다.

오답 선지 해설:

  • ① tar cvf 옵션은 아카이브를 생성하지만 압축하지는 않는다.
  • ② tar tvf 옵션은 아카이브의 내용을 보여주는데 사용되며, 생성이나 압축을 수행하지 않는다.
  • ④ tar xvfz 옵션은 압축된 아카이브를 풀기 위한 명령어로, 생성이나 압축을 수행하지 않는다.

50. 데이터의 백업에 관한 일반적 설명이다. 잘못된 것은? (4점)

① 목적은 데이터가 손실/손상될 때, 복구를 하기 위한것 이다.
② 정기적으로 백업을 수행해야 한다.
③ 자료의 가치애 따라 다른 백업 방법을 적용할 수 있다.
④ 단일 장소의 단일 저장 매쳬에 백업 해야 한다.

정답: ④ 단일 장소의 단일 저장 매체에 백업해야 한다.

해설: 데이터 백업을 할 때에는 다양한 위치에 여러 매체를 사용하여 백업하는 것이 바람직하다. 이는 데이터 손실의 위험을 최소화하기 위한 조치로, 단일 장소의 단일 저장 매체에만 백업하는 것은 위험하다.

오답 선지 해설:

  • ① 데이터가 손실되었을 때 복구하기 위한 목적으로 백업을 수행한다는 것은 올바른 설명이다.
  • ② 정기적으로 백업을 수행하는 것은 데이터 손실 위험을 줄이는 중요한 방법이다.
  • ③ 자료의 가치에 따라 다른 백업 방법을 적용할 수 있다는 것은 데이터 관리의 중요한 원칙 중 하나이다.

51. 다음 보기는 파일 시스템이나 디스크 관리를 위해 사용되는 명령의 일반적 설명이다. 올바른 것은? (3점)

① du - 파일과 디 렉터리의 디스크 사용량(블록 수)을 표시
② fdisk - 마운트되어 있지 않은 파일 시스템을 검사
③ mkfs - 하드디스크에서 파티션을 관리하는 대화식 유틸리티
④ fdisk - 디스크 파티션에 리눅스의 파일시스템을 생성

정답: ① du - 파일과 디렉터리의 디스크 사용량(블록 수)을 표시

해설: du 명령은 파일 또는 디렉터리의 디스크 사용량을 표시하는데 사용된다. 이는 디렉터리의 크기를 확인하거나 디스크 공간 사용 현황을 파악하는 데 유용하다.

오답 선지 해설:

  • ② fdisk는 파일 시스템을 검사하는 것이 아니라, 하드 디스크의 파티션을 조작하는 데 사용된다.
  • ③ mkfs는 파티션을 관리하는 유틸리티가 아니라, 파일 시스템을 생성하는 데 사용되는 명령어이다.
  • ④ fdisk는 파일 시스템을 생성하는 것이 아니라, 디스크 파티션을 관리하는 데 사용된다. 파일 시스템의 생성은 다른 명령어(mkfs 등)를 통해 수행된다.

52. 프로세스를 모니터링하거나 관리하기 위한 명령에 관한 설명이다. 잘못된 것은? (4점)

① ps - 실행 중인 프로세스에 대한 정보를 보여줌
② top - 프로세스 모니터 링과 관리를 위한 대화식 툴
③ kill - 지정된 프로세스를 백그라운드 모드로 전환함
④ nice - 프로세스를 실행할 때 우선순위 값을 설정함

정답: ③

해설: kill 명령은 지정된 프로세스를 종료시키는 데 사용된다. 백그라운드 모드로 전환하는 것이 아니다.

오답 선지 해설:

  • ps 명령은 실행 중인 프로세스에 대한 정보를 보여주는 것이 맞다.
  • top 명령은 프로세스 모니터링과 관리를 위한 대화식 툴이 맞다.
  • nice 명령은 프로세스를 실행할 때 우선순위 값을 설정하는 것이 맞다.

53. 파일의 용도를 설명한 것이다. 올바른 것은? (2점)

① /etc/fstab - 부팅시 마운트되는 파일시스템 목록을 가침
② /etc/crontab - 로그인 쉘로 로그인할 때 실행되는 파일
③ /etc/profile - 시스템의 초기 런레벨(상태)을 설정한 파일
④ /etc/inittab - 시스템에서 주기 적으로 수행될 작업을 설정

정답: ①

해설: /etc/fstab 파일은 시스템 부팅 시 마운트되는 파일 시스템의 목록과 관련 설정을 포함한다.

오답 선지 해설:

  • /etc/crontab 파일은 주기적으로 수행될 작업을 설정하는 파일이다.
  • /etc/profile 파일은 로그인 쉘의 환경 설정 스크립트이며, 시스템의 초기 런레벨을 설정하는 파일은 아니다.
  • /etc/inittab 파일은 시스템의 초기 런레벨을 설정하는 파일이며, 주기적으로 수행될 작업 설정은 /etc/crontab 파일에서 이루어진다.

54. file1 과 file2는 줄 단위로 저장된 텍스트 파일이다. 다음 쉘명령 에서 밑줄 부분에 들어 갈 내용으로 적당한 문자는 무엇인가? (2점)

cat fulel file2 sort    more

① ;
② |
③ >
④ ||

정답: 2 (|)

해설: 이 명령에서 '|'는 파이프라고 불리며, 한 명령의 출력을 다른 명령의 입력으로 전달하는 역할을 한다. 'cat file1 file2' 명령은 두 파일의 내용을 차례로 출력하고, 'sort' 명령은 입력된 내용을 정렬한다. 'more' 명령은 정렬된 결과를 페이지 단위로 보여주기 위해 사용된다. 따라서, '|' 문자는 각 명령의 출력과 입력을 연결하는 데 사용되어 적절하다.

오답 선지 해설:

  • ① ';' 문자는 명령들을 순차적으로 실행하되, 각각 독립적으로 수행하도록 하는 데 사용된다.
  • ③ '>' 문자는 명령의 출력을 파일에 리디렉션하는 데 사용되며, 이 경우에는 적합하지 않다.
  • ④ '||' 문자는 논리적 'OR'을 의미하며, 이 경우에는 적합하지 않다.

55. 쉘에서 명 령을 처 리할 때, 실행 프로그램이 위치한 경로를 지정하기 위해 PATH라는 환경 변수가 존재한다. 환경 변수 PATH에 설정되 어 있는 경로를 확인하기 위한 명령으로 잘못된 것은? (4점)

① printenv PATH
② set PATH
③ echo $PATH
④ echo '$PATH'

정답: 2 (set PATH), 4

해설: PATH 환경 변수는 실행 파일의 위치를 지정하는 데 사용된다. 'printenv PATH' 명령과 'echo $PATH' 명령은 모두 현재 설정된 PATH 환경 변수의 값을 출력한다. 'echo '$PATH'' 명령은 문자열 '$PATH'를 그대로 출력한다. 반면, 'set PATH' 명령은 PATH 환경 변수의 값을 설정하거나 변경하는 데 사용되므로, 현재 설정된 값을 확인하는 데는 적절하지 않다.

오답 선지 해설:

  • ① 'printenv PATH' 명령은 PATH 환경 변수의 현재 값을 출력한다.
  • ③ 'echo $PATH' 명령은 PATH 환경 변수의 현재 값을 출력한다.
  • ④ 'echo '$PATH'' 명령은 문자열 '$PATH'를 출력하지만, 환경 변수의 값을 출력하지는 않는다.

56. 다음은 정수 인자가 두 개 주어질 때, 인자로 주어진 두 정수의 합을 출력하는 쉘 스크립트이다, 다음 보기 중 올바른 설명은?(4점)

   #!/bin/bash 
   if [$# -eq2 ]; then
          echo `expr $1 + $2`

① 첫 번째 줄의 밑줄 부분에 오류가 있다
② 두 번째 줄의 밑줄 부분에 오류가 있다
③ 세 번째 줄의 밑줄 부분에 오류가 있다
④ 오류가 없다

정답: 4

해설: 주어진 쉘 스크립트는 올바르게 작성되어 있다. 첫 번째 줄은 스크립트의 셔뱅(sha-bang)으로, 스크립트가 실행될 때 사용할 쉘을 지정한다. 여기서는 /bin/bash를 사용한다고 명시되어 있다. 두 번째 줄은 조건문으로, 스크립트에 전달된 인자의 개수가 2개인지를 확인한다. $#는 인자의 개수를 나타내는 특수 변수이다. 세 번째 줄은 expr 명령어를 사용하여 인자로 받은 두 정수의 합을 계산하고 출력한다.

오답 선지 해설:

  • ① 첫 번째 줄의 셔뱅은 스크립트가 /bin/bash 쉘에서 실행되어야 함을 올바르게 지정한다.
  • ② 두 번째 줄의 조건문은 인자의 개수가 2개인지를 정확히 검사한다. $#는 스크립트에 전달된 인자의 수를 나타내는 변수이다.
  • ③ 세 번째 줄의 expr 명령은 두 인자의 합을 계산하여 출력한다. 이 명령어는 정수 연산에 사용되며, 스크립트의 요구 사항을 충족시킨다.

57. 시스템에 센드메일(sendmail) 패키지가 설치되었는지 확인하기 위한 명령으로 적당한 것은? (2점)

① rpm -ivh sendmail
② yum -qi sendmail
③ yum list installed | grep sendmail
④ yum list available sendmail

정답: 3 (yum list installed | grep sendmail)

해설: 'yum list installed | grep sendmail' 명령은 시스템에 설치된 패키지 중 'sendmail'이 포함된 것을 찾아 출력한다. 이 명령은 'yum list installed'로 설치된 모든 패키지를 나열하고, 'grep sendmail'으로 'sendmail'이라는 단어가 포함된 라인만 필터링한다.

오답 선지 해설:

  • ① '

rpm -ivh sendmail' 명령은 'sendmail' 패키지를 설치하는 데 사용된다.

  • ② 'yum -qi sendmail' 명령은 'sendmail' 패키지에 대한 정보를 조회하지만, 설치 여부를 직접 확인하지는 않는다.
  • ④ 'yum list available sendmail' 명령은 'sendmail' 패키지가 사용 가능한지 조회하지만, 이미 설치되었는지는 확인하지 않는다.

반응형