starship — 크로스 셸 프롬프트
Linux / 모던 CLI 도구 / starship.html
💬 "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에 있으므로 버전 관리에 넣기 좋습니다.