본문 바로가기
카테고리 없음

[Linux] 리눅스 구성 & 파일 종류와 디렉토리 구조

by 떵해이 2020. 10. 28.
300x250

○ 리눅스 파일의 종류

  ▷ 일반 파일 (-)

 

     - 일반 파일은 데이터를 저장하는데 주로 사용

     - 각종 텍스트 파일, 실행파일, 이미지 파일 등 리눅스에서 사용하는 대부분의 파일은 일반 파일입니다.

     - 실행 또는 이미지 파일 같은 경우 데이터가 바이너리 형태로 저장되어 바이너리 파일이라고도 합니다.

     - 실행 파일 or 이미지 파일의 경우 데이터가 바이너리(이진) 형태로 저장되어 있기 때문에

       텍스트 파일 읽을 때 처럼 vi나 cat 명령어로 사용할 수 없습니다.

 

예시 한번씩 확인해보시면 좋을거 같습니다.

아래 화면처럼 제가 2개의 표본을 들고왔습니다. /bin 파일안에 있는 mount, yum입니다.

둘 다 '-'로 일반 파일 형태 입니다. 둘 다 명령어로 사용하는 일반 파일입니다.

 

mount는 붉은 색을 띄고 있습니다. 바이너리(이진) 파일로 있는 것입니다.

확인 방법은 # file mount 명령어를 통해 가능합니다.

그래서 mount는 파일을 cat이나 vi명령어로 실행이 불가능합니다.

 

그러나 yum도 실행파일이지만 스크립트 형태로 있다가 쉘이 해석하면서 바이너리(이진)형태로

변환하여 명령어가 실행되는 것입니다.

그래서 yum은 cat이나 vi명령어를 사용하면 파일을 읽을 수 있습니다.

 

# file yum 명령어를 통해 yum도 파일 형태를 확인해봅니다.

ASCII 문자로 되어있는 텍스트 파일이라는 것입니다.

 

 

  ▷ 디렉토리 (d)

 

     - 리눅스에서 디렉토리도 파일입니다.

     - 디렉토리는 쉽게 말하면 폴더 입니다.

     - 디렉토리에 저장된 파일 또는 하위 디렉토리에 대한 정보가 저장됩니다.

 

 

  ▷ 링크 파일 (l) (소프트 링크, 하드링크)

 

     - 원본 파일을 대신해서 원본 파일을 다른 파일이름으로 지정한 것입니다. 바로가기 폴더랑 비슷하다.

 

예시 한번씩 확인해보시면 좋을거 같습니다.

아래 화면처럼 l(링크 파일)입니다. 

다른 글에서 자세히 다루겠지만 l로 표기되는 것은 소프트 링크(=심볼릭 링크)만 표시됩니다.

하드 링크는 표시가 l로 표시되지 않습니다.

 

 

  ▷ 특수 파일 (블록형 장치 파일(b), 문자형(c), 파이프(p), 소켓(s))

     - 리눅스에서는 하드디스크 같은 장치들도 파일로 취급합니다.

     - 각종 장치를 관리하기 위해 시스템 관리자는 해당 장치 파일로 접근해야 합니다.

     - 장치파일은 /dev 디렉토리 아래에 있습니다. 

 

예시 한번씩 확인해보시면 좋을거 같습니다.

 

b → 디스크 파일    /dev/sda

c → 입출력 콘설 파일    /dev/console

p → 파이프 파일    /run/systemd/initctl/fifo

s → 소켓 파일    /dev/log

 

리눅스 디렉토리 구조

  리눅스는 전체 파일을 용도에 따라 계층 디렉토리로 구분하여 관리하며 이것을 파일 시스템이라고 합니다.

 

아래 그림과 같은 형식으로 구조가 만들어져 있다. (아래 내용은 간소하게 만들었습니다.)

  ▷ 주요 디렉토리의 기능들 (몇 가지만 예시 겸 소개)

 

     - /(루트) 최상위 디렉토리, 모든 디렉토리의 시작점이고 절대경로 표기할 때 이 디렉토리를 먼저 표시해야 한다.

     - /bin 바이너리를 저장하는 디렉토리, 기본 명령어들이 저장된 디렉토리

     - /etc 리눅스설정을 위한 각종 파일들이 있는 디렉토리

     - /dev 여러가지 장치 파일들이 저장되어 있는 디렉토리

     - /var 시스템 사용 중에 발생한 데이터, 로그가 저장되는 디렉토리

     - /home 사용자 홈 디렉토리

     - /usr 일반 사용자들이 사용하는 프로그램과 데이터들이 존재하는 디렉토리

 

자세한 건  it-serial.tistory.com/42 참조하시길 바랍니다.

 

이 외에도 많은 디렉토리들이 존재한다.

 

 

리눅스 사용 구조

  리눅스는 터미널이라는 것이 존재한다.

    터미널은 윈도우 CMD창과 비슷한 존재이다. 많이 친해지고 능숙해져야 한다.

 

  ▷ 터미널에서 리눅스 명령 기본 구조

     # 명령어 [옵션] [타켓(보통은 파일명,디렉토리명)]

 

 

명령어 관련 Tip

# man 명령어 이렇게 입력하면 해당 명령어를 설명해줍니다.

 

예를들어, # man ls 명령어를 입력하면 ls 명령어에 대한 설명 출력을 해준다.

설명을 그만 보고 싶으면 # q누르면 나가집니다.

 

 

  리눅스 구조

     - 리눅스 구조는 크게 3가지로 나누어져있다. ( 커널, 쉘, 응용프로그램 )

     - 커널(Kernel) 프로그램의 실행과정에서 가장 핵심적인 연산이 이루어지는 부분

                       하드웨어를 직접 제어, 프로세스 관리, 메모리 관리, 파일시스템 관리 등을 수행

                       응용프로그램과 하드웨어 사이의 관리자 역할하면서 쉘에서 명령하는 작업도 수행

 

     - 쉘(Shell) 운영체제에서 사용자가 입력하는 명령을 해석해서 커널에 전달, 실행해주는 프로그램

                   커널에게 명령어를 찾아서 작업 요청하고 그 결과를 쉘로 받아 사용자에게 알려주는 형식

   

     - 응용프로그램(Application) 각종 프로그래밍 개발도구, 문서 편집도구, 네트워크 관련 도구 등 전부 응용프로그램

                                          Editor, X윈도우, 웹서버, DB 등

 

반응형

댓글