리눅스는 까다롭다? 리눅스, 자신있게 사용하세요.
리눅스 쉘 스크립트를 잘하려면?
첫째, 쉘의 문법을 숙지하고 있어야 합니다
예를 들면, 특수문자는 사용되는 위치마다
다른 용도로 사용되기에 주의해야 합니다
'<'와 '>'는 리다이렉션 기호이지만
테스트문에서도 사용하고,
인용부호 같은 경우 역시 작은따옴표와 큰 따옴표를
구별해주어야 하는데, 명령어와 연동할 때
주의를 기울이지 않으면 오류가 생기기 쉽습니다
둘째, 리눅스의 20~30개 정도의 필수 명령어를
옵션까지 기억하고 있어야 합니다
이는 적합한 명령어를 잘 기억해두어야 파이프 기호를
이용하여 워크플로우를 빨리 구성할 수 있기 때문이죠
cut을 사용할지 tr을 사용할지, 아니면 중괄호 확장을
사용할지 즉각적으로 판단해야 하거든요
왜 리눅스 쉘 스크립트 마스터일까?
입문자도 최대한 이해하기 쉽도록 신경썼습니다
수업을 무리없이 잘 따라갈 수 있도록 풍부한
자막 시스템과 애니메이션으로 기초 용어들을
설명한 뒤, 스크립트 작성 능력 향상을 위해
DRILL이라는 연습 문제를 함께 풀어볼 겁니다
높은 가독성을 위해 최대한 신경썼습니다
모바일 스마트 기기에서도 잘 보일 수 있도록
영상을 검토하고 수정했으며,
검은색 배경과 큰 폰트 사이즈를 이용해
코드 또한 쉽게 볼 수 있도록 노력했습니다
그런데...
리눅스, 왜 배워야 하냐구요?
리눅스 쉘 == 포켓 나이프
여러분보다 먼저 개발 필드에서 일해온 수많은
엔지니어들은 작업할 때 간단한 명령 줄 도구에
직접 액세스하는 것이 매우 효율적임을 깨달았죠
쉘은 복잡한 구성 요소를 설치할 필요 없이
사용자에게 누구나 액세스할 수 있는 공통 환경과
인터페이스를 제공합니다
JavaScript, Python 등 여러분이 사용해온
다양한 언어들을 서버 개발에서 사용하고 싶다면
쉘(Shell)을 사용해야 하며,
쉘 기반에서 종속성 및 패키징을 관리해야 합니다
컴퓨터 언어와 개발자 도구의 다양성은 증가했지만,
엔지니어가 사용하는 운영 플랫폼들은
오히려 단순화되었습니다
데브옵스의 동반자, 리눅스
현대 소프트웨어 개발 방법의 주요 흐름인 DevOps는
기능 개발과 소프트웨어 운영을 분리했던 것과 달리,
한 그룹에서 이 두 가지를 모두 담당하는 것을 뜻합니다
엔지니어들은 Devops의 대표 주자인 Docker를 통해
운영 환경이 더욱 균일해질 뿐만 아니라
점점 더 Linux와 비슷해질 것이라 얘기합니다
이와 같이 컨테이너화된 작업에서 Linux와 쉘 기술의
중요도와 함께 쉘에 대한 관심도 증가했습니다
오픈 소스는 Linux 컨테이너에서 실행되도록 빌드되는 경우가 많죠!
쉘은 과거부터 지금까지 Linux 시스템을 관리하는
가장 일반적인 방법으로, 많은 개발자들이 Linux
시스템을 운영 환경으로 표준화했기에
쉘 기술이 더욱 중요해졌습니다
자동화와 밀접한 쉘 스크립팅
자동화가 필요한 수많은 작업들은
쉘 스크립트를 사용하여 쉽게 처리할 수 있습니다
이 영상의 촬영 작업에도, 편집 작업에도
쉘 스크립트가 사용되었답니다🥳
스크립팅할 수 없는 경우는 자동화할 수 없지만,
점점 더 복잡해지는 시스템을 운용하는 분들이라면
자동화 기술은 필수로 익혀두셔야 합니다
다만, MacOS 환경이라는 것 주의하세요! :)
임베디드 시스템, 두려워하지 마세요
홍영기
인하대학교에서 전자공학 학사 학위를 받았으며
임베디드 시스템용 소프트웨어 개발자로써
수년간의 경력을 쌓았습니다
임베디드 시스템 및 프로그래밍을 위한
전문 강사로도 활동 중입니다
아이폰 3GS 등장과 같은 시기에 맥(북)에 입문하였고,
그때부터 맥(북) 자동화에 관심을 갖게 되었습니다
'맥(북)에서 사용할 수 있는 시리 리모트',
'키보드마에스트로를 이용한 구글번역기' 같은
오픈 소스를 깃허브에 공유했으며
개발 및 유지보수를 겸하고 있습니다
오픈 소스 하드웨어 '비글본블랙'에도
많은 관심을 가지고 있습니다
맥(북) 자동화를 이용하여 생산성을 높일 수 있는
컴퓨터를 사용하는 모든 분야에 관심을 가지고 있고,
이를 필요로 하는 사람들을 돕고 있습니다
all Icon made by Freepik from www.flaticon.com