리눅스란?리눅스의 개념리눅스의 특징리눅스의 구성쉘의 종류를 알아보자 !리눅스 파일 시스템 구조부트 블록(Boot Block)슈퍼 블록(Super Block)Inode 정보리눅스의 유형을 살펴볼까?터미널 도구는 뭐가있지?ItermPuttyMobaXtream
리눅스란?
리눅스의 개념
- 윈도우, 유닉스와 같은 운영체제의 한 종류로 컴퓨터 시스템의 하드웨어를 효율적으로 관리하기 위한 시스템 소프트웨어
- 1989년 리누스 토발즈가 유닉스를 기반으로 만들었으며 공개용 운영체제이다.
- GPL 라이센스가 적용된 운영체제로 리눅스를 설치하고 사용자가 자신의 운영체제를 수정하여 사용할 수도 있다.
리눅스의 특징
- 오픈소스 운영체제
- GPL(GNU General Public License)
- 다중 사용자 및 다중 처리 시스템
- 유연성과 확장성
- POSIX와의 호환
리눅스의 구성

- 커널이란?
- 메모리에 상주하면서 시스템을 관리하는 운영체제의 핵심
- 운영체제 응용프로그램 수행에 필요한 여러 서비스를 제공한다.
- 프로세스, 메모리, 입출력, 파일관리 등
- 쉘이란?
- 사용자가 입력한 문장을 읽어 요청을 실행하는 명령어 해석기/번역기
- 커널과 직접적으로 연결되어 있어서 명령어를 해석한 결과를 다른 프로그램 또는 커널로 전송한다.
- Bourne 쉘, C쉘, Korn쉘, Bash쉘 등 다양하다
- 리눅스의 표준 쉘은 Bash쉘이다
- zsh쉘도 많이 쓰인다.

- 파일 시스템이란?
- 파일 저장의 기본적인 구조로 시스템 관리를 위한 기본 환경을 제공한다.
- 계층적인 트리 구조 형태(디렉토리, 서브 디렉토리, 파일 등)
- 리눅스 표준 파일 시스템은 ext4
쉘의 종류를 알아보자 !
- C Shell
- 사용자의 작업 환경을 편리하게 하기 위해 .cshrc 파일에 필요한 환경변수를 저장하여 사용자가 로그인을 했을 때 저장 명령어들을 자동으로 수행한다.
- Bourne Shell
- 사용자 편의성을 위하여 profile 파일에 환경변수를 저장
- profile 은 c 쉘의 .cshrc파일과 동일한 역할을 수행한다
- Korn Shell
- .kshrc 또는 .profile 파일에 환경변수를 저장
- C쉘가 TC 쉘의 기능을 모두 제공함
- Bash Shell
- C쉘과 Kron쉘의 특징을 결합한 것으로 CNU 프로젝트에 의해 개발됨
- 리눅스에서 가장 많이 사용하는 리눅스 표준 쉘이다.
- 명령 편집 기능을 제공한다.
- TC Shell
- C쉘의 기능을 강화한 셀으로 명령 편집 기능을 제공한다.
리눅스 파일 시스템 구조
부트 블록(Boot Block)
- 리눅스 파일 시스템 구조는 부트 블록으로 시작되며 부트 블록은 컴퓨터 시스템을 부팅하기 위한 부팅에 관련된 이미지를 가지고 있다.
- 이는 리눅스 운영체제가 시작되면 제일 처음 읽음으로써 리눅스를 기동하게 된다.
- 부트 블록이 메모리에 모두 올라가면 리눅스 운영체제는 먼저 init 프로세스를 기동하게 된다.
슈퍼 블록(Super Block)
- 부트블록 다음에 실행되는 블록으로 파일 시스템의 크기, 여유 공간(빈 블록 리스트) , 파일 시스템의 이름, 디스크 이름 등의 정보를 가진다.
- 슈퍼블록이 가지고 있는 정보
- 파일 시스템의 크기, 블록 수 등 이용 가능한 블록리스트
- 빈 블록 리스트에서 그 다음의 빈 블록을 가리키는 인덱스
- inode 목록의 크기, 파일 시스템에 있는 빈 inode 수와 목록
- 빈 inode 목록의 크기, 파일 시스템에 있는 빈 inode 수와 목록
- 빈 블록과 빈 inode 목록들에 대한 lock 필드
- 슈퍼 블록들이 수정되었는지 나타내는 플래그(flag)
- 파일 시스템 이름과 파일 시스템 디스크의 이름
Inode란?
리눅스 커널이 현재 사용하는 자료구조(파일정보)를 유지하는 구조체이다. 리눅스는 파일에 접근 시 inode를 사용해 파일에 참조한다.
Inode 정보
- Inode는 파일과 관련된 정보를 가지고 있으며 파일에 Inode Number라는 일련의 숫자를 부여하여 관리한다.
- 가지고 있는 정보는 아래와 같다.
- 파일 소유자 아이디(사용자 아이디)
- 파일 소유자의 그룹 아이디
- 파일 크기
- 파일 생성 시간
- 파일 최근 사용 시간
- 파일 최근 변경 시간
- 파일 링크 수
- 접근 모드
- 데이터 블록 주소
# inode 정보 확인 ls -al

