Linux에서 Bash에서 Fish Shell로 전환하는 방법

많은 사용자들이 터미널 환경에서 여전히 Bash 쉘을 선호하는 경향이 있습니다. 그러나 그 결과로 그들의 터미널 경험은 최적화되지 못하고, 기본적인 기능만 제공되며 현대적인 편리함이 부족할 수 있습니다. 더 나은 터미널 환경을 추구한다면, Bash에서 Fish 쉘로의 전환을 고려해 볼 가치가 있습니다.

Fish 쉘 설치 과정

Bash에서 Fish 쉘로 기본 쉘을 바꾸기 전에, 우선 Linux 시스템에 Fish 쉘을 설치해야 합니다. 다행히 Fish 쉘은 많은 인기를 얻고 있어 대부분의 Linux 배포판에서 쉽게 패키지를 찾을 수 있습니다. 터미널을 열고 다음 명령어들을 입력하여 설치를 진행할 수 있습니다.

우분투

sudo apt install fish

데비안

sudo apt-get install fish

아치 리눅스

sudo pacman -S fish

페도라

sudo dnf install fish

오픈수세

sudo zypper install fish

기타 Linux 배포판

Fish 쉘은 비교적 현대적인 기능을 제공하면서도 오랫동안 사용되어 왔습니다. 이러한 이유로 대부분의 Linux 배포판에서 쉽게 찾을 수 있습니다. 설치를 위해서는 터미널을 열고 패키지 관리자에서 “fish” 또는 “fish shell”을 검색해 보세요. 또는 공식 Github 페이지에서 소스 코드를 다운로드하여 직접 빌드할 수도 있습니다.

Bash에서 Fish 쉘로 전환

Fish 쉘을 기본 쉘로 사용하는 것은 Bash와 상당한 차이가 있어 익숙해지는 데 시간이 걸릴 수 있습니다. 다른 대안들(Zsh, Ksh 등)과 달리 Fish는 Bash 시스템에 기반하지 않습니다. Fish의 독자적인 구조 때문에 일부 명령어는 문법 차이로 인해 작동하지 않을 수 있으며, 터미널 사용 습관에 일부 변화가 필요할 수 있습니다.

다행히 Fish 쉘의 다양한 기능과 환경 설정을 설명하는 유용한 자료들이 있습니다. Fish 문법, 파이프 처리 방식 등 다양한 정보를 제공하며, Fish로 전환을 고려하고 있다면 해당 자료들을 참고하는 것이 도움이 될 것입니다.

참고 자료를 확인한 후, 터미널을 열고 사용자의 기본 쉘을 Bash에서 Fish 쉘로 변경해도 안전합니다. 터미널에서 chsh 명령어를 실행하세요. 단, sudo를 사용하지 마세요. 루트 사용자의 쉘이 Fish 쉘로 변경될 수 있습니다.

chsh -s /usr/bin/fish

chsh 명령어를 실행하면 사용자 계정에 새 쉘이 할당됩니다. Fish 쉘을 즉시 사용하려면 터미널에 ‘fish’를 입력하세요. 그렇지 않으면 Linux PC를 재시작하여 변경을 완료하세요. 재부팅 후 다시 로그인하고 터미널을 열면, 모든 것이 제대로 진행되었다면 Fish 쉘이 기본 쉘로 설정되어 있을 것입니다.

Fish 쉘 설정

Fish 쉘로 전환했지만 완전히 준비된 것은 아닙니다. 다음 단계는 Fish 쉘을 설정하는 것입니다. 터미널에서 새로운 구성 폴더를 생성합니다.

mkdir -p ~/.config/fish

다음으로, 새 Fish 구성 폴더 내에 새 구성 파일을 만듭니다.

touch ~/.config/fish/config.fish

touch 명령어를 사용하면 내용이 없는 빈 Fish 쉘 구성 파일이 생성됩니다. 이제 사용자 정의 설정을 쉘에 추가할 수 있습니다. 대부분의 사용자에게 필요한 유일한 수정 사항은 환영 메시지를 영구적으로 비활성화하는 것입니다. 다음 명령어를 실행하여 Fish 구성 파일에 설정을 추가합니다.

echo 'set fish_greeting ""' >> ~/.config/fish/config.fish

Fish 쉘 설정 백업

여러 컴퓨터에서 Fish 쉘을 설정하는 것은 각 PC마다 새로운 구성을 만들어야 하기 때문에 다소 번거로울 수 있습니다. 좀 더 효율적인 방법은 구성 파일을 백업하고, Fish 쉘을 사용할 각 PC에서 복원하는 것입니다. 구성을 백업하려면 터미널에서 다음 명령어를 실행하세요.

cp ~/.config/fish/config.fish ~/Documents/

구성을 복원하려면 파일을 새 PC로 옮겨 문서 폴더에 넣고 다음 명령어를 실행합니다.

mkdir -p ~/.config/fish
cp ~/Documents/config.fish ~/.config/fish/config.fish

사용자 정의

대부분의 경우 Fish 쉘은 즉시 사용할 수 있도록 설정되어 있습니다. 하지만 추가적인 사용자 정의나 설정을 원한다면, 다음과 같은 방법으로 설정할 수 있습니다. 터미널을 열고 다음 명령어를 실행하세요.

fish_config

이 명령어를 실행하면, 웹 브라우저에 Fish 쉘의 다양한 설정을 관리할 수 있는 새 탭이 자동으로 열립니다.

Fish_Config 창에서는 미리 설정된 쉘 테마를 적용하고, 변수를 할당하고, 사용자 정의 함수를 설정하고, 명령 기록을 확인하고, 약어, 별칭 등을 설정할 수 있습니다.

Fish 쉘 자동 완성 기능

지금까지 Fish 쉘에서 가장 돋보이는 기능은 자동 완성 기능입니다. 이 기능은 다른 쉘보다 훨씬 뛰어난 사용자 경험을 제공하며, 자동 완성 기능 하나만으로도 기존 Bash 쉘 사용자들을 설득할 수 있을 정도입니다. 게다가 이 기능은 사용법이 매우 간단하여 누구나 쉽게 이용할 수 있습니다.

Fish 쉘 자동 완성 기능을 사용하려면 터미널에서 명령어를 입력하기 시작하세요. 입력하는 동안 쉘이 사용자의 의도를 추측하여 제시하는 것을 확인할 수 있습니다. 입력 정보가 추가될수록 제안이 더욱 정확해집니다. 언제든지 키보드의 오른쪽 화살표 키를 눌러 명령어를 자동 완성할 수 있습니다. 올바른 키를 누르면 중간에 입력하던 명령어가 자동으로 완성됩니다.