리눅스 유치원 파트 1 미리보기 - 리눅스는 어디에 쓰일까요?
안녕하세요
오늘은 리눅스 유치원 파트1 기본 명령어 익히기 편에 대해서 소개를 좀 드려 보려고 합니다
저는 리얼리눅스 강사 송태웅이라고 하고요
저는 현업에서 한 10년 정도 개발 활동을 했고요
임베디드 시스템이나 서버 관련되서 많이 했었습니다
그리고 리눅스 커널 관련된 오픈 소스 개발 작업을 한 4년 정도 진행을 했었는데요
그때 이제 성능 추적이라든지 성능 분석 이런 것들에 대해서 많이 하다 보니까
교육에 좀 접목을 시켜서 삼성전자나 LG전자 현대모비스 다양한 직장인 교육들도 많이 진행을 하고 있습니다
이번에 소개해 드리려고 하는 강의는 리눅스 유치원이라고 해서 2024년 1월에 진행되는 파트1 수업입니다. 대상은 취준생 분들, 아예 리눅스를 모르시는 분들 기초 내용이라고 보시면 좋을 것 같아요
그래서 완전히 입문자분들을 위해서 진행되는 내용이고요 목표리는 거는 결국에 그 우리가 IT 관련돼서 취업을 한다고 치면 코딩 관련된 것들도 있지만 또 리눅스 관련되서 서버엔지니어 클라우드 엔지니어 뭐 이런 쪽이 있잖아요
DevOps, 인프라, 리눅스, 서버엔지니어 계열들이 결국에는 리눅스 기본기들이 있어야지
또 이제 우리가 직장인으로서 활동을 할 수 있는 거거든요 그래서 면접, 기술 면접이라든지
그리고 또 취업 과정에서 리눅스 기초 기본기들을 많이 요구하고 있습니다
그래서 그런 것들을 채워 나가는 목표로 진행한다고 보시면 되겠고요
우리가 실제로 1월에 그 4주 정도를 진행을 할 거고 매주에 2회, 저녁 7시 반에서 9시까지 해서 실시간 수업으로 진행을 합니다
라이브 실시간 수업을 하는데 내용이 이제 녹화되기 때문에 만약에 피치못한 사정으로 시간이 안 되시면은 또 녹화된 내용을 볼 수 있고요 또 녹화분은 6개월 정도 진행을 해서 보실 수 있다라고 이해하시면 될 것 같습니다
그리고 소수정예로 진행이 되기 때문에 많은 분들의 거의 일대일 피드백이 가능할 걸로 보이고요 실습을 실제로 진행을 하면서 실습을 또 잘 되고 있는지 문제가 되면은 계속 질문 주시면 또 답변도 드릴 수 있겠고요 추가적으로 수업이 끝나고 나서 질문 같은 경우에는 편하게 주셔도 좋습니다
커리큘럼 한번 소개를 드리면 4주 정도 그래서 이제 한 달 정도 진행을 하고요
목표로 하는 건 결국에 리눅스 명령어를 아주 익히는 겁니다
그래서 익숙해져서 완전히 트레이닝을 한다고 보시면 참 좋을 것 같은데요
기본적으로 리눅스에 대한 설치나 이해 기본 세팅 그리고 터미널, 기초명령어 파일을 다루는것이 굉장히 중요하거든요
윈도우에는 C 드라이브가 있잖아요 리눅스에는 루트 파일 시스템이라는게 있는데 그런 것들을 좀 이해하면서 파일을 다루는 것들을 위주로 해서 다루고 또 패키지를 정확하게 이해하고
패키지를 설치, 삭제 이런 것들 정말 중요합니다
기초기본으로 이런 것들을 4주차에 넣어서 진행을 할 예정입니다
리눅스는 어디에 쓰일까요?
우리가 이제 모바일부터 한번 살펴본다면 안드로이드가 있죠 안드로이드가 결국에 커널 기반이고요 모바일뿐만 아니라 차량도 안드로이드를 굉장히 많이 쓰고 있는데 다 리눅스 기반에서 동작이 되고 있습니다
첫 번째 차량, 모바일 리눅스가 굉장히 많이 쓰이고요 그리고 리눅스가 또 쓰이는 것은 대표적으로 서버죠 결국에 웹 서버, AI 서버 혹은 빅데이터 그리고 블록체인, IoT 다양한 곳에서 서버가 쓰이고 있는데 서버 안에 있는 기본적인 운영체제가 결국엔 리눅스입니다
리눅스가 이제 96% 차지할 정도로 굉장히 많이 쓰이는 걸 볼 수가 있겠구요
운영체제이기 때문에 윈도우라든지 mac os 이런 것들하고도 많이 비교하지만 일반 소비자들이 쓰기보다는 산업에서 많이 쓰인다고 이해하시는게 좋을 것 같아요
실제로 슈퍼컴퓨터죠 500개 슈퍼컴퓨터가 100% 리눅스를 쓰고 있습니다
그만큼 성능이 굉장히 뛰어나고 서버로서의 역할을 굉장히 많이 수행할 수 있기 때문에 리눅스를 많이 선호하게 되구요 결국에 구글 서비스든 유튜브, 카카오톡, TV, 게임, 자동차 대부분의 산업에 있는 것들은 다 리눅스 기반으로 동작한다라고 보시면 좋을 것 같아요
그래서 우리가 이제 직장을 다니거나 일을 할 때 리눅스 관련된 기본 소양을 취업, 채용할 때 면접을 볼 때 기술 면접을 볼 때 리눅스에 대한 기본소양을 굉장히 많이본다 라고 이해하실 수가 있는 거죠 리눅스 서버를 구축하는 것은 이렇게 물리적으로도 구축을 할 수가 있지만 예전에는 이렇게 구축했었죠
이 사진 같은 경우에는 실제 구글에 초창기 웹서버입니다
하지만 이제는 클라우드를 많이 쓰죠 그래서 클라우드 기반으로 해서 aws, gcp Azure 라든지 그런 걸 통해서 리눅스를 쓴다고 보시면 되겠고요
또 리눅스를 특히나 관리할 때 요즘에는 컨테이너 단위로 많이 관리를 하지만 클라우드, 컨테이너를 이해하기 전에 가장 기초적으로 알아야 되는 건 결국에 리눅스에 대한 소양이에요
그래서 그런 부분들을 우리가 집중해서 훈련한다고 보시면 좋을 것 같고요
클라우드를 쓰던 컨테이너를 쓰든 리눅스 자체가 변하는 건 아닙니다
리눅스를 다른 방법이 약간은 달라질 수는 있겠지만 결국에 리눅스 환경에서 우리 다양한 프로그램들이 구동되고요 또 운영하거나 관리하는 것들은 리눅스를 또 잘 이해하는게 굉장히 중요합니다. 리눅스를 다룰 때 우리가 쉘을 결국에 사용하게 되요 쉘을 왜 쓰고 터미널을 왜 쓰고 이런 것들에 대해서 우리가 요즘 같은 시대에 그래픽컬하게 인터페이스들이 많이 존재하는데 굳이 텍스트 기반으로 써야 되나? 이렇게 생각하시는 분들도 많지만 절대적으로 이 역할과 장단점이 다릅니다 그래픽이라고 해서 무조건 좋은게 아니에요
예를 들어서 우리가 인공지능이나 빅데이터를 다루면 수억개의 파일을 다루는데요
그거를 gui 그래픽 환경으로는 절대 못 다루죠 영상 편집, 사진을 다루거나
이런 것들은 그래피컬한 인터페이스가 훨씬 현대적인 거고 중요하고 효율적이겠지만
우리가 파일을 많이 다루거나 특히나 이렇게 서버 환경에서 다룰 때는 텍스트 기반으로 했을 때 굉장히 어떤 메모리나 시스템 자원을 안 쓰면서 가볍게 다룰 수 있으면서도
빠르게 다를 수 있고 자동화가 굉장히 편리하고요 그리고 또 세밀한 작업들을 많이 할 수 있다는것이 텍스트 기반의 쉘 명령어의 장점이죠
그리고 이런 것들을 처음에는 좀 어렵겠지만 익숙해지고 나면 생산성이 굉장히 높아집니다
심지어는 우리가 프론트 웹 개발자 분들께서도 이 명령어 기반은 어느 정도 알고 계시면
생산성이 굉장히 높아지는 걸 아실 수 있을 거예요 자 그래서 이제 셸 명령어를 입력할 수가 있는데요 쉘 명령어에서 가장 많이 하는 것들이 cd (change directory) pwd, ls 이런 것들입니다
실제로 우리가 명령을 한번 입력해 본다면요
cd / cd /usr
이런 식으로 우리가 경로를 바꿀 수가 있겠죠 예를 들어서 cd /usr/local 이런 식으로 경로를 바꿀 수가 있는데 쉘은 현재 패스 그러니까 지금 어느 경로에 있냐가 굉장히 중요해요
그래서 print working directory 모르면 어떻게 해야 되요?
whatis라고 쳐주면은 print working directory 지금 현재 내가 작업하고 있는 디렉토리가 어딘지 이런 것들을 보는게 굉장히 중요하고요
directory 안에서 Ls 이것도 whatis ls 하면은 디렉토리안에 있는 내용을 보는 거죠
ls 에서 이 안에 있는 폴더 내용을 보는데 많은 분들이 현재 폴더 경로를 생각하지 않고
작업을 하기 때문에 오류를 많이 겪는 경우들이 많아요 그래서 우리가 폴더를 다루고
폴더를 이동하고 현재 폴더가 어디고 폴더를 확인하는 거 굉장히 중요합니다