inblog logo
|
DailyCoding
    Linux

    2. 리눅스 실행 흐름 및 환경 변수

    박은서's avatar
    박은서
    Apr 09, 2026
    2. 리눅스 실행 흐름 및 환경 변수
    Contents
    1. 리눅스 초기 설정 & 환경변수1️⃣ 전체 실행 흐름2️⃣ profile 계열 (로그인 시)3️⃣ bashrc (터미널 핵심 파일)4️⃣ 환경변수5️⃣ PATH6️⃣ source vs 실행 (중요 개념 추가)7️⃣ alias vs function (추가 중요)8️⃣ 로그인 쉘 vs 비로그인 쉘9️⃣ /etc 관련 파일 (빠지면 안 되는 핵심)🔟 그림으로 이해하기

    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 VAR

    5️⃣ 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
    현재 쉘
    ⚠️ 환경변수 적용하려면 반드시 source

    7️⃣ alias vs function (추가 중요)

    1) alias

    alias ll='ls -al'
    • 단순 치환

    2) function (더 강력)

    mycmd() { ls -al }
    • 인자 처리 가능

    8️⃣ 로그인 쉘 vs 비로그인 쉘

    구분
    설명
    로그인 쉘
    최초 접속
    비로그인 쉘
    터미널 실행
    • 확인 방법
      • echo $0

    9️⃣ /etc 관련 파일 (빠지면 안 되는 핵심)

    1) /etc/profile

    • 전체 사용자 적용

    2) /etc/bash.bashrc (Ubuntu 계열)

    • 모든 사용자 bashrc
    ⚠️ 공통 설정은 여기

    🔟 그림으로 이해하기

    notion image
    Share article
    Contents
    1. 리눅스 초기 설정 & 환경변수1️⃣ 전체 실행 흐름2️⃣ profile 계열 (로그인 시)3️⃣ bashrc (터미널 핵심 파일)4️⃣ 환경변수5️⃣ PATH6️⃣ source vs 실행 (중요 개념 추가)7️⃣ alias vs function (추가 중요)8️⃣ 로그인 쉘 vs 비로그인 쉘9️⃣ /etc 관련 파일 (빠지면 안 되는 핵심)🔟 그림으로 이해하기

    DailyCoding

    RSS·Powered by Inblog