리눅스 디렉터리(Linux Directory) 구조와 이론에 대하여 – 2편 (/dev, /etc, /home, /lib)

리눅스 디렉터리(Linux Directory) 구조와 이론 2편입니다.

1편 (/, /bin, /sbi /boot)에 대한 정보는 링크 참고 부탁 드립니다.


오늘 알아볼 디렉터리 4개는 /dev, /etc, /home, /lib 입니다.

DirectoryDescription
/루트 directory, 파일 시스템의 최상위 directory.
/bin필수 시스템 바이너리.
/boot시스템 부팅에 필요한 파일.
/dev하드웨어 장치를 나타내는 장치 파일.
/etc시스템 전체 구성 파일.
/home일반 사용자를 위한 홈 directory.
/lib시스템 바이너리 및 커널에 필요한 라이브러리.
/media이동식 미디어(예: USB 드라이브)의 마운트 지점
/mnt임시로 마운트된 파일 시스템의 마운트 지점
/opt선택적 소프트웨어 패키지. (예:tomcat ~~)
/proc프로세스에 대한 정보를 포함하는 가상 파일 시스템.
/root루트 사용자의 홈 directory입니다.
/sbin시스템 관리를 위한 시스템 바이너리.
/srv시스템에서 제공하는 서비스에 대한 데이터입니다.
/tmp임시 파일(재부팅 시 지워짐).
/usr사용자 관련 프로그램, 라이브러리 및 데이터.
/var로그, 데이터베이스 및 스풀 파일과 같은 가변 데이터.

/dev 디렉터리

  • 리눅스 시스템에서 하드웨어 장치와 관련된 파일들이 위치하는 디렉터리입니다.
  • 각 하드웨어 장치는 파일 형태로 다루어지며, 이 파일들을 통해 실제 하드웨어를 제어하거나 정보를 확인할 수 있습니다.

/dev 디렉토리에는 다음과 같은 파일들이 위치합니다.

/dev/null

읽기 작업은 항상 성공하며, 쓰기 작업은 아무런 효과가 없습니다.

이를 통해 출력을 무시하거나 여러 출력을 저장할 수 있습니다.

/dev/zero

읽기 작업은 무조건 0을 반환하며, 쓰기 작업은 비어있는 디스크 영역에 0을 쓰는 작업을 수행합니다.

/dev/random 및 /dev/urandom

리눅스 시스템에서 난수를 생성하는 디바이스 파일입니다.

/dev/random은 클라이언트로부터 엔트로피 값을 수집하여 그 값으로부터 안전한 난수를 생성합니다.

/dev/urandom은 의사 난수 생성 알고리즘을 기반으로 안전한 난수를 생성합니다.

/dev/tty

현재 셸에 접근하는 파일입니다. 이를 통해 셸과 관련된 작업을 수행할 수 있습니다.

/dev/sda 또는 sdb

읽기 또는 쓰기 가능한 하드 디스크 파일입니다. 각 파일은 하드 디스크의 파티션을 나타냅니다.

/dev/pts

가상 터미널(pty)을 통해 생성된 실제 터미널 디바이스 파일입니다.


/etc 디렉터리

  • 리눅스 시스템에서 대부분의 설정 파일들이 위치하는 디렉터리입니다.
  • 다양한 프로그램과 서비스의 설정 파일들을 포함하며, 이 파일들을 직접 편집하여 시스템 동작을 변경할 수 있습니다.

/etc/passwd

사용자 계정 정보를 저장합니다.

/etc/group

사용자 그룹 정보를 저장합니다.

/etc/fstab

파일 시스템 장치 및 마운트 포인트에 대한 정보를 지정합니다.

/etc/hosts

호스트 이름과 IP 주소의 매핑 정보를 저장합니다./etc/resolv.conf: DNS 이름 서버 정보를 저장합니다.

/etc/network/interfaces

네트워크 인터페이스 설정을 저장합니다.

/etc/sudoers

sudo 권한에 대한 구성 정보를 제공합니다.

/etc/sysconfig

시스템 구성 설정 정보를 저장합니다.


/home 디렉터리

  • 리눅스 시스템에서 사용자들의 홈 디렉터리가 위치하는 디렉터리입니다.
  • 시스템에 등록된 사용자마다 하나씩의 디렉터리가 생성되며, 이 디렉터리 안에서 사용자가 작업하는 파일들을 관리합니다.
  • Desktop: 사용자의 데스크톱에 표시되는 바로 가기 아이콘 및 파일이 저장되는 디렉터리입니다.
  • Documents: 사용자의 문서 파일이 저장되는 디렉터리입니다.
  • Downloads: 사용자가 다운로드한 파일이 저장되는 디렉터리입니다.
  • Music: 사용자의 음악 파일이 저장되는 디렉터리입니다.
  • Pictures: 사용자의 그림 파일이 저장되는 디렉터리입니다.
  • Videos: 사용자의 비디오 파일이 저장되는 디렉터리입니다.
  • .bashrc: Bash 셸의 설정 정보가 저장되는 파일입니다.
  • .bash_history: 사용자가 사용한 Bash 셸 명령어의 기록이 저장되는 파일입니다.
  • .ssh: SSH 키 및 설정 파일이 저장되는 디렉터리입니다.
  • .config: 사용자별 설정 파일이 저장되는 디렉터리입니다.
  • .local: 사용자 홈 디렉터리 내에 설치된 로컬 응용 프로그램 및 설정 파일이 저장되는 디렉터리입니다.

/lib 디렉터리

  • 리눅스 시스템에서 필요한 라이브러리 파일들이 위치하는 디렉터리입니다.
  • 다른 프로그램에서 사용될 수 있는 공통 라이브러리 파일들이 여기에 위치하며, 시스템 전반에서 필요한 라이브러리 파일을 저장합니다.
  1. 공유 라이브러리 (Shared Libraries): 이들은 여러 개의 애플리케이션에서 동시에 사용할 수 있는 프로그램 코드의 집합입니다. 공유 라이브러리를 사용함으로써 시스템 리소스를 절약할 수 있고, 개별 프로그램의 크기를 줄일 수 있습니다. 공유 라이브러리 파일은 주로 .so (Shared Object) 확장자를 가집니다.
  2. 커널 모듈 (Kernel Modules): 이들은 시스템 구동 중에 필요한 경우 동적으로 커널에 추가되거나 제거되는 확장 코드입니다. 보통 드라이버 및 하드웨어 지원을 위해 사용되며, 이를 통해 커널이 실행 중인 상태에서도 기능을 동적으로 확장하거나 축소할 수 있게 됩니다.

By Low ahn

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다