1. 리눅스 초기 설정 & 환경변수
1️⃣ 전체 실행 흐름
1) 전체 실행 흐름
로그인 쉘 (login shell) → /etc/environment → /etc/profile → ~/.profile (또는 ~/.bash_profile) → ~/.bashrc (profile에서 호출됨) 비로그인 쉘 (터미널) → ~/.bashrc
~/ : 현재 로그인한 사용자의 ‘홈 디렉터리(Home Directory)’📌 추가 핵심 (⭐ 중요)
~/.bash_profile,~/.profile,~/.bash_login중 하나만 실행됨
- 우선순위
.bash_profile > .bash_login > .profile- ⚠️
.bash_profile있으면.profile읽지 않음
2️⃣ profile 계열 (로그인 시)
1) 종류 구분 (추가 핵심)
파일 | 설명 |
/etc/profile | 모든 사용자 공통 |
~/.profile | 개인 설정 |
~/.bash_profile | bash 전용 로그인 설정 |
2) ⭕ 여기에 넣는 것
- PATH
- JAVA_HOME 같은 환경변수
- 로그인 시 1회만 필요한 설정
3) ❌ 넣으면 안 되는 것
- alias ❌
- 매번 실행되는 로직 ❌
3️⃣ bashrc (터미널 핵심 파일)
1) ⭕ 여기에 넣는 것
- alias
- 함수
- 프롬프트 (PS1)
- 개발 편의 설정
📌 추가 핵심 (시험 자주 나옴)
🔹 bashrc는 자동 실행 안 되는 경우 있음
- ssh(원격 접속) / su(사용자 전환) 상황
➡️ 해결 방법
source ~/.bashrc🔹 다른 사용자로 전환 차이
su user # bashrc 안 읽을 수도 있음
su - user # 로그인처럼 동작 → profile부터 읽음 (⭐ 중요)⚠️
su - 는 로그인 쉘4️⃣ 환경변수
1) 변수의 종류
종류 | 설명 |
지역변수 | 현재 쉘에서만 |
환경변수 | 자식 프로세스까지 전달 |
2) 명령어
- 변수 생성
VAR=hello # 지역변수
export VAR=hello # 환경변수 (⭐ 중요)⚠️
export 해야 다른 프로그램에서도 사용 가능- 변수 확인
env # 환경변수만
set # 전체 변수
echo $VAR # 특정 변수- 변수 삭제
unset VAR5️⃣ PATH
1) PATH 의미
- 명령어 찾는 경로 목록
2) 동작 방식 (시험 핵심)
PATH=/bin:/usr/bin:/usr/local/bin
- 실행 순서 : 왼쪽부터 탐색
3) PATH 추가
⭕ 올바른 방법
export PATH=$PATH:/new/path- 기존 유지 + 추가
❌ 위험한 방법
PATH=/new/path # 기존 경로 날아감6️⃣ source vs 실행 (중요 개념 추가)
1) 차이점
방식 | 설명 |
./script.sh | 새로운 쉘 |
source script.sh | 현재 쉘 |
⚠️ 환경변수 적용하려면 반드시
source7️⃣ alias vs function (추가 중요)
1) alias
alias ll='ls -al'- 단순 치환
2) function (더 강력)
mycmd() {
ls -al
}- 인자 처리 가능
8️⃣ 로그인 쉘 vs 비로그인 쉘
구분 | 설명 |
로그인 쉘 | 최초 접속 |
비로그인 쉘 | 터미널 실행 |
- 확인 방법
echo $09️⃣ /etc 관련 파일 (빠지면 안 되는 핵심)
1) /etc/profile
- 전체 사용자 적용
2) /etc/bash.bashrc (Ubuntu 계열)
- 모든 사용자 bashrc
⚠️ 공통 설정은 여기
🔟 그림으로 이해하기

Share article