리눅스의 유형을 살펴볼까?

- 우분투(Ubuntu)
- 우분투는 데비안 GNU/리눅스에 기초한 컴퓨터 운영 체제로서 고유한 데스크탑 환경인 유니티를 사용하는 리눅스 배포판이며 4월 10월에 한번씩 업데이트가 이루어집니다. xx.04, xx.10로 나누어지며 04, 10은 발표 된 월을 xx같은 경우 는 배포된 년도를 나타내게 됩니다.
- 또하 5년의 지원 기간을 가진 LTS 버전을 짝수해 상반기에 내놓습니다.
- 페도라(Fedora)
- 페도라는 리눅스 커널에 기반한 운영 체제와 레드햇의 후원과 개발 공동체의 지원 아래 개발된 일반적인 목적을 가진 RPM기반의 리눅스 배포판이다.
- 또한 개인이나 기업 등 다양한 환경에서 사용될 수 있도록 만들어진 리눅스이다.
- 다른 리눅스 배포판에 비해 6개월 간격으로 새로운 배전이 배포되어 상대적으로 짧은 교환주기를 갖고 있으며 각 버전마다 13개월씩만 지원하므로 매우 짧다.
- 민트(Mint)
- 민트는 우분투를 기반으로 제작된 리눅스입니다. 데비안 기반의 우분투를 기반으로 해서 결국 데비안 기반이라고 말할 수 있습니다.
- 하지만 우분투 기반이라고 하는 이유는 민트중 데비안 기반의 민트도 존재하기 때문입니다. 우분투의 단점은 지원기간에 있습니다.
- 따라서 우분투 기반의 민트도 우분투와 같은 지원기간을 갖게 됩니다. LT버전 기반이면 5년 일반버전이면 9개월의 지원기간을 갖습니다. 하지만 데비안 기반의 리눅스 민트는 특별히 버전의 차별을 두지 않고 업데이트팩을 배포함으로써 항상 최신의 리눅스를 사용할 수 있습니다.
- 데비안(Debian)
- 데비안 리눅스는 GNU의 공식적인 후원을 받는 유일한 배포판으로 패키지 설치 및 업그레이드가 단순합니다.
- 데비안이라는 이름은 데비안 프로젝트의 창시자인 이안 머독과 그의 부인인 데브라의 이름에서 유래했습니다.
- 데비안은 안정성과 보안에 중점을 두어 다른 리눅스 배포판들의 기반으로 사용되고 있습니다.
- 레드햇(Redhat)
- 레드햇 레눅스는 세계적으로 가장 인기많은 배포판으로 평가받습니다. 레드햇 리눅스는 지원없이 무료로 사용하거나 기술지원을 받는 리눅스 배포판으로 알려져 있습니다.
- 현재는 레드햇 사가 유료로 기술지원을 하는 기업용 리눅스인 레드햇 엔터프라이즈 리눅스와 페드레 프로젝트에서 개발하고 있는 페도라로 나뉘어져 있습니다
- 레드햇 엔터프라이즈 리눅스 : 레드햇이 개발하여 판매하는 상용 리눅스 배포판입니다.
- CentOS
- 업스트림 소스인 레드햇 엔터프라이즈 리눅스와 완벽하게 호환되는 무료 기업용 컴퓨팅 플랫폼을 제공하기 위해 만들어진 리눅스입니다.
- 레드햇 엔터프라이즈 리눅스의 소스코드를 그대로 빌드하고 레드햇 상표대신 CentOS라는 상표가 붙기만 하므로 레드햇 엔터프라이즈 리눅스의 업데이트를 가장 잘 따라가는 리눅스로 알려져 있습니다.
- 단 레드햇의 기술지원은 받지 않고 자체 커뮤니티에 의해 관리됩니다.