1. 리눅스란?
- 리눅스 커널을 기반으로 하는 안드로이드 운영체제
- 유닉스와 완벽하게 호환
- 공개 소프트웨어이며 무료로 사용할 수 있다.
- 서버용 운영체제로 많이 사용된다.(PC 뿐만 아니라 서버 컴퓨터, 대형 컴퓨터 에서도 사용 가능)
- 편리한 GUI(Graphical User Interface) 환경 제공
- 리누스 베네딕트 토르발스에 의해 개발 ( 1990 년대 출시)
- 리눅스의 구조
1) 커널: 리눅스의 핵심으로 프로세스 관리, 메모리 관리, 파일 시스템 관리, 장치 관리 등 컴퓨터의 모든 자원을 초기화하고 제어하는 기능을 수행함
2) 셸 : 리눅스의 사용자 인터페이스로 사용자와 커널 사이의 중간자 역할을 담당하는 특별한 프로그램이다.
셸은 사용자가 입력한 명령을 해석하여 커널에 넘겨준다. 그러면 커널이 명령을 수행한 후 결과를 돌려주고
셸은 다시 사용자가 이해할 수 있는 형태로 바꿔 출력한다. 리눅스는 배시 셸 bash shell ,born again shell 을 기본으로 사용한다.
3) 응용 프로그램: 리눅스는 각종 프로그래밍 개발 도구, 문서 편집 도구, 네트워크 관련 도구 등 매우 다양한 응용 프로그램을 제공한다.
2. GNU 프로젝트란?
리누스가 개발한 것은 리눅스 커널이다. 운영체제에서 가장 중요한 핵심 부분이 커널이긴 하지만 커널만으로는 운영체제를 활용할 수 없다. 사용자와의 인터페이스를 제공하는 윈도 시스템, 컴파일러, 편집기 등 다양한 응용 프로그램을 함께 제공해야한다. 리눅스 커널에 이러한 응용 프로그램을 제공하는 것이 바로 GNU 프로젝트다.
자유 소프트웨어 운동의 중심인물 = 리처드 스톨먼 <GNU 선언문> http://www.gnu.org/gnu/manifesto.html
GNU 는 유닉스와 호환되는 자유 소프트웨어를 개발하는 프로젝트,
GNU is Not Unix (GNU는 유닉스가 아니다) = 그누라고 읽음
GNU 프로젝트는 자체적으로 운영체제 (커널) 을 개발 중이었지만, 완성하지 못하고 있었는데 리눅스가 등장하여
리눅스 커널과 GNU 각종 응용 프로그램이 결합하여 완성된 형태의 운영체제로 탄생했다.
GPL (General Public License) : 자유 소프트웨어 라이선스 / 5가지 의무
https://ko.wikipedia.org/wiki/GNU_일반_공중_사용_허가서
3. 리눅스 배포판?
레드햇 계열 , 데비안 계열, 슬랙웨어 계열
리눅스는 GPL 에 따르는 공개 소프트웨어이므로 누구나 내려받아 설치, 수정 , 다시 자유롭게 배포할 수 있어서
모두가 자신만의 리눅스 배포판을 만들 수 있다.
리눅스의 배포판 계통도를 볼 수 있는 사이트
다양한 리눅스 배포판 가운데 데비안 계열의 우분투 리눅스의 우분투 17.10 을 기준으로 공부해보자!
우분투의 기본 철학: 전 세계 누구나 어렵지 않게 리눅스를 사용하자!
4. 가상머신
리눅스 설치는 별도의 PC 는 필요 없고 그냥 사용하는 컴터에 가상 머신을 설치하고 그 가상 머신에 리눅스를 설치하면 끝이다! 물론 사용하고 있는 윈도우도 그대로 사용 가능 !!
가상머신? PC 에 설치되어 있는 운영체제에 가상 머신을 생성한 후 여기에 다른 운영체제를 설치할 수 있도록 해주는 응용프로그램이다. 말그대로 가상의 PC 가 생긴다고 생각하면 됨. 가상머신이 여러개라면? 여러 개의 운영체제를 설치할 수 있다. 용량만 충분하다면~!
가상 머신의 종류
가상머신 | 호스트 OS | 게스트 OS |
VMware | 윈도 계열 운영체제, 대부분의 리눅스, 애플 맥 | 윈도 계열 운영체제, 대부분의 리눅스 배포판, 솔라리스, Mac Os |
버추얼 PC | 윈도 계열 운영체제 | 윈도 계열 운영체제, 일부 리눅스, 솔라리스 |
버추얼 박스 | 윈도 계열 운영체제, 대부분 리눅스, 애플 맥, 솔라리스 | 윈도 계열 운영체제, 대부분의 리눅스 배포판, 솔라리스,Mac OS, OpenBSD |
5. 리눅스 터미널 창에서 명령 사용
터미널 창을 띄우거나 리눅스에 접속하면 프롬프트가 나타난다.
* 프롬프트 : 사용자의 명령 입력을 기다리는 표시, 사용하는 셸에 따라 다르게 표시됨, 배시 셸의 경우 기본적으로 $ 로 표시되고 시스템 관리자의 경우 #로 표시됨. 프롬프트는 사용자가 다른 모양으로 바꿀 수도 있다!
터미널 창이 나왔을 때 기본 디렉터리는 사용자의 홈 디렉터리에 위치함
ex ) user@myubuntu:~$ 라고 제목이 표시됨 여기서 user 는 사용자 계정 , myubuntu 는 호스트 이름으로 우분투 시스템 자체를 의미, ~ 기호는 user 사용자의 홈 디렉터리를 나타낸다.
사용자의 홈 디렉터리는 사용자 계정을 등록할 때 결정된다.
1) 명령 행 편집 방법 : 단어 지울때 ctrl + w , 행 지울 때 ctrl + u (해당 행의 모든 내용 삭제)
2) 명령의 구조:
- 형식: 명령 [옵션] [인자]
옵션은 주로 - 또는 -- 로 시작하며 영문 소문자나 대문자로 구성됨
인자는 명령으로 전달되는 값이며 주로 파일명이나 디렉터리명이 사용됨, 명령에 따라 있을 수도 없을 수도!
3) 명령 사용법:
- 명령만 사용하는 경우
- 명령 + 옵션
- 명령 + 인자
- 명령 + 옵션 + 인자
4) 기초 명령 사용법:
date 명령 : 날짜와 시간을 출력함
clear 명령 : 화면을 지움
man 명령 : 명령 사용법을 화면에 출력함
passwd 명령 : 사용자 계정의 비밀번호를 변경한다.
exit 명령 : 터미널 종료하기
6. 리눅스 vs 유닉스
- 리눅스의 이름에서도 알 수 있듯이 유닉스 계열의 운영체제
- 리눅스는 각종 명령이나 시스템 콜 등에 대한 유닉스의 표준을 준수하여 호환성을 제공함
- 유닉스는 1969 년 AT & T 의 벨연구소에서 개발, 처음에는 어셈블리어, 1971년) C언어로 재개발
'리눅스프로그래밍' 카테고리의 다른 글
vi - 사용법 (복사, 붙이기, 버퍼,검색, 바꾸기, 기타 유용키) (0) | 2020.04.24 |
---|---|
vi - 문서 편집하기 (입력 , 이동 , 수정 , 삭제 , 명령 취소) (0) | 2020.04.24 |
우분투 리눅스 - 파일 다루기 (0) | 2020.04.10 |
우분투 리눅스 - 디렉터리 사용 명령 (0) | 2020.03.29 |
우분투 리눅스- 디렉터리와 파일 (0) | 2020.03.29 |