옮긴이 머리말 xiii
베타리더 후기 xv
지은이 소개 xviii
이 책에 대하여 xx
감사의 글 xxv
PART I 셸과 명령어에 익숙해지기
CHAPTER 1 리눅스 환경
1-1 환경 준비하기 3
1-2 터미널, 셸, 명령어, 파일의 관계 알아보기 4
__연습 001 터미널 사용 5
__연습 002 명령어 중단 7
__연습 003 계산(1 + 1 8
__연습 004 파일에 저장 10
__연습 005 파일과 디렉터리 조작 12
__연습 006 파일 권한 16
__연습 007 명령어 조사 19
1-3 자주 사용하는 명령어 알아보기 21
__연습 008 sed를 사용한 치환 21
__연습 009 grep을 사용한 검색 23
__연습 010 grep을 사용한 검색과 추출 25
__연습 011 awk를 사용한 검색과 계산 26
__연습 012 sort와 uniq를 사용한 집계 30
__연습 013 xargs를 사용한 일괄 처리 34
__연습 014 bash를 사용한 메타 프로그래밍 36
1-4 파일 조작하기 38
__연습 015 깃허브에서 저장소 클론 39
__실전 001 파일명 검색 40
__실전 002 이미지 파일 일괄 변환 42
__실전 003 파일명 일괄 변경 45
__실전 004 특정 파일 삭제 49
1-5 awk와 sed에 익숙해지기 51
__실전 005 설정 파일에서 정보 추출 51
__실전 006 터미널에 모양 출력 52
__실전 007 소비세 계산 55
__실전 008 로그 집계 57
__실전 009 로그 추출 60
__실전 010 제목 표기법 변환 62
__실전 011 회의록 정리 63
CHAPTER 2 셸 기초
2-1 변수와 제어 구문, 명령어 입출력 조작 파악하기 68
__연습 016 표준 입출력 및 표준 에러 출력 68
__연습 017 셸과 변수 70
__연습 018 문자열 연결과 치환 71
__연습 019 변수를 사용한 계산 73
__연습 020 따옴표와 변
한 줄짜리 텍스트로 비약적인 업무 성과를 내는 셸 원라이너
160개의 극한 문제로 예술의 경지를 경험하다
파이썬으로 짜면 수십 줄 걸릴 작업을, 한 줄짜리 스크립트로 처리할 수 있다면 믿어지는가? 셸 명령어 하나하나는 단순한 기능만을 수행하지만, 이들을 조합하면 데이터 가공, 웹 스크레이핑, 시스템 모니터링 등 강력한 작업을 처리할 수 있다. 일본의 셸 장인 6인이 출제한 160개 문제가 담긴 이 책은, 이러한 한 줄짜리 명령 ‘원라이너’ 작성 능력 향상을 목표로 한다.
리눅스 환경과 셸 기초를 익히는 데에서 시작해 텍스트, 테이블, JSON/CSV, 날짜/시간, 바이너리 등 데이터를 조작하는 방법을 살펴보고, 나아가 데이터를 가공하고 처리하는 데 필요한 정규표현식, 유니코드, 이미지/날짜/시간 데이터, 통신 프로토콜 지식도 알아본다. 리눅스 환경의 더 깊은 부분, 소스 코드 조작, 데이터 생성, 깃 활용 등 소프트웨어 개발 시 도움이 되는 원라이너도 함께 담았다. 일본어 텍스트를 다루는 문제들은 한국 실정에 맞는 비슷한 문제들을 고안해 교체한 정성도 돋보인다.
160개 문제 중에는 실전적인 문제가 있는가 하면, 사고력을 기르기 위한 순수한 (수학 퍼즐 같은 문제도 있다. 풀이 역시 한 가지가 아니라 생각지도 못한 방식을 포함해 여러 가지를 제시한다. 문제에 대한 해답을 단순히 암기하는 것이 아니라 원리를 생각하고 명령을 조합하는 방식을 훈련해야 한다는 점을 강조하기 때문이다. 이 책과 함께 사고력을 단련해서, 실무에서 예상하지 못한 문제를 만나더라도 해결 방법을 스스로 생각할 줄 아는 개발자가 되어보자.
대상 독자
* 셸 명령어를 예술의 경지로 끌어올려 사용하고 싶은 사람
* 리눅스/유닉스 파워 유저
* 시스템 관리자, 서버/네트워크 관리자, 인프라 엔지니어
* 대학, 기업, 연구소의 연구자