Tech Trail

[리눅스 마스터 2급] 2차 리눅스 운영 및 관리 "셸(Shell) 개념 및 종류" 문제 모음 본문

Learning/리눅스 마스터

[리눅스 마스터 2급] 2차 리눅스 운영 및 관리 "셸(Shell) 개념 및 종류" 문제 모음

_밍지_ 2023. 11. 26. 01:51
728x90
반응형
SMALL

1. 셸에 대한 설명

(1) 커널에서 분리된 별도의 프로그램이며 다양한 종류의 셸이 존재

(2) 리눅스에는 ksh와 csh 계열의 장점을 결합한 bash(Bourne Again Shell)를 표준으로 하고 있다.

(3) 콘셸(Korn shell)은 AT&T사의 데이비드 콘(David Korn)이 개발하였다.

(4) 명령어 chsh는 관리자가 셸을 변경한 후 다음에 변경하기 전까지 해당 셸을 반영구적으로 사용한다.

 

 

 

2. 다음 (  ) 안에 들어갈 설명으로 알맞은 것은?

(  )은 본셸을 기반으로 GNU 프로젝트에 의해서 개발되었으며 GNU 운영체제, 리눅스, 맥 OS X 등 다양한 운영체제에서 사용 중이다. 현재 리눅스의 표준 셸이며 명령어 히스토리, 명령어 완성 기능, 명령어 치환, 편집 등을 지원하고 POSIX와도 호환된다.

 

답: bash 셸

 

해설: C셸과 tcsh셸은 C셸 계일이며, ksh셸은 명령어 완성 기능과 히스토리 기능은 가지고 있지만 POSIX와 호환되는 기능은 없다.

 

 

 

3. 다음 설명과 관련 있는 셸(Shell)의 종류로 알맞은 것은?

버클리 대학의 빌 조이가 개발한 것으로 강력한 프로그램 작성 기능을 가지고 있으며 히스토리, 별명(Alias), 작업 제어 등의 유용한 기능들을 포함하였다.

 

답: csh

 

참고

  • tcsh: C셸을 확장시킨 것
  • ksh: AT&T사의 David Korn이 개발
  • zsh: Paul Falstad가 1990년에 개발

 

 

 

4. 다음에서 설명하는 내용으로 알맞은 것은?

AT&T사의 데이비드 콘(David Korn)이 개발하였고, 명령어 완성 기능, 히스토리 기능 등을 제공한다.

 

답: ksh

 

참고

  • C셸: 버클리 대학의 빌 조이가 개발하였다.
  • bash: GNU 프로젝트를 위해 브라이언 폭스가 개발한 셸
  • tcsh: csh과 호환되는 셸로 Ken Greer가 개발

 

 

 

5. 다음 중 명령행 편집 기능을 제공하는 확장 C셸로 알맞은 것은?

 

답: tcsh

 

해설: bash와 sh은 본셸 계열의 셸이며, csh은 C셸 계열의 기초가 되는 셸

 

 

 

6. 다음 중 시스템에서 사용 가능한 셸(Shell)의 목록을 확인하는 명령어로 알맞은 것은?

 

답: chsh -l

 

참고

  • echo $SHELL: 현재 로그인한 사용자의 셸을 확인
  • ls /etc/shells: 디렉터리 /etc 아래에 shells 파일의 유무를 확인하는 명령어
  • cat /etc/password: 계정자의 UID, GID 또는 홈디렉터리와 같은 상세 정보를 확인할 수 있다.

 

 

 

7. 다음 (  ) 안에 들어갈 내용으로 알맞은 것은?

# (  ) -s /bin/bash ihd
# greep user01 /etc/password
ihd:x:500::/home/user01:/bin/bash

 

답: usermod

 

해설: 명령어 usermod는 지정된 계정자의 설정을 변경하는 명령어이다. 문제에서 계정자 ihd의 셸을 /bin/bash로 변경하기 위해서 옵션 -s를 사용하였다.

 

 

 

8. 다음 (  ) 안에 들어갈 내용으로 알맞은 것은?

$ (  ) -s /bin/bash
Changing shell for ihd.
Password:
Shell changed.

$ grep user01 /etc/passwd
ihd:x:500:500::/home/user01:/bin/bash

 

답: chsh

 

해설: 일반 사용자가 현재 사용하는 셸을 변경할 때 사용하는 명령어는 chsh

# 사용자 'ihd'의 쉘을 변경하는 명령어
$ chsh -s /bin/bash
Changing shell for ihd.
Password: [사용자 비밀번호 입력]
Shell changed.

# 변경된 쉘 확인을 위해 /etc/passwd 파일에서 해당 사용자 정보 조회
$ grep ihd /etc/passwd
ihd:x:500:500::/home/user01:/bin/bash
  • chsh: 사용자의 로그인 쉘을 변경하는 명령어
  • -s /bin/bash: 변경하고자 하는 쉘을 지정하는 옵션으로, 여기서는 Bash 쉘로 변경하고 있다.
  • grep user01 /etc/passwd: 변경된 사용자 정보를 확인하기 위해 /etc/passwd 파일에서 해당 사용자의 정보를 검색하는 명령어. 결과에서는 사용자 ihd의 정보가 출력됨.

 

 

 

9. 다음 (  ) 안에 들어갈 내용으로 알맞은 것은?

# cat (  )
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh

 

답: etc/shells

 

해설: 파일 /etc/shells은 현재 시스템에서 사용할 수 있는 셸 목록을 확인한다.

  • cat: 파일의 내용을 출력하는 명령어
  • /etc/shells: 쉘 목록을 나타내는 파일 경로로, 각 줄에 허용된 쉘의 경로가 기록되어 있다. 해당 파일은 사용자 계정의 로그인 쉘을 지정할 때 사용
728x90
반응형
LIST