파일 가리키는 두 방법
절대 경로 는 root 부터 시작: /Users/me/projects/foo.txt. 어디 있든 같은 파일을 의미해. 상대 경로 는 현재 working directory 기준: projects/foo.txt = '내가 지금 있는 위치 아래의 projects/foo.txt'.
네비게이션 특수 토큰
.— 현재 디렉터리..— 부모~— 홈~user— 그 사용자 홈-(cd전용) — 직전 디렉터리
조합: cd ../../sibling-project, cp ./local.txt ~/backups/.
언제 어느 쪽?
cron / CI 에서 도는 스크립트는 항상 절대 경로 — working directory 가 뭘지 모르니까. 인터랙티브 shell 작업은 상대 경로가 빠르고 자연스러워. 스크립트 맨 위 shebang 은 무조건 절대 (#!/usr/bin/env bash) — kernel 은 'current directory' 라는 개념 자체가 없어.
경로 해석
realpath foo.txt 가 상대 경로를 절대로 바꾸고 symlink 풀어줘. readlink -f 도 비슷 (Linux). macOS 는 coreutils 를 brew 로 깔거나 BSD 식 cd "$(dirname foo.txt)" && pwd -P.