유닉스 기반 OS
리눅스 커널 자체가 유닉스의 미닉스를 참고하여 개발됨
다중 사용자와 멀티 태스킹을 지원
리눅스는 다중 사용자(하나의 컴퓨터에 여러 사용자가 로그인 및 사용 가능)와 멀티 태스킹(한번에 여러 프로세스 실행 가능)을 지원
자유 소프트웨어
리눅스 자유 소프트웨어 라이센스
누구나 소스 코드 활용 및 수정, 재배포가 가능함
리눅스 커널 및 관련 다양한 소프트웨어를 패키지로 묶어서 배포하는 것을 리눅스 배포판이라고 함

커널
하드웨어를 관리해주는것이 커널임
하드웨어는 실제 직접 조작할 수 없어 커널을 통해 시스템 자원을 효율적으로 관리함
사용자가 쉘을 통해 입력한 명령어를 해석하여 기계가 이해할 수 있는 표현으로 바꾸어 전달해주는 역할을 수행해주는게 커널임
쉘
쉘은 커널을 사용자가 직접 제어하기 어렵기 때문에 사람이 이해하기 쉬운 형태로 명령어를 입력하면, 그 명령어로 쉘에 해당하는 프로그램들이 해석해서 커널에게 전달해 주는 것, 소프트웨어와 하드웨어간의 커뮤니케이션을 관리하는 프로그램임
명령어 해석기 기능, 프로그래밍 기능, 사용자 환경 설정 기능 등을 수행함