리눅스 파일 시스템
리눅스 시스템을 사용하기 위해서는 파일 시스템에 익숙해져야 한다. 윈도우즈와 같은 GUI에서는 파일과 디렉토리가 화면에서 명확하게 표시된다. 이전까지 리눅스의 쉘과 같은 명령줄 인터페이스에서는 같은 파일과 디렉토리가 존재하지만 덜 직관적으로 표시되기 때문에 현재 어떤 위치에 있는지 그리고 다른 디렉토리와 어떻게 연결되어 있는지 항상 숙지 해둬야 했다. 하지만 MS의 Visual Studio Code 같은 개발 도구가 나오면서 이전 보다는 디렉토리 구조를 파악하기가 훨씬 쉬워졌다.
용어 정리
리눅스 파일은 디렉토리에 모여 있으며, 디렉토리는 계층 구조 또는 트리 구조를 형성한다. 하나의 디렉토리는 서브디렉토리라고 불리는 다른 디렉토리를 포함할 수 있으며, 서브디렉토리는 다시 파일과 다른 서브디렉토리를 포함할 수도 있다. 이 구조는 계속해서 확장될 수 있습니다.
가장 상위 디렉토리는 루트 디렉토리이며 슬래시 (/) 문자로 표시된다.
리눅스 경로
리눅스는 파일과 디렉토리를 "이름과 슬래시" 구문을 사용하여 경로라는 형식으로 나타냅니다. 예를 들어, 다음과 같은 경로는:
/home/hong
루트 디렉토리 (/)를 나타내며, 이 디렉토리에는 "home"이라는 디렉토리가 포함되어 있고, "home" 디렉토리에는 "hong"이라는 디렉토리가 포함되어 있다.
슬래시로 시작하여 루트에서부터 하위 디렉토리까지 이어지는 모든 경로를 절대 경로라고 한다.
flowchart TD A[root] A-->B[bin] A-->C[etc] A-->D[home] A-->E[var] A-->F[usr] D-->G[hong] D-->H[sun] F-->I[bin] F-->J[lib]
상대 경로
경로는 반드시 절대 경로일 필요는 없다. 루트 이외의 다른 디렉토리에 상대적인 경로일 수도 있다. 위의 그림에는 두 개의 서로 다른 "bin" 디렉토리가 있으며, 절대 경로는 각각 "/bin"과 "/usr/bin" 이다. 단순히 "bin 디렉토리"라고만 말하면 어떤 디렉토리를 의미하는지 명확하지 않는다.
슬래시로 시작하지 않는 경로 (예: bin)를 상대 경로라고 한다. 상대 경로를 이해하려면 리눅스 파일 시스템에서 "현재 위치"를 알아야 한다. 이 위치를 현재 디렉토리 (때때로 작업 디렉토리 또는 현재 작업 디렉토리라고도 함)라고 한다. 모든 쉘은 현재 디렉토리를 가지고 있으며, 이 쉘에서 실행하는 명령은 현재 디렉토리에 상대적으로 작동한다.
예를 들어, 쉘이 "/usr" 디렉토리에 "있다"면 상대 경로 "bin"은 "/usr/bin"을 의미한다. 일반적으로 현재 디렉토리가 "/one/two/three"이고 상대 경로가 "a/b/c"라면 절대 경로는 "/one/two/three/a/b/c"를 의미한다.
두 개의 특별한 상대 경로는 "." (점 하나 또는 "도트")과 ".." (점 두 개 또는 "도트 도트") 이다. "."은 쉘의 현재 디렉토리를 의미하고, ".."은 한 레벨 위의 부모 디렉토리를 의미한다. 따라서 쉘의 현재 디렉토리가 "/one/two/three" 이라면 "."은 이 디렉토리를 나타내고 ".."은 "/one/two"를 나타낸다.
cd 명령어
한 디렉토리에서 다른 디렉토리로 이동하려면 쉘의 현재 디렉토리를 변경하는 cd 명령어를 사용한다.
→ cd /usr/local/bin
위의 cd 명령어는 절대 경로를 사용했습니다. 상대 경로를 사용하여 이동할 수도 있다.
→ cd d // 현재 디렉토리의 하위 디렉토리 d로 이동
→ cd
문서 참조
https://www.oreilly.com/library/view/linux-pocket-guide/9781098157951
'Linux' 카테고리의 다른 글
Linux 파일 시스템 #2 (0) | 2024.07.18 |
---|---|
Linux의 Bash에 대하여 (0) | 2024.07.17 |
Linux 사용자 (0) | 2024.07.16 |
Linux 명령 구조 (0) | 2024.07.15 |
Linux란 무엇인가? (0) | 2024.07.14 |