Section 4.1: 기본 쉘 변경하기
대부분의 최신 배포판들은 BASH (Bourne Again SHell) 를 선탑재 (pre-installed) 한 상태로 출시되며, 또한 이를 기본 쉘로 설정해놓고 있다.
Linux 상에서 쉘을 변경하기위한 명령어 (실제로는 ELF 형식의 실행 파일이다) 는 chsh
(change shell) 이다.
쉘을 변경하기에 앞서, chsh -l
커맨드를 이용하여 사용자의 컴퓨터에 어떤 종류의 쉘들이 설치되고 설정되어 있는지를 확인할 수 있다. 해당 명령어의 실행 결과는 아래와 유사할 것이다:
[user@localhost ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/usr/bin/fish
어떤 배포판에서는, chsh -l
명령어가 정상적인 명령어로 인식되지 못할 것이다.이러한 경우에는, 사용 가능한 쉘들의 목록을 /etc/shells
파일에서 확인할 수 있다.
cat
명령어를 이용하여 아래와 같이 파일의 내용을 출력할 수 있다:
[user@localhost ~]$ cat /etc/shells
# /etc/shells: 유효한 (valid) login 쉘들의 목록
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/usr/bin/fish
위와 같이 사용 가능한 쉘들을 확인했다면, chsh -s
명령어를 통해 새로운 기본 쉘을 선택할 수 있다 (예: fish
),
[user@localhost ~]$ chsh -s /usr/bin/fish
Changing shell for user.
Password:
Shell changed.
이제 로그오프-로그온 수행을 통해, 새롭게 설정된 기본 쉘을 사용할 수 있다.
만약 시스템의 관리자 권한을 가지고 있으면서, 다른 사용자에 대해 기본 쉘을 변경하기를 원한다면, chsh
를 root
권한으로 실행함으로써 주어진 목적을 달성할 수 있다. 예를 들어 user_2
사용자의 기본 쉘을 fish
로 변경하는 경우를 가정해 본다면, 위에서 소개된 방법과 동일한 명령어를 사용하되 다른 사용자의 계정 정보를 추가로 기술하기만 하면 된다: chsh -s /usr/bin/fish user_2
만약 현재의 기본 쉘이 무엇인지를 확인하고자 한다면, 기본 쉘에 대한 경로 정보를 가리키고 있는 $SHELL
환경변수 내용을 보면 된다. 따라서, 위에서 소개된 방법을 정상적으로 수행하였다면, 아래와 같은 결과를 얻을 수 있을 것이다.
~> echo $SHELL
/usr/bin/fish
chsh
옵션들:
-s shell
주어진 shell 을 login 쉘로 사용한다.
-l, --list-shells
/etc/shells 에 기술된 쉘들의 목록을 출력하고 종료한다.
-h, --help
사용 설명서를 출력하고 종료한다.
-v, --version
버전 정보를 출력하고 종료한다.
본 문서는 Linux Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
[출처] https://books.goalkicker.com/GitBook/
'번역 > Linux Notes for Professionals' 카테고리의 다른 글
4.3: 사용자만의 명령어 별칭 (Alias) 생성하기 (0) | 2020.06.29 |
---|---|
4.2: 기본적인 쉘 유틸리티들 (0) | 2020.06.29 |
4: 쉘 (0) | 2020.06.24 |
3.1: Linux kernel 상세 정보를 확인하기 (0) | 2020.06.23 |
2.3: 사용중인 시스템이 어떤 RHEL / CentOS / Fedora 기반 배포판인지 확인하기 (0) | 2020.06.22 |