--- title: starship — 크로스 셸 프롬프트 date: 2026-01-19 time: 12:00 model: admin category: programs author_type: human summary: 모든 셸에서 동작하는 초고속 프롬프트로, git 상태·언어 버전·실행 시간을 보여줌 tags: 프로그램, 모던 CLI 도구, starship --- **💬 "starship 명령어"** starship은 **모든 셸에서 동작하는 초고속 프롬프트 도구**입니다. 기본 프롬프트를 대체해 현재 폴더, git 브랜치·변경 상태, 언어 버전, 명령 실행 시간 등을 필요한 것만 알기 쉽게 보여줍니다. Rust로 만들어져 느린 셸 프롬프트를 거의 지연 없이 갱신하며, 설정 파일 하나로 자유롭게 꾸밀 수 있습니다. Bash·Zsh·Fish 등 대부분의 셸을 지원합니다. - **개념**: 셸 프롬프트(명령 입력 줄 앞부분)를 정보 밀도 높고 빠른 형태로 바꿔줍니다. - **주요 기능**: git 상태, 언어 버전, 명령 소요 시간, 오류 코드, 배터리를 프롬프트에 표시합니다. - **장점**: 설치와 설정이 간단하고, 셸 종류와 무관하게 동일한 화면을 얻습니다. - **활용**: 여러 서버·여러 셸을 오가며 작업할 때 일관된 정보를 보고 싶을 때 사용합니다. ## 기본 사용법 starship은 바이너리를 놓고, 셸 초기화 스크립트를 rc 파일에 한 줄 넣으면 끝납니다. ### 1. 셸에 통합 (rc 파일 한 줄) 설치 스크립트가 자동으로 넣어주거나, 직접 추가합니다. ``` # Bash — ~/.bashrc 맨 아래 eval "$(starship init bash)" # Zsh — ~/.zshrc eval "$(starship init zsh)" ``` ### 2. 정보 확인 이제 폴더·git 상태가 자동으로 프롬프트에 나타납니다. ``` cd ~/myrepo # 브랜치·변경 여부가 프롬프트에 표시 git status # git 모듈이 상태를 요약 ``` ### 3. 설정 꾸미기 preset을 적용하거나 설정 파일을 직접 수정합니다. ``` starship preset presets/tomorrow-night -o ~/.config/starship.toml $EDITOR ~/.config/starship.toml ``` ## 설치 및 다운로드 starship은 공식 설치 스크립트·패키지 매니저로 설치합니다. | 환경 | 명령 | | --- | --- | | 공식 원라이너 (Linux/macOS) | curl -sS https://starship.rs/install.sh | sh | | cargo | cargo install starship --locked | | Ubuntu/Debian (패키지 있으면) | sudo apt install starship | | macOS (Homebrew) | brew install starship | 설치 확인은 `starship --version`. 반드시 셸 rc 파일에 `eval "$(starship init 셸)"` 줄을 넣어야 적용됩니다. ## 자주 쓰는 명령 | 명령·키 | 설명 | | --- | --- | | starship preset | 미리 만든 프롬프트 스타일을 적용합니다 | | starship print-config | 현재 설정을 확인합니다 | | starship explain | 프롬프트 각 조각이 무엇인지 설명합니다 | | 설정 파일 ~/.config/starship.toml | 모듈·색·형태를 자유롭게 지정합니다 | ## 필수 명령어 조합 3가지 - `curl -sS https://starship.rs/install.sh | sh` — starship 설치 - `eval "$(starship init bash)"` — 셸에 프롬프트 통합 - `starship explain` — 현재 프롬프트 구성 요소 설명 **💬 "실제 서버에서 starship을 사용하는 예시"** 여러 서버에서 동일한 프롬프트를 쓰기 위한 설정을 순서대로 정리했습니다. ### 1단계 · 설치 원라이너로 설치합니다. ``` curl -sS https://starship.rs/install.sh | sh ``` ### 2단계 · 셸 통합 rc 파일에 초기화 줄을 넣습니다. ``` echo 'eval "$(starship init bash)"' >> ~/.bashrc ``` ### 3단계 · 적용 확인 새 셸을 열어 프롬프트를 확인합니다. ``` exec bash git status ``` ## 실무에서는 이렇게 씁니다 ### 1. git 상태 한눈에 보기 **상황** — 브랜치와 변경 여부를 프롬프트에서 봅니다. ``` cd /var/www/workspace ``` **결과** — 프롬프트에 브랜치 이름과 변경 파일 수가 표시됩니다. **포인트** — 실수로 다른 브랜치에서 작업하는 것을 막아줍니다. ### 2. 프롬프트 통일 **상황** — 여러 서버에서 동일한 환경을 만듭니다. ``` starship preset presets/pure -o ~/.config/starship.toml ``` **결과** — 모든 서버에서 같은 스타일의 프롬프트를 사용합니다. **포인트** — 환경이 바뀌어도 헷갈리지 않고 작업할 수 있습니다. ## 주의할 점 - 셸 rc 파일에 init 줄을 넣지 않으면 적용되지 않습니다. - 아주 오래된 셸·터미널에서는 일부 심볼 폰트가 깨질 수 있어 Nerd Font를 쓰면 더 잘 표시됩니다. - 설정은 `~/.config/starship.toml`에 있으므로 버전 관리에 넣기 좋습니다. --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/modern/starship.html