[Linux]
📌 리눅스란?
우리가 사용하는 컴퓨터는 크게 하드웨어와 소프트웨어로 나뉜다.
하드웨어는 사용자가 실제로 만지는 마우스, 키보드와 같은 기기들이고, 사용자는 하드웨어에 연산(compute)을 시키기 위해 명령을 내리는데, 이때 사용하는 명령어들의 집합이 '프로그램'이고 이러한 프로그램들을 총칭하는 것이 소프트웨어이다.
이 중 소프트웨어는 시스템 소프트웨어와 응용 소프트웨어(모든 프로그램을 지칭)으로 나뉘고,
여기서 운영체제는 시스템 소프트웨어에 속하며 컴퓨터 시스템의 효율적인 관리를 담당한다.
우리가 앞으로 알아볼 '리눅스(Linux)'가 바로 이러한 운영체제 중 하나이다.
간단하게 설명하면,
리눅스는 컴퓨터 운영체제(OS) 중 하나로, 다양한 컴퓨터 하드웨어에서 작동하는 오픈 소스 운영체제이며,
이 것은 Unix와 유사한 OS로 안정성, 보안, 유연성 등의 특징을 가지고 있다.
[구성 요소 및 기능]
📌 Kernel(커널)
OS의 핵심이자 리눅스의 핵심은 뭐니뭐니해도 커널이다.
커널은 하드웨어와 소프트웨어간의 통신을 담당하며,
시스템 자원(CPU, Memory, Disc 등)을 효율적으로 관리하하고
리눅스 시스템의 핵심 역할을 수행한다.
📌 Shell(셸)
셸은 사용자와 시스템 간의 상호 작용을 위한 명령어 인터페이스이다.
사용자가 명령어를 입력하고 실행하면, 셸은 그 명령을 해석하고 실행한다.
리눅스에는 다양한 종류의 셸이 존재하고 각각의 특징과 명령어가 다르며,
나중에 우리가 사용할 Bash 셸은 가장 널리 사용되는 셸 중 하나이다.
📌 파일 시스템
리눅스는 파일과 디렉토리를 계층적으로 구성하는 파일 시스템을 사용한다.
"/"(루트 디렉토리)를 시작으로 모든 파일 및 디렉토리가 조직되며,
이 것은 데이터 관리를 위한 핵심 요소 중 하나이다.
📌 사용자 및 권한 관리
리눅스는 다중 사용자 시스템으로,
여러 사용자가 동시에 시스템을 사용할 수 있다.
각 사용자는 고유한 사용자 ID와 Password를 가지며,
파일 및 리소스에 대한 엑세스 권한을 갖는다.
이를 통해 시스템 보안과 사용자 간의 격리 기능이 구현된다.
📌 패키지 관리 및 네트워킹
리눅스 시스템에서는 패키지 관리자를 사용하여 소프트웨어를 설치/업데이트/제거할 수 있고
이는 사용자가 손쉽게 새로운 소프트웨어를 설치하거나 시스템을 업데이트할 수 있도록 돕는다.
또한 리눅스는 강력한 네트워크 지원을 제공하고,
이를 통해 인터넷 연결/원격 서버 관리/파일 공유/ 네트워크 서비스 등이 가능하다.
📌 CLI(명령어 라인 인터페이스), GUI(그래픽 유저 인터페이스)
리눅스는 CLI를 통해 사용자가 명령어를 입력하고 실행할 수 있고,
동시에 GUI를 통해 직관적인 그래픽 환경을 제공하며,
CLI는 특히 시스템 관리 및 자동화 작업에 유용하다.
여기서 CLI는 명령형 인터페이스로 터미널, 콘솔이라고도 불리는 검은 화면에 흰 글씨가 적히는 프로그램들이 제공하는 그 것이다.
GUI는 이를 좀 더 쉽고 직관적으로 볼 수 있게 만든 인터페이스이며, 시작 메뉴, 작업표시줄 등이 GUI에 해당된다.
[간단한 사용법]
📌 리눅스 설치하기
우리가 흔히 사용하는 리눅스 프로그램은 대표적으로 세 가지이다.
먼저 Mac OS의 Terminal이 있고 MS의 Cygwin과 Git Bash가 있다.
맥북의 경우, Mac OS 자체가 유닉스 기반의 운영체제이기 때문에 리눅스 명령어가 그대로 적용되니
Terminal.app을 사용하면 된다.
MS를 사용하는 경우에는
다음의 링크에서 프로그램을 다운받아서 사용하면 된다.
- Cygwin : http://www.cygwin.com
- Git Bash : https://git-scm.com
이러한 프로그램들은 Window에서 제공하는 '명령 프롬프트'와 동일한 역할을 하게 된다.
우리는 둘 중에서 Git Bash를 사용하여 실습할 것이다.
📌 프로그램 실행
Git Bash 아이콘을 클릭하여 프로그램을 실행하면 다음과 같은 프롬포트가 나타난다.
가장 처음에 출력되는 문장인 Wooseong Jung은 User name이며, 그 뒤는 나의 컴퓨터 ID이다.
여기서 User name은 한글이 아닌, 그리고 숫자로 시작하지 않도록 작성하는 것이 좋고
터미널에서 사용할 명령어들과 겹치지 않도록 설정하는 것을 추천한다.
가볍게 가장 기초적인 명령어 하나를 작성해보자.
▶ pwd 치고 Enter
내가 입력한 명령어 다음 line에 출력되는 문장이 바로 홈 디렉토리이다.
현재 프로그램에 작성한 명령어들이 적용되는 지점이라 생각하면 된다.
아무 폴더나 들어가서 우클릭한 후,
Open Git Bash here를 클릭
아까와는 다른 문장이 출력되고 홈 디렉토리도 바뀐 것을 볼 수 있다.
사실 홈 디렉토리 이동하는 방법은 cd라는 명령어를 이용해서도 할 수 있는데,
그 것은 다음 파트에서 알아보도록 하자.