[CS]Linux & Terminal

sujin·2022년 8월 29일
0

TIL

목록 보기
12/14
post-thumbnail

개발자에게 리눅스와 터미널은 필수라고 한다! 그것이 무엇이고 어떻게 쓰이는지 알아보도록 하자👊🏻

Linux란?

리눅스란 쉽게 말하자면 하나의 독자적은 컴퓨터 운영체제(OS) 이다.

운영체제란? 사용자가 컴퓨터를 쓸 수 있게 만들어주는 프로그램이라고 생각하면 된다.

리눅스는 사용자가 입력한 명령어로 하드웨어를 제어하기 커널 을 통해 하드웨어를 제어한다.

커널

  • 소프트웨어와 하드웨어간의 입출력을 관리
  • 소프트웨어의 요청을 하드웨어가 처리할 수 있도록 요청을 변환하는 역할

  • 사용자와 내부 커널 사이의 인터페이스 역할로, 명령어 해석기라고 생각하면 된다.

여기서, 하드웨어손으로 만질 수 있는 형태가 있는 장치 cpu, 모니커, 스피커 등 을 말한다. 소프트웨어이런 하드웨어를 움직이게 하는 명령어들의 모임인데 한글, 알집, 곰플레이어 등을 예로 들 수 있다

결론적으로, 하드웨어를 사용하기 위해서, 하드웨어가 이해할 수 있는 언어로 명령을 내려야하고 그래서 소프트웨어를 만들 때 프로그래밍(코딩)을 사용해야하는 것이다.

따라서, 최종적인 순서는
사용자(명령) -> 쉘(해석) -> 커널(명령 수행 후 결과 전송) -> 쉘(해석) -> 사용자(결과 확인)

리눅스를 사용하는 이유는?

리눅스는 오픈소스 소프트웨어이기 때문에 자유롭게 확인, 수정 배포할 수 있다.
그리고 개발을 할 때 멀티태스킹이 가능하다. (터미널을 한번에 여러개 사용할 수 있다는 의미)

리눅스의 종류

리눅스 종류는 크게 두가지로 나눌 있다.

  • 배포판 리눅스 : 리눅스 커널을 중심으로 여러 시스템 소프트웨어 및 응용 소프트웨어를 같이 묶어서 구성한 운영체제이다.
    • 종류 : 우분투, 레드헷, 오라클 등이 있다.
  • 순수 리눅스 = 커널을 말한다.

여기서도 입력 방식에 따라 CLIGUI로 나뉜다.

CLI

  • 사용자가 명령을 작성하고 시스템에서 응답을 수신하여 시각적 프롬프트에 응답하는 매체이다.

GUI

  • 그래픽을 사용하여 사용자가 운영 체제 또는 응용 프로그램과 상호 통신 할 수있게한다.

💡 GUI가 사용자가 사용하기에는 더 용이하지만, 처음 개발을 시작할 때는 CLI 사용에 더 익숙해질 것!


Terminal란?

터미널은 위에서 설명한 리눅스 서버에 명령어를 전달하는 수단이다.


마무리✨

혼란하다. 혼란해 개발을 하면서 리눅스 환경에서 터미널을 쓰고는 있지만? 항상 정의를 내려서 설명하는건 어렵다... 하지만 내가 쓰고 있는게 뭔지도 모르면서 개발을 할 수 는 없기 때문에 한번 더 정리를 하자면,
우리는 터미널을 통해 쉘을 실행하고, 터미널 명령어로 쉘에게 일을 시킨다. 그리고 커널을 통해 최종적으로 하드웨어에 명령이 전달 되는 것이다!

profile
개발댕발

0개의 댓글