LINUX(리눅스)

리눅스 파일 시스템의 구조

코드라니(CODERANY) 2024. 11. 25. 10:14

리눅스 파일 시스템은 데이터를 저장하고 관리하는 구조입니다. 

 

이 글의 목차

  • 리눅스 파일 시스템의 개요
  • 파일 시스템 권한
  • 주요 디렉터리의 역할

리눅스 파일 시스템 개요

데이터를 효율적으로 저장하고 관리하기 위해 계층 구조 사용

트리 구조로 이루어져 있음

최상위 디렉터리인 루트(`/`)에서 시작하여 서브디렉터리로 분리됨

사용자와 프로그램이 파일을 쉽게 찾고 접근할 수 있도록 도와줌

리눅스에서 사용되는 주요 파일 시스템 유형은 ext4, XFS, Btrfs, FAT32, NTFS 등이 있음

각 파일 시스템은 특정한 기능과 성능 특성을 가지고 있고 사용자의 요구에 맞게 선택할 수 있음.

예를 들어, ext4는 안정성과 성능이 뛰어나며, Btrfs는 스냅샷 및 RAID 기능을 제공함.

리눅스 파일 시스템의 특징

1.모든 것이 파일

- 리눅스에서는 디바이스(하드 드라이브, USB, 프린터 등)와 프로세스(실행 파일)도 파일로 취급
- 일관된 인터페이스를 제공하여 사용자가 리소스를 쉽게 관리할 수 있도록 합니다.

2. 계층적 구조

- 리눅스 파일 시스템은 계층적 구조를 가지고 있음.
- 모든 파일과 디렉터리는 루트 디렉터리에서 시작하여 하위 디렉터리로 분리됨

3. 다양한 파일 시스템 지원

- 여러 종류의 파일 시스템을 지원하여 유연한 데이터 저장 방식을 제공

 



주요 디렉터리의 역할
리눅스 파일 시스템의 각 디렉터리는 특정한 역할을 가지고 있음. 

1. `/` (루트 디렉터리)
루트 디렉터리는 모든 파일과 디렉터리의 최상위 디렉터리

이 디렉터리 아래에는 모든 서브디렉터리가 존재하며, 시스템의 기본 구조를 형성합니다.

2. `/bin`
`/bin` 디렉터리는 기본적인 사용자 명령어와 실행 파일이 위치힘

시스템 부팅 시나 긴급 상황에서도 사용될 수 있음

3. `/sbin`
`/sbin` 디렉터리는 시스템 관리와 관련된 명령어 저장

일반 사용자보다 관리자(루트 사용자)가 주로 사용


4. `/etc`
`/etc` 디렉터리는 시스템 설정 파일 저장

사용자 계정 정보, 네트워크 설정, 서비스 설정 파일 등이 포함

5. `/dev`
`/dev` 디렉터리는 디바이스 파일이 위치하는 곳

하드 드라이브, USB 장치, 프린터 등과 같은 하드웨어 장치가 파일 형태로 나타남

6. `/proc`
`/proc` 디렉터리는 가상 파일 시스템으로, 현재 실행 중인 프로세스와 시스템 정보를 실시간으로 제공

이곳의 파일은 커널이 생성하며, 시스템의 상태를 모니터링하는 데 유용

7. `/var`
`/var` 디렉터리는 가변 데이터가 저장되는 곳

로그 파일, 메일 스풀, 캐시 파일 등이 포함

8. `/home`
`/home` 디렉터리는 사용자 개인 데이터를 저장

각 사용자는 자신의 홈 디렉터리를 가지고 있으며, 일반적으로 `/home/username`의 형태

9. `/tmp`
`/tmp` 디렉터리는 임시 파일이 저장되는 곳

시스템이나 프로그램에서 필요할 때 임시로 파일을 저장하고, 사용이 끝나면 삭제

10. `/lib`
`/lib` 디렉터리는 시스템의 기본 라이브러리 파일이 저장

'/bin` 및 `/sbin`에 있는 프로그램들이 실행될 때 필요


파일 시스템 권한
리눅스는 파일 및 디렉터리에 대해 세 가지 기본 권한을 제공: 읽기(read), 쓰기(write), 실행(execute).

이러한 권한은 파일 소유자, 그룹, 기타 사용자에게 부여됨.

 

1. 권한 종류
- 읽기 (r): 파일의 내용을 읽을 수 있는 권한. 디렉터리의 경우, 디렉터리 내의 파일 목록을 볼 수 있음.
- 쓰기 (w): 파일의 내용을 수정할 수 있는 권한. 디렉터리의 경우, 디렉터리에 파일을 추가하거나 삭제할 수 있음.
- 실행 (x): 파일을 실행할 수 있는 권한. 디렉터리의 경우, 해당 디렉터리에 접근할 수 있음.

 

2. 권한 표시
파일이나 디렉터리의 권한은 다음과 같은 형식으로 표시됨.

-rwxr-xr--

 

- 첫 번째 문자: 파일 유형. `-`는 일반 파일, `d`는 디렉터.
- 2~4번 문자: 소유자의 권한을 의미.  `rwx`는 읽기, 쓰기, 실행 권한을 가진 것을 의미.
- 5~7번 문자: 그룹의 권한을 의미. `r-x`는 읽기와 실행 권한을 가진 것을 의미.
- 8~10번 문자: 기타 사용자의 권한을 의미. `r--`는 읽기 권한만 있음을 의미.

 

3. 권한 변경
`chmod` 명령어를 사용하여 파일, 디렉터리의 권한을 변경할 수 있음.

- 숫자 방식:

  chmod 755 filename  # 소유자에게 모든 권한, 그룹 및 기타 사용자에게 읽기 및 실행 권한 부여

 

 

- 기호 방식:

  chmod u+x filename  # 소유자에게 실행 권한 추가

 

4. 소유자 및 그룹 변경

chown user:group filename  # 파일의 소유자를 user로, 그룹을 group으로 변경

 

 

'LINUX(리눅스)' 카테고리의 다른 글

리눅스 사용자 권한 관리  (0) 2024.11.26
리눅스 기본 명령어  (0) 2024.11.24
리눅스 설치  (1) 2024.11.24
리눅스 소개  (1) 2024.11.24
리눅스 프로그램 목차  (0) 2024.11.24