Embedded : : Linux/: : Linux

리눅스(Linux)의 디렉터리(Directory)

Jay.P Morgan 2023. 11. 9. 23:53

  리눅스에서는 모든 것을 파일로 다룬다.

 

먼저, 데이터(ex. 문서, 이미지, 영상, 프로그램 등)들이 파일로 보존된다.

또한, 리눅스에서는 디렉터리도 파일의 한 종류로 다루며, 심지어 시스템을 구성하는 장치들(ex. HDD, 키보드, 프린터 등) 조차도 파일로 취급한다.

 

  리눅스에서의 파일 종류

리눅스에서는 파일을 일반 파일과 특수 파일, 그리고 디렉터리로 구분한다.

 

  일반 파일

  텍스트파일, 실행 파일 등 텍스트나 바이너리 형태의 데이터를 저장하고 있는 파일

 

  장치 파일

  장치를 구동하는데 사용되며, 장치 관련 특수 파일을 다른 파일과 구분하여 장치 파일(device file)이라고도 한다.

 

디렉터리는 해당 디렉터리에 속한 파일을 관리하는 특별한 파일이다.

 

 

  파일의 구성

 

리눅스에서의 파일은 파일명, inode, 데이터 블록(data block)으로 구성된다.

    1. 파일명 : User가 파일에 접근할 때 사용

    2. inode : 외부에는 번호로 표시. 파일의 소유자, 크기 등의 정보와 실제 데이터를 저장하고 있는 데이터 블록의 주소들이 저장

    3. 데이터 블록 : 실제로 데이터가 저장되는 하드디스크의 공간

 

 

 

  리눅스의 주요 디렉터리

    📂 /

                  📂 bin

                  📂 dev

                  📂 etc

                  📂 home

                                  📂 miyake

                                  📂 osumi

                  📂 sbin

                  📂 tmp

                  📂 usr

                                  📂 bin

                                  📂 lib

                                  📂 local

                  📂 var

 

  맨 위에 있는 ' / ' 디렉터리를 루트 디렉터리라 한다. 모든 파일과 디렉터리의 부모를 찾아 올라가면 루트 디렉터리에 다다르게 된다. (단 하나의 조상) 루트 디렉터리 아래에 디렉터리와 파일이 있는 계층 구조를 트리 또는 디렉터리 트리라고 한다.

 

 

  Windows와의 차이   

 

  윈도우에서는 물리 디스크가 2개가 있다면 디렉터리 트리도 2개이다. 하지만, 리눅스에서는 늘 항상 언제나 시스템 전체에 단 하나의 트리만 가지게 된다.

  리눅스에서는 디스크가 여러 개 있을 때 루트 디렉터리의 어딘가에 해당 디스크의 디렉터리가 연결(마운트)된다.

 

 

  각 디렉터리의 역할

리눅스의 디렉터리 구조는 FHS(Filesystem Hierarchy Standard)라는 표준 사양을 따른다.

 

  📂 /bin

    일반 사용자 및 관리자가 사용하는 명령어의 실행 파일이 배치되어있다. (특히 시스템과 관련된 중요한 명령어를 포함)

 

  📂 /dev

    디바이스 파일이 배치되어있는 디렉터리이다. (디바이스 파일 : Disk나 키보드 등 하드웨어를 다루기 위한 특수 파일)

 

  📂 /etc

    리눅스에서 실행되는 다양한 애플리케이션의 설정파일이 배치된다. 리눅스 자체의 설정 파일도 여기에 있다.

 

  📂 /home

    사용자별로 할당되는 홈 디렉터리가 배치된다.

 

  📂 /sbin

    /bin와 유사하게 실행 파일을 포함하는 디렉터리이다. 하지만 여기에는 관리자용 명령어가 포함되어 있다.

 

  📂 /tmp

    애플리케이션 실행 중 임시로 작업 결과를 파일로 저장할 때(임시 파일) 이 디렉터리에 저장한다.

    리눅스 배포판 중에는 정기적으로  📂 /tmp 디렉터리 안의 파일을 삭제하도록 설정된 것도 있으므로 주의해야 한다.

 

  📂 /usr

    설치한 애플리케이션의 실행 파일, 라이브러리, 문서 등이 포함된다. (bin, sbin, etc 등이 있어 루트 디렉터리와 구조가 유사함)

 

  📂 /var

    애플리케이션 실행 중에 만들어진 로그, 메일 등 Variable(변하는) 데이터를 저장하기 위한 디렉터리.

 

 

  현재 디렉터리

$ pwd
/home/EA

    EA 라는 사용자는 로그인 후   📂 /home/EA  경로(path)에 있다.

 

    셸에서는 파일을 다룰 때 현재 디렉터리가 기준이 되므로, 작업하기 전에 pwd로 현재 디렉터리의 위치를 확인하도록 한다.