Linux에서 기본 셸을 변경하는 방법
셸은 Linux 시스템과 통신할 수 있는 인터페이스입니다. 명령을 입력하고 컴퓨터를 제어할 수 있습니다. 모든 Linux 사용자는 기본 셸을 가지고 있으며, 대부분의 경우 bash입니다. Zsh, ksh, rc, fish를 포함하여 사용 가능한 다른 옵션도 많이 있습니다. 여기서는 Linux에서 기본 셸을 변경하는 다양한 방법을 보여드립니다.
현재 셸 이름을 찾는 방법
기본 셸을 변경하기 전에 현재 어떤 셸을 사용하고 있는지 아는 것이 좋습니다. 다음 echo 명령을 사용하여 시스템 환경 변수를 확인하면 이를 알 수 있습니다.
/bin/bash
이 명령어는 현재 셸의 경로(예: . 또는 .) 를 출력합니다 /bin/zsh
.
이 /etc/passwd
파일에는 중요한 사용자 계정 정보가 들어 있습니다. 이 파일을 사용하여 현재 셸을 찾을 수도 있습니다.
ps 명령을 사용하여 프로세스 ID(PID)를 확인하면 현재 셸에 대한 자세한 정보를 찾을 수도 있습니다.
이 출력은 현재 셸이 bash임을 확인합니다.
설치된 모든 셸 나열
이제 현재 셸을 알았으니 시스템에서 사용할 수 있는 다른 옵션이 무엇인지 확인하고 싶을 수 있습니다. 시스템에 설치된 모든 셸을 찾으려면 파일을 살펴봐야 합니다 /etc/shells
.
cat 명령을 사용하여 시스템에서 사용할 수 있는 모든 셸의 목록을 확인해 보겠습니다.
이렇게 하면 어떤 셸로 전환할 수 있는지 알 수 있습니다. 패키지 관리자를 사용하여 새 셸을 설치하고 기본 셸로 사용할 수도 있습니다.
게다가 기본 셸을 변경하지 않고도 나열된 셸을 일시적으로 사용해 볼 수 있습니다. 새 셸 세션을 시작하려면 터미널에 셸 이름을 입력하기만 하면 됩니다.
예를 들어 Zsh 셸을 시도하려면 다음을 입력하십시오.
이렇게 하면 영구적으로 전환하기 전에 다양한 쉘을 실험해 볼 수 있습니다.
Chsh를 사용하여 Linux에서 기본 셸 변경
리눅스에서 기본 셸을 변경하는 가장 간단한 방법은 chsh
명령을 사용하는 것입니다. 이 chsh
명령은 “change shell”의 약자이며, 옵션과 함께 사용되며 -s
그 뒤에 셸 경로가 옵니다.
쉘 경로를 모르는 경우 type zsh
터미널에서 실행하여 원하는 경로를 가져옵니다. 쉘 경로를 얻은 후 기본 쉘을 특정 쉘로 변경할 수 있습니다.
예를 들어 Zsh로 전환하려면 chsh -s
Zsh 셸 경로와 함께 다음을 사용해야 합니다.
비밀번호를 입력하라는 메시지가 표시됩니다. 입력하면 로그아웃했다가 다시 로그인하여 변경 사항을 확인해야 합니다.
이 chsh
명령은 기본 로그인 셸을 영구적으로 변경합니다. 다음 명령을 실행하여 변경 사항을 확인할 수 있습니다.
다른 사용자 셸 변경
루트 권한이 있고 명령을 사용할 수 있는 경우 sudo
다른 사용자 계정의 기본 셸을 변경할 수 있습니다. 이는 fish와 같은 다른 셸 환경을 다른 사용자에게 제공하려는 경우 유용할 수 있습니다.
예를 들어, 다른 사용자의 셸을 Zsh로 변경하려면 터미널에서 다음 명령을 실행합니다.
이 명령은 시스템에 특정 사용자의 기본 셸을 .에 위치한 Zsh 셸로 변경하라고 지시합니다 /bin/zsh
.
Usermod를 사용하여 Linux에서 기본 셸 변경
쉘을 전환하는 또 다른 방법은 명령을 사용하는 것입니다 usermod
. 이 명령은 사용자 계정을 수정하는 데 사용되며 기본 쉘을 변경하는 데에도 사용할 수 있습니다.
를 사용하여 기본 셸을 변경하려면 usermod
루트 권한으로 터미널을 열고 다음 명령을 입력하세요.
/path/to/new/shell
여기에서는 원하는 셸 경로와 your_username
실제 사용자 이름으로 바꿔야 합니다 .
예를 들어 기본 bash 셸을 zsh로 변경해 보겠습니다.
이전과 마찬가지로 Linux 시스템에서 로그아웃했다가 다시 로그인하면 변경 사항이 적용됩니다.
다음 명령을 사용하여 사용자 계정 세부 정보를 확인하면 새로운 셸로의 전환을 확인할 수 있습니다.
Linux에서 기본 셸을 수동으로 변경
파일 을 편집하여 기본 셸을 수동으로 변경할 수도 있습니다 /etc/passwd
. 기본 셸 경로를 새 셸로 바꿔서 할 수 있습니다. 하지만 이 기술은 올바르게 하지 않으면 문제가 발생할 수 있으므로 조심해야 합니다.
셸을 수동으로 변경하려면 /etc/passwd
root 권한으로 좋아하는 텍스트 편집기(예: nano 또는 vim)를 사용하여 파일을 엽니다.
파일에서 사용자 이름을 찾으세요. 사용자 항목의 마지막 필드에 현재 쉘이 표시됩니다. 원하는 쉘 경로로 변경하세요.
/bin/bash
예를 들어, 기본 셸 경로를 다음과 같이 변경해 보겠습니다 /bin/zsh
.
Ctrl마지막으로 +를 눌러 파일을 저장 하고 + S로 편집기를 종료합니다 . 다시 로그아웃하고 다시 로그인하여 변경 사항을 적용합니다.CtrlX
기본 셸의 대안
Bash는 훌륭하고 강력한 스크립팅 도구이지만 명령줄 환경을 개선하고 더 나은 사용자 정의 옵션을 제공할 수 있는 다른 셸도 여러 개 있습니다.
물고기
fish는 Friendly Interactive Shell을 말합니다. 이 셸은 구문 강조, 자동 제안 및 탭 완성 기능이 있는 직관적인 명령줄 인터페이스를 갖추고 있어 명령 입력이 간편합니다.
fish에는 웹 기반 구성 도구도 포함되어 있습니다. 즉, 구성 파일을 파헤치지 않고도 설정을 조정하고 기능을 만들 수 있습니다.
Zsh
Zsh 또는 Z 셸은 사용자 정의가 매우 용이하고 많은 유용한 기능이 있습니다. 가장 좋은 기능으로는 글로빙, 자동 수정, 사용자 정의 구성 및 고급 탭 완성이 있습니다.
Zsh는 플러그인과 테마도 지원하여 셸 경험을 원하는 대로 쉽게 조정할 수 있습니다. Zsh를 사용하면 Git 브랜치를 표시하고 간단한 패턴으로 복잡한 파일 조작을 수행할 수도 있습니다.
키시
ksh 또는 KornShell은 C 셸과 Bourne 셸의 가장 뛰어난 기능을 가져와 고급 스크립팅 기능을 갖춘 강력하고 사용하기 쉬운 셸을 만듭니다. ksh의 일부 기능에는 내장 수학 함수, 명령줄 편집, 셸 스크립팅 및 확장성이 포함됩니다.
마무리하기
Linux에서 기본 셸을 변경하는 것은 명령줄 경험을 향상시킬 수 있는 간단한 프로세스입니다. 파워 유저라면 다른 대체 Linux 셸을 꼭 시도해야 합니다.
이미지 출처: Lukas via Unsplash . 모든 스크린샷은 Haroon Javed가 촬영했습니다.
답글 남기기