리눅스 쉘 스크립트를 공부할까 말까 망설이는 당신에게 한 가지만 말하겠습니다. 해커처럼 멋있게 리눅스를 다루고 싶은가요? 쉘 스크립트를 모르는 해커를 상상할 수 있나요? 그럼 지금 바로 시작하세요!
이런 걸
배워요!
쉘에서 사용하는 모든 특수 문자의 역할을 이해
작은따옴표와 큰따옴표의 차이를 포함한 인용부호의 올바른 사용
find 와 xargs
쉘변수와 환경변수의 차이를 이해하기
리눅스 필수 명령어(tr, sort, seq, cat, hexdump, cut, uniq, tee, echo, printf, read, wc, comm)
EXPORT를 목적에 맞게 올바르게 사용하기
함수와 앨리아스의 차이점
자동화 스크립팅 예약 만들기
스크립트를 실행하는 4가지 방법
스크립트의 효율적인 디버깅 방법 3가지
히어도큐먼트와 히어스트링
eval
정규 표현식 과 grep, sed
해커처럼 BASH 쉘 스크립트 작성하기
리눅스 쉘 스크립트(Linux Shell Script)로
서버를 자동화하고, 막강한 기능을 경험하세요.
본 강의는 리눅스의 까다로운 배쉬 쉘 문법 중 인용부호와 파이프, 리다이렉션을 속 시원하게 풀이해드리고, 쉘 코딩의 절차적인 방법을 제시해 드립니다. 리눅스 환경의 개발에 대한 강한 자신감을 갖는 기회로 만들어보세요.
현대 컴퓨팅 환경에서 리눅스는 윈도우즈와 함께 중요한 메인스트림이 된 지 오래되었습니다.
리눅스는 더 이상 해커들의 전유물이 아니며 많은 개발자들이 리눅스 환경에서의 개발을 요구받고 있습니다. 인공지능, 자율주행, 머신러닝, 빅데이터, 클라우드 컴퓨팅, 사물인터넷 등 미래 기술의 총아들이 모두 리눅스 환경의 기반 위에서 만들어지고 있습니다.
공개되는 수많은 오픈 소스는 리눅스에서 먼저 테스트되고 지원됩니다.
서버 측 JavaScript, Python 및 기타 언어의 경우 개발 환경은 실제로 쉘입니다. 많은 엔지니어들은 작업할 때 간단한 명령 줄 도구에 직접 액세스하는 것이 매우 효율적일 수 있다는 사실을 깨달았습니다. 현대 프로그래밍 언어들을 이용하기 위해 쉘 기반에서 종속성 관리 및 패키징 등을 관리할 수 있습니다. 리눅스 셸
쉘은 복잡한 구성 요소를 설치하지 않고도 누구나 액세스할 수 있는 공통 환경 그리고 인터페이스를 사용자에게 제공합니다.
프로그래밍 언어와 개발자 도구의 다양성은 증가했지만, 여러 면에서 엔지니어가 사용하는 운영 플랫폼은 오히려 단순화되었습니다.
엔지니어들은 Docker를 통해 운영 환경이 훨씬 더 균일하고 Linux와 비슷할 것으로 기대합니다.
컨테이너화 된 작업의 경우 Linux 및 셸 기술이 중요합니다. 이것은 쉘에 대한 관심도 증가를 불러왔습니다.
오픈 소스의 경우 Linux의 컨테이너에서 실행되도록 빌드되는 경우가 많습니다.
쉘은 Linux 시스템을 관리하는 가장 일반적인 방법으로써 지금에 이르고 있으며, 많은 개발자들이 Linux 시스템을 운영 환경으로 표준화함으로써 쉘 기술이 더욱 중요해졌습니다.
현대 소프트웨어 개발 방법의 주요 흐름인 DevOps는 한 그룹이 기능 개발에 집중하고 다른 그룹이 안정적인 소프트웨어 운영에 중점을 두는 대신 단일 그룹이 이 두 가지를 모두 담당합니다.
자동화가 필요한 많은 작업은 쉘 스크립트를 사용하여 쉽게 처리할 수 있습니다. 스크립팅할 수 없는 경우 자동화할 수 없으며 점점 더 복잡해지는 시스템을 운용하려면 자동화가 필수적으로 필요합니다
ps. 이 영상의 촬영 작업에도, 편집 작업에도, 영상업로드에도 쉘 스크립트가 사용되었답니다 🥳
다만, MacOS 환경이라는 것이 함정! :)
10년 이상 쉘 스크립트를 사용하면서 어떤 것이 어렵고 무엇이 중요한 부분인지 잘 알고 있습니다.
리눅스의 쉘 스크립트를 잘하려면 두 가지 요소가 필요합니다.
첫째, 쉘의 문법을 숙지하고 있어야 합니다.
특수문자는 사용되는 위치마다 다른 기능으로 사용될 수 있습니다. 예를 들어 리다이렉션 기호 < 와 >는 테스트 문에서도 사용됩니다.
또한, 인용부호 같은 경우 작은따옴표와 큰 따옴표는 서로 구별해서 써야 하는데, 명령어와 연동될 때 상당히 주의를 기울이지 않으면 실패하기 쉽습니다.
둘째, 리눅스의 20~30개 정도의 필수 명령어를 옵션까지 기억하고 있어야 합니다.
이것이 필요한 이유는 파이프 기호를 이용해서 신속하게 워크플로우를 구성할 때 적합한 명령어가 생각이 나야 사용할 수 있을 것입니다. cut을 사용할지 tr을 사용할지, 중괄호 확장을 사용할지 즉각적으로 판단해야 하거든요.
리눅스 입문자들도 최대한 이해하기 쉽도록 신경 써서 영상을 만들었습니다.
수업을 무리없이 잘 따라갈 수 있도록 기초적인 용어들은 풍부한 자막 시스템과 애니메이션을 이용하여 설명을 해드리고 있습니다.
특징 1. 모바일 스마트 기기에서도 잘 보일 수 있도록 영상을 만들었습니다.
특징 2. 검은색 배경과 큰 폰트 사이즈를 사용해서 눈이 아프지 않도록 배려하였습니다.
특징 3. 영상 속의 DRILL(연습문제)을 이용해서 수강자가 직접 스크립트를 만들어 볼 수 있습니다.
특징 4. 애니메이션을 활용하여 학습의 집중도를 높였습니다.
학습 대상은
누구일까요?
리눅스 서버 관리자
인공지능및 자율주행을 연구하는 분
클라우드 컴퓨팅 기반의 개발자
임베디드 리눅스 개발자
해킹을 원하는 사람
리눅스를 잘 다루고 싶은 분
Mac에서 자동화 프로그램을 만들고 싶은 분
NAS서버, cpdf, imagemagick, ffmpeg 등의 워크플로우 작성이 필요한 분
선수 지식,
필요할까요?
리눅스 기초 명령어
인하대학교 공과대학에서 전자공학 학사 학위를 받았으며 임베디드 시스템용 소프트웨어 개발자로써 수년간의 경력을 쌓았습니다. 임베디드 시스템 및 프로그래밍을 위한 전문 강사로도 활동 중입니다. 아이폰 3GS 등장과 같은 시기에 맥(북)에 입문하였고, 그때부터 맥(북) 자동화에 관심을 갖게 되었습니다. '맥(북)에서 사용할 수 있는 시리 리모트', '키보드마에스트로를 이용한 구글번역기' 같은 오픈 소스를 깃허브(https://github.com/guileschool) 에 두고 개발 및 유지보수하고 있습니다. 오픈 소스 하드웨어 '비글본블랙' 에도 많은 관심을 가지고 있습니다. 맥(북) 자동화를 이용하여 생산성을 높일 수 있는 컴퓨터를 사용하는 모든 분야에 관심을 가지고 있고, 이를 필요로 하는 사람들을 돕고 있습니다.
강의 요청 및 기타 문의사항은 guileschool@gmail.com으로 보내주세요 :)
전체
101개 ∙ (6시간 8분)
가 제공되는 강의입니다.
시작하기
03:07
리눅스 파일명 규칙
01:10
자동완성 기능
02:18
리눅스 디렉토리 구조
07:38
경로변경(절대경로와 상대경로)
04:51
파일의 접근권한
07:04
심볼릭링크와 하드링크
05:46
echo의 사용법
07:03
명령의 구조
02:14
glob와 공백
02:23
인용문
02:22
[..] 와 테스트
03:13
명령어(wc)
02:20
명령어(tail)
04:29
별칭(alias)
06:04
명령어(pushd/popd)
02:51
명령어(printf)
02:43
명령어(read)
04:32
while..do..done
04:09
실행파일을 사용하는 방법 4가지
05:39
쉘 스크립트란 무엇입니까?
02:59
스크립트 작성방법
04:39
DOS스타일의 줄끝
04:07
스크립트의 실행방법 4가지
01:36
특수문자 종류 미리보기
09:14
쉘 변수
01:30
파라미터 대체와 인용부호
02:46
특수 매개 변수
07:01
환경 변수
02:56
declare
03:40
매개변수 확장(PE)
06:19
globe 패턴
01:32
명령어(tr)
04:23
명령어(cut)
03:04
확장 glob
02:39
쉘 스크립트 문법 검사 도구
00:44
컬러(color) 텍스트
01:46
실습(DRILL)
00:09