02 - 리눅스 설치부터 터미널 꾸미기까지: 나만의 개발 환경 만들기¶
코딩을 좋아하는 여러분, 환영합니다! 이 문서에서는 리눅스를 설치하고, 나만의 멋진 개발 환경을 세팅하는 전 과정을 함께 알아보겠습니다. 막히는 부분이 있으면 언제든 질문하세요!
목차¶
- 리눅스 시작하는 3가지 방법
- 초기 설정 (설치 직후 필수)
- 쉘 커스텀: bash → zsh
- 터미널 에뮬레이터
- 폰트 설치
- 한글 설정
- 터미널 색상 테마
- 추천 .zshrc 설정
- dotfiles 관리 개념
- 실습 미션
1. 리눅스 시작하는 3가지 방법¶
리눅스를 사용하는 방법은 크게 세 가지가 있습니다. 초보자 분들은 추천 순서대로 시도해 보세요.
추천 순서¶
WSL2 (가장 쉬움)
→ VirtualBox/UTM VM (안전하게 실습)
→ 듀얼부팅 (본격적으로 사용)
1-1. WSL2 (Windows 사용자 추천!)¶
WSL2는 Windows 안에서 리눅스를 돌릴 수 있는 기능입니다. Windows를 지우지 않고, 가장 쉽게 리눅스를 경험할 수 있어요.
설치 방법¶
- Windows Terminal을 관리자 권한으로 엽니다.
-
시작 메뉴에서 "terminal" 검색 → 우클릭 → "관리자 권한으로 실행"
-
다음 명령어를 입력합니다:
wsl --install
참고: Windows 10(버전 2004 이상) 또는 Windows 11에서 사용할 수 있습니다. Windows 업데이트를 먼저 진행하세요.
-
설치가 완료되면 재부팅합니다.
-
재부팅 후 자동으로 Ubuntu 설치가 시작됩니다.
- UNIX 사용자 이름을 입력하세요 (예:
codingstudent) - 비밀번호를 두 번 입력하세요 (화면에 아무것도 안 보이는 게 정상!)
Enter new UNIX username: codingstudent
New password: ********
Retype new password: ********
문제 해결: "wsl --install"이 안 되면, 제어판 → 프로그램 → Windows 기능 켜기/끄기 → "Linux용 Windows 하위 시스템"과 "가상 머신 플랫폼"을 체크하고 재부팅하세요.
Ubuntu 배포판 선택¶
여러 배포판 중 Ubuntu를 추천합니다:
# 사용 가능한 배포판 목록 보기
wsl --list --online
# Ubuntu 설치 (기본값)
wsl --install -d Ubuntu
# 또는 특정 버전 설치
wsl --install -d Ubuntu-24.04
Windows Terminal 연동¶
Windows Terminal은 WSL2와 환상의 콤보입니다!
- Microsoft Store에서 Windows Terminal 설치
- 자동으로 Ubuntu 탭이 생성됩니다
- 설정(Ctrl+,)에서 Ubuntu를 기본 프로필로 지정
설정 → 시작업 → 기본 프로필 → Ubuntu
Windows와 파일 공유¶
WSL2는 Windows와 파일을 쉽게 공유할 수 있습니다.
# WSL 안에서 Windows 파일 접근
ls /mnt/c/Users/내사용자이름/Desktop
# Windows 탐색기에서 WSL 파일 접근
# 주소창에 입력:
\\wsl$\Ubuntu
# WSL 안에서 Windows 탐색기 열기
explorer.exe .
팁: 코드는 WSL 파일 시스템(
~/) 안에 두는 것이 속도가 훨씬 빠릅니다./mnt/c/아래에 프로젝트를 두면 느려요!
1-2. VirtualBox / UTM 가상머신¶
가상머신은 "컴퓨터 안의 컴퓨터"입니다. 실제 컴퓨터에 영향을 주지 않아서 마음 놓고 연습할 수 있어요.
VirtualBox (Windows, Linux, Intel Mac)¶
- VirtualBox 다운로드
-
https://www.virtualbox.org/wiki/Downloads 에서 다운로드 후 설치
-
Ubuntu ISO 다운로드
- https://ubuntu.com/download/desktop 에서 ISO 파일 다운로드
-
LTS 버전(장기 지원)을 선택하세요 (예: Ubuntu 24.04 LTS)
-
가상머신 만들기
VirtualBox 실행 → 새로 만들기
이름: Ubuntu-Dev
종류: Linux
버전: Ubuntu (64-bit)
메모리: 최소 4096MB (8192MB 권장)
디스크: 최소 25GB (동적 할당)
설정 → 시스템 → 프로세서: 2개 이상
설정 → 디스플레이 → 비디오 메모리: 128MB
설정 → 저장소 → 광학 드라이브 → Ubuntu ISO 파일 선택
- 설치 후 ISO 파일을 제거하고 재부팅
UTM (Apple Silicon Mac: M1/M2/M3/M4)¶
Apple Silicon Mac은 VirtualBox 대신 UTM을 사용합니다.
1. https://mac.getutm.app/ 에서 UTM 다운로드
2. Ubuntu ARM 버전 ISO 다운로드
(https://ubuntu.com/download/server/arm - Desktop도 가능)
3. UTM에서 새 가상머신 생성 → Virtualize → Linux → ISO 선택
스냅샷 기능 (매우 중요!)¶
스냅샷은 현재 상태를 "저장"하는 기능입니다. 뭔가 망가져도 스냅샷으로 되돌릴 수 있어요.
VirtualBox 메뉴:
머신 → 도구 → 스냅샷 → 찍기
또는
현재 상태 → 우클릭 → 스냅샷 찍기
이름: "초기 설치 완료"
설명: "기본 패키지 설치 후 상태"
중요: 큰 변경 작업 전에 항상 스냅샷을 찍으세요! "무언가 망가졌다" 싶으면 스냅샷으로 복원하면 됩니다.
1-3. 듀얼부팅¶
듀얼부팅은 컴퓨터를 켤 때 Windows와 Linux 중 선택할 수 있게 하는 방법입니다. 가장 성능이 좋지만, 초보자는 마지막에 시도하세요.
USB 부팅 디스크 만들기¶
Windows에서 (Rufus 사용):
1. https://rufus.ie/ 에서 Rufus 다운로드
2. USB 드라이브 연결 (8GB 이상 - 내용 전부 삭제됨!)
3. Rufus 실행:
- 장치: USB 드라이브 선택
- 부트 선택: 디스크 또는 ISO 이미지 → Ubuntu ISO 선택
- 파티션 방식: GPT (UEFI) 또는 MBR (Legacy BIOS)
(내 PC가 어떤 방식인지 BIOS에서 확인)
- 시작!
macOS에서 (balenaEtcher 사용):
1. https://etcher.balena.io/ 에서 balenaEtcher 다운로드
2. 실행 후:
- Flash from file → Ubuntu ISO 선택
- Select target → USB 드라이브 선택
- Flash!
설치 과정¶
1. USB를 꽂고 컴퓨터 재부팅
2. BIOS/UEFI 진입 (보통 F2, F12, Del 키)
3. 부팅 순서에서 USB를 최우선으로 변경
4. "Install Ubuntu" 선택
5. 파티션 설정:
- 방식 1 (쉬움): "Windows와 함께 설치" 자동 옵션
- 방식 2 (수동):
/ (루트) - 최소 30GB
/home - 나머지 공간
swap - RAM 크기와 동일 (최근에는 필요 없을 수도 있음)
/boot/efi - 512MB (EFI 파티션)
경고: 듀얼부팅 설치 전 반드시 중요 파일을 백업하세요! 파티션 작업 중 데이터가 날아갈 수 있습니다.
BitLocker 사용 중이라면: 반드시 복구 키를 백업하세요! Windows 복구 키는 Microsoft 계정에서 확인할 수 있습니다.
2. 초기 설정 (설치 직후 필수)¶
리눅스를 처음 설치했다면, 가장 먼저 할 일이 있습니다.
2-1. 시스템 업데이트¶
# 패키지 목록 업데이트 + 설치된 패키지 업그레이드
sudo apt update && sudo apt upgrade -y
# 개발에 필요한 기본 도구 설치
sudo apt install -y build-essential curl wget git
각 패키지가 뭘까요?
| 패키지 | 설명 |
|---|---|
build-essential |
C/C++ 컴파일러(gcc, g++, make) 모음 |
curl |
웹에서 데이터 다운로드 도구 |
wget |
파일 다운로드 도구 |
git |
버전 관리 시스템 |
sudo가 뭔가요? 관리자 권한으로 명령을 실행한다는 뜻입니다. Windows의 "관리자 권한으로 실행"과 비슷해요. 비밀번호를 입력하라고 나오면 자신의 비밀번호를 입력하세요.
2-2. 시간대 설정¶
# 현재 시간대 확인
timedatectl
# 한국 시간대로 설정
sudo timedatectl set-timezone Asia/Seoul
# 확인
timedatectl
Local time: 금 2025-03-14 15:30:00 KST
Universal time: 금 2025-03-14 06:30:00 UTC
Time zone: Asia/Seoul (KST, +0900)
2-3. 호스트명 변경¶
호스트명은 컴퓨터의 이름입니다. 터미널 프롬프트에 표시됩니다.
# 현재 호스트명 확인
hostnamectl
# 호스트명 변경 (원하는 이름으로)
sudo hostnamectl set-hostname my-dev-pc
# 확인
hostname
2-4. 사용자 계정 관리¶
# 현재 사용자 확인
whoami
# 새 사용자 만들기
sudo adduser friend
# 사용자에게 관리자 권한 주기
sudo usermod -aG sudo friend
# 사용자 목록 보기
cat /etc/passwd | grep -E '/home'
# 비밀번호 변경
passwd
문제 해결:
sudo권한이 없다는 에러가 나오면, root 계정으로 로그인하여usermod -aG sudo 사용자명을 실행하세요.
3. 쉘 커스텀: bash → zsh¶
쉘(Shell)은 우리가 입력하는 명령어를 운영체제가 이해할 수 있게 번역해 주는 프로그램입니다. 리눅스 기본 쉘은 bash인데, zsh로 바꾸면 훨씬 편리합니다.
3-1. zsh 설치¶
# zsh 설치
sudo apt install zsh -y
# 설치 확인
zsh --version
3-2. 기본 쉘을 zsh로 변경¶
# zsh 경로 확인
which zsh
# 기본 쉘 변경
chsh -s $(which zsh)
참고: 변경 사항은 다음 로그인부터 적용됩니다. WSL2에서는 터미널을 닫았다가 다시 열면 됩니다.
3-3. Oh My Zsh 설치¶
Oh My Zsh은 zsh를 쉽게 관리하고 꾸밀 수 있게 해주는 프레임워크입니다.
# Oh My Zsh 설치
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
설치가 완료되면 터미널 모습이 달라집니다! 기본 테마인 robbyrussell이 적용됩니다.
문제 해결: 설치 중 "connection refused" 에러가 나오면 인터넷 연결을 확인하세요. 회사/학교 네트워크에서 차단될 수 있습니다.
3-4. 테마 변경¶
agnoster 테마 (깔끔하고 인기 있는 테마)¶
# ~/.zshrc 파일 열기
nano ~/.zshrc
# ZSH_THEME="robbyrussell" 을 찾아서 변경:
# (nano에서 Ctrl+W로 검색할 수 있습니다)
ZSH_THEME="agnoster"
# 변경사항 적용
source ~/.zshrc
agnoster 테마는 특수 문자를 사용하므로 폰트가 깨질 수 있습니다. 이건 뒤에서 Nerd Fonts를 설치하면 해결돼요!
Powerlevel10k 테마 (강력 추천!)¶
Powerlevel10k는 더 화려하고 빠른 테마입니다.
# Powerlevel10k 다운로드
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
# ~/.zshrc에서 테마 변경
nano ~/.zshrc
# 이렇게 변경:
ZSH_THEME="powerlevel10k/powerlevel10k"
# 적용
source ~/.zshrc
처음 적용하면 설정 마법사가 실행됩니다. 화면의 안내에 따라 원하는 모양을 선택하세요. 나중에 다시 설정하고 싶으면:
p10k configure
3-5. 필수 플러그인¶
Oh My Zsh의 진짜 힘은 플러그인에 있습니다!
zsh-autosuggestions (이전 명령어 자동완성)¶
명령어를 치다 보면 회색 글씨로 이전에 쳤던 명령어가 제안됩니다. → 오른쪽 화살표 키(→)를 누르면 자동으로 완성!
# 플러그인 다운로드
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-syntax-highlighting (명령어 문법 색상)¶
명령어가 올바르면 초록색, 틀리면 빨간색으로 표시됩니다.
# 플러그인 다운로드
git clone https://github.com/zsh-users/zsh-syntax-highlighting \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
z (자주 가는 디렉토리 단축 이동)¶
Oh My Zsh에 이미 내장되어 있습니다! 별도 설치 불필요.
# 사용 예시:
# 처음에는 전체 경로를 입력해 이동합니다
cd ~/Documents/my-project
cd ~/Downloads
# 나중에는 z 명령어로 빠르게 이동
z my-project # ~/Documents/my-project 로 이동
z down # ~/Downloads 로 이동
플러그인 활성화¶
모든 플러그인을 설치했다면 ~/.zshrc에서 활성화합니다.
nano ~/.zshrc
plugins=(git) 줄을 찾아서 다음과 같이 수정합니다:
plugins=(
git
z
zsh-autosuggestions
zsh-syntax-highlighting
)
# 적용
source ~/.zshrc
문제 해결: 플러그인이 안 되면 플러그인 이름의 철자를 확인하세요. 그리고
~/.zshrc에서plugins=()안에 정확히 들어갔는지 확인!
4. 터미널 에뮬레이터¶
터미널 에뮬레이터는 터미널 화면을 보여주는 프로그램입니다. 운영체제마다 여러 선택지가 있습니다.
4-1. Windows: Windows Terminal¶
강력 추천! Windows 사용자라면 무조건 이것을 쓰세요.
설치¶
Microsoft Store → "Windows Terminal" 검색 → 설치
핵심 기능¶
| 기능 | 단축키 |
|---|---|
| 새 탭 | Ctrl+Shift+T |
| 탭 닫기 | Ctrl+Shift+W |
| 화면 가로분할 | Alt+Shift+- |
| 화면 세로분할 | Alt+Shift++ |
| 설정 열기 | Ctrl+, |
설정 팁¶
settings.json을 직접 편집하면 더 세밀한 설정이 가능합니다:
// Ctrl+, → 왼쪽 아래 "JSON 파일 열기" 클릭
{
"defaultProfile": "{Ubuntu의 GUID}",
"startOnUserLogin": true,
"profiles": {
"defaults": {
"font": {
"face": "MesloLGS NF",
"size": 13
},
"opacity": 90,
"useAcrylic": true,
"colorScheme": "Dracula"
}
}
}
4-2. macOS: iTerm2¶
macOS 사용자에게 추천하는 터미널 에뮬레이터입니다.
설치¶
1. https://iterm2.com/ 에서 다운로드
2. 압축 해제 후 응용프로그램 폴더로 이동
3. 실행
설정 팁¶
iTerm2 → Preferences (Cmd+,)
Profiles → Text → Font: MesloLGS NF
Profiles → Colors → Color Presets → Dracula
Profiles → Window → Transparency: 약간 투명하게
Keys → Key Mappings:
Cmd+D: 세로 분할 (Split Vertically)
Cmd+Shift+D: 가로 분할 (Split Horizontally)
4-3. Linux 데스크톱¶
| 이름 | 특징 | 설치 명령어 |
|---|---|---|
| GNOME Terminal | Ubuntu 기본 터미널 | 이미 설치되어 있음 |
| Alacritty | 매우 빠름 (GPU 사용) | sudo apt install alacritty |
| Kitty | 이미지 표시 지원 | curl -L https://sw.kovidgoyal.net/kitty/installer.sh \| sh /dev/stdin |
Alacritty 설정 파일¶
mkdir -p ~/.config/alacritty
nano ~/.config/alacritty/alacritty.toml
[window]
opacity = 0.9
[font]
size = 13.0
[font.normal]
family = "MesloLGS NF"
style = "Regular"
[colors.primary]
background = "#1e1e2e"
foreground = "#cdd6f4"
4-4. 터미널 에뮬레이터 비교표¶
| 특징 | Windows Terminal | iTerm2 | Alacritty | Kitty | GNOME Terminal |
|---|---|---|---|---|---|
| 플랫폼 | Windows | macOS | 전부 | 전부 | Linux |
| 속도 | 보통 | 보통 | 매우 빠름 | 빠름 | 보통 |
| 탭 지원 | O | O | X (tmux) | O | O |
| 분할 화면 | O | O | X (tmux) | O | O |
| 이미지 표시 | X | X | X | O | X |
| GPU 가속 | X | X | O | O | X |
| 설정 방식 | JSON | GUI | TOML | conf | GUI |
| 추천 대상 | Windows 사용자 | Mac 사용자 | 속도 중시 | 이미지 필요 | Ubuntu 기본 |
tmux를 배우면 어떤 터미널에서든 화면 분할이 가능합니다! 나중에 꼭 배워보세요.
5. 폰트 설치¶
5-1. Nerd Fonts가 왜 필요할까요?¶
일반 폰트에는 터미널에서 사용하는 아이콘 문자가 없습니다. Nerd Fonts는 개발자를 위해 수백 개의 아이콘을 추가한 폰트입니다.
이런 것들이 가능해집니다: - Git 상태 아이콘 (변경됨, 추가됨, 충돌 등) - 폴더/파일 아이콘 - 언어별 로고 아이콘 - 화려한 터미널 프롬프트
5-2. 추천 폰트¶
| 폰트 | 추천 이유 |
|---|---|
| MesloLGS NF | Powerlevel10k 공식 추천 폰트 |
| D2Coding | 한국어 코딩에 최적화 (한글 가독성!) |
| FiraCode Nerd Font | 프로그래밍 합자 지원 (-> 가 → 로 보임) |
5-3. 설치 방법¶
Windows에 설치¶
# PowerShell에서 실행
# MesloLGS NF 설치 (Powerlevel10k용)
# https://github.com/romkatv/powerlevel10k#meslo-nerd-font-patched-for-powerlevel10k
# 위 페이지에서 4개의 ttf 파일을 다운로드 후 더블클릭하여 설치
또는 수동 설치:
1. https://www.nerdfonts.com/font-downloads 접속
2. 원하는 폰트 검색 (예: "Meslo", "FiraCode")
3. 다운로드 후 압축 해제
4. .ttf 파일 더블클릭 → "설치" 클릭
Windows Terminal 폰트 적용: 설치 후 반드시 터미널 설정에서 폰트를 변경해야 합니다! 설정 → 프로필 → 모양 → 글꼴 → "MesloLGS NF" 선택
macOS에 설치¶
# Homebrew로 설치 (Homebrew가 설치되어 있어야 함)
brew tap homebrew/cask-fonts
brew install --cask font-meslo-lg-nerd-font
brew install --cask font-d2coding
brew install --cask font-fira-code-nerd-font
Homebrew가 없나요? https://brew.sh/ 에서 설치하세요.
Linux에 설치¶
# 폰트 디렉토리 만들기
mkdir -p ~/.local/share/fonts
# Nerd Fonts 다운로드 (Meslo 예시)
cd ~/.local/share/fonts
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf
# 폰트 캐시 갱신
fc-cache -fv
# 또는 한 번에 여러 Nerd Fonts 설치하는 스크립트
# (시간이 좀 걸립니다)
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts
# FiraCode Nerd Font
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/FiraCode.zip
unzip FiraCode.zip
rm FiraCode.zip
fc-cache -fv
확인:
fc-list | grep "Meslo"로 설치된 폰트를 확인할 수 있습니다.
6. 한글 설정¶
리눅스에서 한글을 입력하려면 입력기(Input Method)를 설정해야 합니다.
6-1. ibus 설치 및 설정 (GUI 환경)¶
# ibus와 한글 엔진 설치
sudo apt install -y ibus ibus-hangul
# ibus 데몬 시작
ibus-daemon -drx
# ibus 설정 열기
ibus-setup
설정 화면에서:
1. "입력기" 탭 → "추가" 클릭
2. 한국어 → Korean → Hangul 선택 → "추가"
3. "키보드 단축키" 탭에서 전환 키 설정
(보통 한영키 또는 Shift+Space)
환경 변수 설정:
# ~/.zshrc (또는 ~/.bashrc)에 추가
nano ~/.zshrc
# 파일 끝에 추가:
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
6-2. fcitx 대안¶
fcitx는 ibus의 대안입니다. 더 가볍고 빠르다고 느끼는 사람도 있습니다.
# fcitx와 한글 엔진 설치
sudo apt install -y fcitx fcitx-hangul
# 기본 입력기로 fcitx 설정
im-config -n fcitx
환경 변수:
# ~/.zshrc에 추가:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
6-3. 한글 입력기 선택 가이드¶
| 항목 | ibus-hangul | fcitx-hangul |
|---|---|---|
| 설치 난이도 | 쉬움 | 쉬움 |
| 안정성 | 매우 안정적 | 안정적 |
| 설정 편의성 | GUI 설정 도구 | GUI 설정 도구 |
| 추천 대상 | 초보자, GNOME 사용자 | 가벼운 환경 선호 사용자 |
추천: 처음에는 ibus-hangul을 사용하세요. 나중에 필요하면 fcitx로 바꿔도 됩니다.
6-4. 한글 폰트 설치¶
# Noto Sans CJK (한중일 폰트) 설치
sudo apt install -y fonts-noto-cjk
# 또는 구글 웹폰트에서 다운로드
# https://fonts.google.com/noto 에서 Noto Sans KR 다운로드
# 설치 후 캐시 갱신
fc-cache -fv
WSL2 참고: WSL2는 GUI 앱이 없으므로, Windows 쪽에서 한글 입력을 사용합니다. WSL2 내부에서 한글 설정은 주로 웹 개발 시 폰트 렌더링 등에 필요합니다.
7. 터미널 색상 테마¶
7-1. Color Scheme이 뭔가요?¶
Color Scheme(색상 테마)는 터미널의 배경색, 글자색, 강조색 등을 정의한 설정입니다. 예쁜 테마를 적용하면 코딩이 더 즐거워져요!
7-2. 추천 테마¶
| 테마 | 느낌 | 배경색 | 특징 |
|---|---|---|---|
| Dracula | 다크 + 보라 | 어두운 남색 | 인기 최고, 눈이 편안 |
| Nord | 차가운 북유럽 | 짙은 남색 | 차분하고 세련된 느낌 |
| Catppuccin | 파스텔 톤 | 어두운 갈색 | 부드럽고 예쁜 색상 |
| Tokyo Night | 도쿄의 밤 | 짙은 파랑 | 모던하고 세련됨 |
7-3. Windows Terminal에서 테마 설정¶
settings.json을 열고 (Ctrl+, → JSON 파일 열기), schemes 배열에 테마를 추가합니다.
Dracula 테마 예시:
"schemes": [
{
"name": "Dracula",
"cursorColor": "#f8f8f2",
"selectionBackground": "#44475a",
"background": "#282a36",
"foreground": "#f8f8f2",
"black": "#21222c",
"blue": "#bd93f9",
"cyan": "#8be9fd",
"green": "#50fa7b",
"purple": "#ff79c6",
"red": "#ff5555",
"white": "#f8f8f2",
"yellow": "#f1fa8c",
"brightBlack": "#6272a4",
"brightBlue": "#bd93f9",
"brightCyan": "#8be9fd",
"brightGreen": "#50fa7b",
"brightPurple": "#ff79c6",
"brightRed": "#ff6e6e",
"brightWhite": "#ffffff",
"brightYellow": "#f1fa8c"
}
]
그리고 프로필에서 사용:
"profiles": {
"defaults": {
"colorScheme": "Dracula"
}
}
더 많은 테마: https://windowsterminalthemes.dev/ 에서 수백 개의 테마를 한 번에 복사할 수 있습니다!
7-4. VS Code 터미널 테마 연동¶
VS Code 터미널도 테마를 설정할 수 있습니다.
settings.json (VS Code)을 열고:
{
"workbench.colorCustomizations": {
"terminal.background": "#282a36",
"terminal.foreground": "#f8f8f2",
"terminalCursor.background": "#f8f8f2",
"terminalCursor.foreground": "#282a36",
"terminal.ansiBlack": "#21222c",
"terminal.ansiBlue": "#bd93f9",
"terminal.ansiCyan": "#8be9fd",
"terminal.ansiGreen": "#50fa7b",
"terminal.ansiMagenta": "#ff79c6",
"terminal.ansiRed": "#ff5555",
"terminal.ansiWhite": "#f8f8f2",
"terminal.ansiYellow": "#f1fa8c",
"terminal.ansiBrightBlack": "#6272a4",
"terminal.ansiBrightBlue": "#bd93f9",
"terminal.ansiBrightCyan": "#8be9fd",
"terminal.ansiBrightGreen": "#50fa7b",
"terminal.ansiBrightMagenta": "#ff79c6",
"terminal.ansiBrightRed": "#ff6e6e",
"terminal.ansiBrightWhite": "#ffffff",
"terminal.ansiBrightYellow": "#f1fa8c"
}
}
더 쉬운 방법: VS Code에서 Dracula Official 확장을 설치하면 터미널 테마도 자동으로 적용됩니다!
8. 추천 .zshrc 설정¶
~/.zshrc는 zsh 설정 파일입니다. 여기에 유용한 설정을 추가해 봅시다.
# ~/.zshrc 파일 열기
nano ~/.zshrc
아래 내용을 파일 끝에 추가하세요:
# ============================================
# 유용한 alias들 (단축 명령어)
# ============================================
# 파일 목록 보기
alias ll='ls -alF' # 숨긴 파일 + 자세한 정보
alias la='ls -A' # 숨긴 파일 보기
alias l='ls -CF' # 간단하게
# Git 단축키
alias gs='git status' # 현재 상태 확인
alias gc='git commit' # 커밋
alias gp='git push' # 푸시
alias gpl='git pull' # 풀
alias gd='git diff' # 변경 사항 보기
alias gl='git log --oneline --graph --decorate' # 예쁜 로그
alias gaa='git add -A' # 전부 스테이징
# 디렉토리 이동
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias home='cd ~'
# 안전한 명령어 (확인 메시지 표시)
alias rm='rm -i' # 삭제 전 확인
alias cp='cp -i' # 덮어쓰기 전 확인
alias mv='mv -i' # 덮어쓰기 전 확인
# 시스템 정보
alias df='df -h' # 디스크 사용량 (사람이 읽기 쉽게)
alias du='du -h' # 디렉토리 사용량
alias free='free -h' # 메모리 사용량
# ============================================
# 히스토리 설정
# ============================================
HISTSIZE=10000 # 메모리에 저장할 명령어 수
SAVEHIST=10000 # 파일에 저장할 명령어 수
setopt SHARE_HISTORY # 여러 터미널에서 히스토리 공유
setopt HIST_IGNORE_DUPS # 연속된 중복 명령어 무시
setopt HIST_IGNORE_SPACE # 공백으로 시작하면 히스토리에 저장 안 함
# ============================================
# 기타 편의 설정
# ============================================
export EDITOR=nano # 기본 에디터를 nano로 설정
# 오타 교정 (약간 느려질 수 있음)
setopt CORRECT
# cd 없이 디렉토리 이름만 쳐도 이동
setopt AUTO_CD
# ============================================
# 함수: 빠른 프로젝트 폴더 만들기
# ============================================
mkproject() {
mkdir -p "$1"
cd "$1"
git init
echo "# $1" > README.md
echo "프로젝트 $1 생성 완료!"
}
# 설정 적용
source ~/.zshrc
alias란? 긴 명령어에 짧은 별명을 붙이는 기능입니다. 예를 들어gs만 쳐도git status가 실행됩니다!
9. dotfiles 관리 개념¶
9-1. dotfiles란?¶
리눅스에서 .(점)으로 시작하는 파일은 숨김 파일입니다.
이 중 설정 파일들을 dotfiles라고 부릅니다.
# 내 홈 디렉토리의 dotfiles 보기
ls -la ~ | grep '^\.'
# 주요 dotfiles:
# ~/.zshrc - zsh 설정
# ~/.gitconfig - Git 설정
# ~/.bashrc - bash 설정 (zsh 안 쓰면)
# ~/.config/ - 여러 프로그램의 설정 폴더
9-2. 왜 관리해야 하나요?¶
- 새 컴퓨터에서도 같은 환경을 빠르게 구축할 수 있습니다
- 실수로 설정을 날려도 복구할 수 있습니다
- 다른 사람의 멋진 설정을 참고할 수 있습니다
9-3. GitHub에 백업하는 방법¶
# dotfiles 저장소 만들기
mkdir ~/dotfiles
cd ~/dotfiles
# 설정 파일들 복사
cp ~/.zshrc ~/dotfiles/zshrc
cp ~/.gitconfig ~/dotfiles/gitconfig
# GitHub에 푸시
git init
git add zshrc gitconfig
git commit -m "My dotfiles backup"
git remote add origin https://github.com/내아이디/dotfiles.git
git push -u origin main
나중에 새 컴퓨터에서 복원:
# dotfiles 클론
git clone https://github.com/내아이디/dotfiles.git ~/dotfiles
# 설정 파일 심볼릭 링크 (원본처럼 사용)
ln -s ~/dotfiles/zshrc ~/.zshrc
ln -s ~/dotfiles/gitconfig ~/.gitconfig
# 적용
source ~/.zshrc
심볼릭 링크(
ln -s)는 바로가기 같은 것입니다. 파일을 복사하지 않고, 원본 파일을 가리키게 합니다.
9-4. 유용한 dotfiles 저장소¶
다른 사람들은 어떻게 설정했는지 구경해 보세요:
| 저장소 | 설명 |
|---|---|
| github.com/mathiasbynens/dotfiles | 유명한 macOS dotfiles |
| github.com/ohmyzsh/ohmyzsh | Oh My Zsh 예시 설정 |
| github.com/romkatv/dotfiles | Powerlevel10k 개발자의 설정 |
Google에 "github dotfiles"라고 검색하면 수많은 예시를 볼 수 있습니다!
10. 실습 미션¶
자, 이제 배운 걸 직접 해봅시다! 난이도 순으로 미션을 준비했어요.
미션 1: 시스템 기본 설정 (난이도: 초급)¶
# 1. 시스템 업데이트
sudo apt update && sudo apt upgrade -y
# 2. 기본 도구 설치
sudo apt install -y build-essential curl wget git
# 3. 시간대를 한국으로 설정
sudo timedatectl set-timezone Asia/Seoul
# 4. 호스트명을 원하는 이름으로 변경
sudo hostnamectl set-hostname coding-hero
# 5. 확인!
echo "=== 시스템 정보 ==="
echo "호스트명: $(hostname)"
echo "시간대: $(timedatectl show -p Timezone --value)"
echo "Git 버전: $(git --version)"
echo "GCC 버전: $(gcc --version | head -n1)"
echo "=================="
성공 기준: 위 확인 명령어를 실행했을 때 모든 정보가 정상적으로 출력되면 성공!
미션 2: zsh + Oh My Zsh 설치 (난이도: 초급)¶
# 1. zsh 설치
sudo apt install zsh -y
# 2. Oh My Zsh 설치
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 3. agnoster 테마 적용
# ~/.zshrc에서 ZSH_THEME="agnoster"로 변경
sed -i 's/ZSH_THEME="robbyrussell"/ZSH_THEME="agnoster"/' ~/.zshrc
source ~/.zshrc
# 4. 확인!
echo "현재 쉘: $SHELL"
echo "zsh 버전: $(zsh --version)"
성공 기준: 터미널 프롬프트 모양이 달라졌으면 성공!
미션 3: 필수 플러그인 3종 설치 (난이도: 중급)¶
# 1. zsh-autosuggestions 설치
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# 2. zsh-syntax-highlighting 설치
git clone https://github.com/zsh-users/zsh-syntax-highlighting \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# 3. ~/.zshrc에 플러그인 활성화
# plugins=(git z zsh-autosuggestions zsh-syntax-highlighting)
# 4. source ~/.zshrc 적용
# 5. 테스트!
echo "hello" # 이제 다음에 'ec'만 쳐도 자동완성 제안이 나오나요?
ls # 명령어가 초록색으로 보이나요?
성공 기준:
- echo를 칠 때 회색 자동완성 제안이 나오면 성공
- 올바른 명령어가 초록색, 틀린 명령어가 빨간색이면 성공
미션 4: 나만의 .zshrc 꾸미기 (난이도: 중급)¶
# 1. ~/.zshrc에 다음 alias 추가:
alias gs='git status'
alias ll='ls -alF'
alias home='cd ~'
# 2. 히스토리 설정 추가:
# HISTSIZE=10000
# SAVEHIST=10000
# 3. nano를 기본 에디터로:
# export EDITOR=nano
# 4. 적용 후 테스트:
source ~/.zshrc
gs # git status가 실행되나요?
ll # 파일 목록이 예쁘게 나오나요?
성공 기준: 모든 alias가 정상 작동하면 성공!
미션 5: 종합 - 멋진 터미널 완성 (난이도: 상급)¶
위의 모든 미션을 완료한 도전자를 위한 종합 미션입니다.
체크리스트:
[ ] WSL2 또는 VM에 Ubuntu 설치 완료
[ ] 시스템 업데이트 및 기본 도구 설치
[ ] zsh + Oh My Zsh 설치
[ ] Powerlevel10k 테마 적용
[ ] zsh-autosuggestions 플러그인 설치
[ ] zsh-syntax-highlighting 플러그인 설치
[ ] Nerd Font (MesloLGS NF) 설치
[ ] 터미널 색상 테마 적용 (Dracula 또는 원하는 테마)
[ ] 나만의 alias 3개 이상 만들기
[ ] dotfiles를 GitHub에 백업
최종 확인 명령어:
echo "================================"
echo " 내 터미널 환경 완성도 체크!"
echo "================================"
echo ""
echo "쉘: $SHELL"
echo "zsh 버전: $(zsh --version)"
echo "Oh My Zsh: $(ls ~/.oh-my-zsh > /dev/null 2>&1 && echo '설치됨' || echo '미설치')"
echo "테마: $(grep '^ZSH_THEME=' ~/.zshrc)"
echo "플러그인: $(grep '^plugins=' ~/.zshrc)"
echo "Git 버전: $(git --version)"
echo "폰트: $(fc-list | grep -c 'Meslo') 개의 Meslo 폰트 설치됨"
echo "================================"
마치며¶
축하합니다! 기본적인 리눅스 개발 환경을 구축하는 방법을 배웠습니다.
처음에는 복잡해 보일 수 있지만, 한 단계씩 천천히 따라 하다 보면 어느새 멋진 터미널 환경이 완성될 거예요.
꼭 기억하세요:
- 모르는 건 검색하세요 - 구글에 에러 메시지를 그대로 복사해서 검색!
- 가상머신 스냅샷을 활용하세요 - 망가져도 되돌릴 수 있습니다
- 즐기세요 - 코딩은 재미있어야 합니다!
다음 문서에서는 리눅스 파일 시스템과 기본 명령어에 대해 알아보겠습니다. 질문이 있으면 언제든 물어보세요!