Tom's Note
반응형
들어가기 앞서...

   우선 간단히 os에 따른 디렉토리(폴더)의 구분이 다릅니다. 윈도우폴더(folder)라 불리며 역슬래시(\)를 사용합니다. 리눅스에서는 디렉토리(diretory)라 불리며 슬래시(/)를 사용합니다.

 

   리눅스 초보자들 기준에서 디렉토리 구분이 주용한 부분입니다. 왜냐하면 초보자들은 명령어를 사용만할 뿐 어디서 어떻게 명령어가 설정되어있는지 자세히 모릅니다. 각각의 명령어들은 디렉토리별로 분리되어 용도에 맞게 저장되어있습니다. 그래서 왜 분리되어 있는지를 디렉토리 구별을 통해 아! 왜 이렇게 되어있는지를 알게 될 것입니다. 또한, 명령어 뿐만아니라 백업, os만 포맷하고 데이터를 보존하든지, 어떤 사용자에 대해서 권한을 어떻게 줄지 등등 디렉토리 구별을 통해서 분리가 되기 때문입니다. 

 

   그러니 꼭 디렉토리에 대한 학습을 하시기 바랍니다.

 

KEY POINT

1. 디렉토리

2. 정적, 동적영역

3. 완독하기!!!

 

디렉토리 (Directory)

   자! 이제 리눅스 디렉토리에 대해 알아보겠습니다.   

 

   리눅스를 설치시 다양한 디렉토리가 생성되고 트리구조로 구분됩니다. 그리고 명령어의 종류와 성격, 사용권한 등에 따라 디렉토리의 사용처가 구분됩니다. 즉, 관리자인지 사용자인지 권한이 없는 사용자 인지 등등 이죠..

리눅스 배포판들은 '리눅스 파일 시스템 표준'인 FSSTND(LINUX FILE System Standard)라는 표준을 준수하며 대부분 다양한 리눅스 배포판들은 이러한 디렉토리 구조를 가집니다. 생성된 디렉토리를 가장 먼저 구분하는 카테고리는 고정(static)영역과 동적(dynamic)영역입니다.

 

고정영역: 공유가능한 카테고리로 분류하며 다른 사용자들로부터 공유가 가능한 영역입니다.  

  • /usr/, /sbin, /opt 등 
  • 사용자들에게 권한을 할당할 때, 응용프로그램을 사용할 때

 

동적영역: 개인적인 카테고리로 분류하며 특정한 host들을 위한 파일 개인적인 영역입니다.

  •  /boot, /home, /tmp, /dev, /etc, /var 등
  • host에서의 환경설정(local), host에서 작업할 때 적용되는 설정과 log 확인

 

 

디렉토리 구조 설명

/

  • 최상위 디렉토리이며, 리눅스의 모든 디렉토리들의 시작점. 
  • 절대경로의 기준이 되는 디렉토리
  • 파티션 설정시 반드시 지정해줘야함

/bin (binary)

  • 기본적인 명령어가 저장된 디렉토리
  • ls, mv, cp 등 리눅스 설치 시 바로 사용가능한 명령어
  • root 사용자와 일반 사용자 사용가능

/boot

  • 리눅스 부트로더(Boot Loader)가 존재하는 디렉토리
  • GRUB과 같은 부트로더에 관한 파일들(grub.conf 등) 존재
  • 환경설정 파일들을 제외한 부팅에 관한 구성들이 포함

/dev (device)

  • 시스템 디바이스 파일을 저장
  • 하드디스크, CD-ROM, 마우스, 키보드 등 장치 파일들이 존재하는 디렉토리
  • /dev/sda, /dev/cdrom, /dev/null, /dev/console(모니터)
  • 참고로 HDD는 hda, SSD는 sda

/etc (etcetera)

  • 시스템의 전체 설정 파일이 존재(전체적인 환경설정)하는 디렉토리
  • 네트워크, 사용자, 파일시스템, 보안파일, 초기화파일 정보를 위한 디렉토리
  • /etc/sysconfig, /etc/passwd, /etc/named.conf 등

/home

  • 사용자 홈 디렉토리: 로그인 시 처음 위치하는 디렉토리 경로
  • 사용자를 새로 만들면 /home아래에로 사용자 아이디 명으로 디렉토리 생성됨

/lib (library)

  • 커널이 필요로하는 커널모듈파일과 C, C++등에 필요한 각종 라이브러리 파일이 존재하는 디렉토리
  • 프로그램들이 의존하고 있는 라이브러리 파일들 존재
  • 대부분의 라이브러리들은 링크로 연결되어 있음

/mnt

  • 탈부착이 가능한 장치들
  • USB 등

/opt

  • 응용프로그램이 패키지가 설치되는 디렉토리
  • 이클립스, 크롬 등

/proc (process)

  • 가상파일시스템: 실제 드라이브에 저장되는 것이 아닌 메모리 상에 저장
  • 커널에 의해서 메모리에 저장됨
  • 커널의 일부기능 제어: 하위 파일들 중 쓰기가 가능한 파일들은 커널 기능을 변경 가능케 함

/root

  • 시스템 최고 관리자인 root 사용자의 개인 홈디렉토리
  • 사용자 디렉토리와 달리 따로 분류됨

/sbin

  • 시스템 운영에 필요한 전반적인 실행 유틸리티(명령어) 포함
  • ex) 재부팅, 포맷 - ifconfig, e2fsck, ethtool, halt 등

/tmp

  • 공용디렉토리: 모든 사용자들이 공통으로 사용 가능한 디렉토리
  • 임시 파일들이 저장되는 장소(생성과 삭제가 빈번히 발생하는 파일을 담는 장소)
  • 웹 관련 파일들이 생성: 공용인 만큼 해킹에 주의

/usr

  • 일반사용자를 위한 디렉토리이며 일반사용자들을 위한 명령어들은 /usr/bin에 위치함
  • 공유된 프로그램들을 활용 가능
  • /usr는 읽기 전용으로 마운트되며, 가변 자료들이 포함된 /var 디렉토리에 심볼릭 링크를 통해 사용
  • '/'와 유사한 구조이면서 시스템 운영과 연관되며 유저에 관한 운영이게 서브 '/'라고도 볼 수 있다. 

/var

  • 가변파일들을 저장
  • 기록을 하기위한 디렉토리(log)
  • 부팅과정을 기록

 

전체적인 디렉토리를 분리와 디렉토리 하위에 있는 설정 파일들은 사용자 기준으로 벤다이어그램 형식으로 설정되어 집니다.

반응형
profile

Tom's Note

@크크크크

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!