728x90
리눅스는 계층적인 파일 구조를 가지고 있습니다. 가장 위에 있는 디렉토리인 (/) 루트 디렉토리를 기준으로 그 아래에 /bin, /usr, /etc, /home 등의 하위 디렉토리를 가지고 있습니다.
다양한 구조가 존재하는데 cd /를 눌러 루트 디렉토리로 이동한 뒤 tree
명령어를 실행하면 위 사진과 같은 구조를 터미널에서 확인할 수 있습니다.
# 출처: 모두의 리눅스, 미야케 히데아키, 오스미 유스케, 옮김: 이동규, 출판사: 길벗
1. /bin (Binary)
일반 사용자 및 관리자가 사용하는 명령어의 실행 파일이 배치되어 있는 디렉터리입니다.
(/bin은 특히 시스템과 관련된 중요도가 높은 명령어를 포함하고 있습니다)
2. /dev (devices)
디바이스 파일이 배치되어 있는 디렉토리입니다.
디바이스 파일이란 디스크나 키보드 등 하드웨어를 다루기 위한 특수 파일입니다.
3. /etc
리눅스에서 돌아가는 다양한 애플리케이션의 설정 파일이 /etc 아래에 배치됩니다.
애플리케이션 뿐만 아니라 리눅스 자체의 설정 파일도 이곳에 있습니다.
따라서 리눅스를 운영하고 관리할 때 무척 중요한 디렉토리입니다.
4. /home
사용자별로 할당되는 홈 디렉토리가 배치되는 디렉토리입니다. 홈 디렉토리란 사용자별로 할당되는 개인용 디렉토리를 말합니다.
사용자 이름이 디렉토리 이름으로 사용됩니다. 예를 들어 사용자 이름이 idk라면 사용자의 홈 디렉토리는 /home/idk가 됩니다.
5. /sbin (System Binary)
/bin과 비슷하게 실행 파일을 포함하는 디렉토리입니다. 그런데 이 디렉토리에는 관리자용 명령어가 포함되어 있습니다.
* /bin과의 차이점은 /bin은 모든 사용자가 사용 가능한 기본 명령어를 담고 있고,
/sbin은 시스템관리자와 같은 특정 권한을 가진 명령어를 가집니다.
6. /tmp
임시 파일이 들어있는 디렉토리입니다. 애플리케이션 실행 중 임시로 작업 결과를 파일로 보존할 때 보통 이 디렉토리에 저장합니다.
정기적으로 이 디렉토리 안의 파일을 삭제하도록 설정된 배포판도 있으므로 중요한 파일을 /tmp에 보관하면 안됩니다.
7. /usr (Unix System Resources)
설치한 애플리케이션의 실행 파일, 문서, 라이브러리 등이 이 디렉토리에 포함됩니다.
/usr 아래에는 bin, sbin, etc 등이 있어 루트 디렉토리와 구조가 비슷합니다.
8. /var (variable)
변화하는 데이터를 저장하기 위한 디렉토리입니다. 애플리케이션 실행 중에 만들어진 데이터나 로그, 메일 등이 이곳에 저장됩니다.
9. /opt (optional)
시스템의 기본 설치 위치가 아닌 선택적으로 설치된 소프트웨어가 위치하는 공간
* 7번 /usr 디렉토리에는 아래 서브 디렉토리들이 존재합니다.
1. /usr/bin (User Binaries)
시스템의 정상적인 동작에 필요한 기본 명령어들이 여기에 있습니다.
2. /usr/sbin (System Binaries)
'/sbin'과 유사하지만, 시스템 관리자를 위한 명령어들이 아닌, 사용자와 시스템 모두를 위한 명령어들이 여기에 있습니다.
3. /usr/lib (User Libraries)
소프트웨어 패키지들이 사용하는 라이브러리 파일들이 여기에 위치합니다.
4. /usr/include (C Header Files)
C 프로그래밍 언어의 헤더 파일들이 여기에 위치합니다.
5. /usr/local (Local hierarchy)
관리자가 시스템 패키지 관리자를 통하지 않고 직접 설치한 소프트웨어가 여기에 설치됩니다.
다양한 디렉토리가 존재하는데 내가 찾고자하는 파일이 어느 위치에 저장되어 있는지 확인하고 싶을 때가 있습니다.
그럴때 사용할 수 있는 명령어 2가지가 있는데 which
와 whereis
입니다.
which python
>>> /opt/homebrew/bin/python3
whereis python
>>> python3: /usr/bin/python3
경로가 다른 이유는 맥북을 사용하는데 맥에는 기본적으로 파이썬이 설치되서 나오기 때문에 /usr에 있는 python3은 기본 설치된 파이썬이고 /opt/homebrew/에 설치된 파이썬은 제가 따로 설치한 파이썬입니다.
ganghyeong-geun@Kang-HyeongGeun-ui-MacBookPro 코딩연습용 % /usr/bin/python3 --version
>>> Python 3.9.6
ganghyeong-geun@Kang-HyeongGeun-ui-MacBookPro 코딩연습용 % /opt/homebrew/bin/python3 --version
>>> Python 3.11.6
다음엔 리눅스에서 사용하는 명령어들에 대해 포스팅 하겠습니다.
728x90
'[Cloud] > [Linux]' 카테고리의 다른 글
[Linux] cd permission denied (0) | 2024.04.05 |
---|---|
[WSL] 윈도우 wsl과 vscode 연동하기 (0) | 2024.03.06 |
[WSL] 윈도우11에 wsl2 설치하고 환경설정 완료하기 (0) | 2024.03.06 |
[Linux] 쉘 스크립트란? (0) | 2024.01.14 |
유닉스 명령어, 명령 사용법 - Unix / Linux (0) | 2022.03.19 |