Book reivew – 아트 오브 쉘 원라이너 160제

  • by

한 줄의 텍스트로 비약적인 성과를 올리는 쉘원 라이너
160개의 극단적인 문제로 예술의 경지를 경험




파이썬으로 짠다면 수십 줄이 걸리는 작업을 한 줄 스크립트로 처리 할 수 ​​있다고 믿을 수 있습니까? 쉘 명령 하나 하나는 단순한 기능만을 실행하지만, 이들을 조합하면 데이터 가공, 웹 스크레이핑, 시스템 모니터링 등 강력한 작업을 처리할 수 있다.

일본의 쉘 장인 6명이 출제한 160건의 문제가 담긴 이 책은 이러한 일행 명령 ‘원라이너’ 작성 능력 향상을 목표로 한다.

Linux 환경과 쉘의 기초를 습득하는 것으로 시작해, 텍스트, 테이블, JSON/CSV, 일자/시각, 바이너리등의 데이터를 조작하는 방법을 봐, 한층 더 데이터를 가공해 처리하는데 필요한 정규 표현, 유니코드, 이미지/날짜/시간 데이터, 통신 프로토콜에 대한 지식도 조사합니다.

Linux 환경의 보다 깊은 부분, 소스 코드 조작, 데이터 생성, 날개 활용 등 소프트웨어 개발시에 도움이 되는 원라이너도 함께 담았다.

일본어 텍스트를 다루는 문제는 한국의 실정에 맞는 비슷한 문제를 고안하고 교환한 진심도 두드러진다.

160개의 문제 중에는 실전적인 문제가 있을까 생각하면 사고력을 기르기 위한 순수한 (수학) 퍼즐과 같은 문제도 있다.

풀이 역시 하나의 것이 아니라, 생각하지 않는 방법도 포함해 다양한 것을 제시한다.

문제에 대한 답을 단순히 암기하는 것이 아니라 원리를 생각하고 명령을 조합하는 방법을 훈련해야 한다는 것을 강조하기 때문이다.

이 책과 함께 사고력을 단련하고 실무에서 예상외의 문제를 만나도 해결책을 스스로 생각한다고 생각하는 개발자가 되자.

대상 독자
– 쉘 명령을 예술의 경지로 끌어 올려 사용하고 싶은 사람
– Linux/Unix 파워 유저
– 시스템 관리자, 서버/네트워크 관리자, 인프라 엔지니어
– 대학, 기업, 연구소 연구원

카드 뉴스에서 보는 책

책 소개

쉘 장인들의 문제를 함께 풀어 명령 근육 빌드 업

단순한 쉘 커맨드에서도 조합하는 방법에 의해 강력한 무기가 될 수 있다.

이 책은 독자들이 기본 쉘 문법과 기능을 습득하고 대량의 텍스트 / JSON / CSV / 바이너리 데이터를 조작하는 방법을 배울 수있는 160 개의 원 라이너 (한 줄 명령) 문제로 했다.

데이터 처리 및 처리에 필요한 OS, 정규식, 유니코드, 이미지/날짜/시간 데이터, 통신 프로토콜에 대한 지식도 살펴볼 것입니다.

문제를 반복해 풀어 명령을 조합하는 방법을 훈련함으로써 실무 문제를 직접 해결하는 사고력을 키울 수 있다

  • 책의 일부 내용을 미리 읽을 수 있습니다.

    미리보기

목차

옮겨진 이 표제 xiii
베타 리더 리뷰 XV
지운 소개 xviii
이 책에 대해 xx
감사합니다 게시물 xxv

PART I 쉘과 명령에 익숙하다

CHAPTER 1 Linux 환경
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 따옴표와 변수 74
__ 연습 021 배쉬의 배열과 관련 배열 77
__ 연습 022 반복과 종료 상태 80
__ 연습 023 조건 분기 83
__ 진짜 012 변수 읽기 86
__실제 013 존재하지 않는 파일 초기화 89
__ 프로덕션 014 다양한 루프 90
__ 실적 015 문자형 변환 92
2-2 프로세스를 고려하여 쉘 조작 94
__ 연습 024 과정 이해 95
__ 연습 025 과정의 부모와 자식 관계 97
__ 연습 026 내부 및 외부 명령 99
__ 연습 027 서브쉘 사용 101
__ 연습 028 명령 대체 및 프로세스 대체 102
__ 성과 016 변수 현지화 104
__ 성과 017 명령을 사용할 수 없을 때 복사 107
__ 실적 018 쉘 내부 명령만을 사용한 집계 108
__실천 019 쉘 기능을 이용한 파일 덮어쓰기 111
2-3 중괄호 확장 및 파일 글로브 113
__ 연습 029 중괄호 확장 113
__ 연습 030 와일드카드와 파일글로브 114
__ 성과 020 쉘 기능이 있는 ls 출력 116
__ 성과 021 조건이 엄격한 파일 목록 만들기 118
__ 실적 022 더미 FQDN 생성 120
2-4 신호 이해 및 취급 122
__ 연습 031 시그널 조작 122
__ 연습 032 시그널 종류 123
__ 성과 023 다른 쉘로 신호 보내기 126
__ 프로덕션 024 종료 시 파일 삭제 128
__실천 025 피페 페일시 문제 129
__진짜 026 18시가 지나면 퇴직 131
2-5 쉘 명령을 사용할 때 이상한 조작 및 기능 취급 133
__ 성과 027 인수를 변경하고 명령을 다시 실행 134
__실천 028 이상한 이름의 디렉토리 취급 136
__ 성과 029 쉘 스크립트 오류 검사 137
__ 성과 030 정면이 일치하는 변수 이름 140

PART II 사고 능력 연마

CHAPTER 3 문장과 문자
3-1 놀면서 텍스트를 다루는 법 배우기 145
__ 연습 033 진주, 루비 원라이너 145
__ 연습 034 파이썬 원라이너 149
__ 연습 035 정규식 종류 152
__ 연습 036 진주를 사용한 대체 155
__ 진짜 031 대문자로 변환 157
__실천 032 회문검출 159
__실천 033회문 여부 판단 161
__ 진짜 034 한자 뒤에 독음 추가 164
__실천 035 7자 이상 영문자 사용 방지 165
__실전 036 괄호쌍 체크 168
3-2 문장 조사 및 가공 170
__ 연습 037 개행 검색 및 바꾸기 170
__ 연습 038 히라가나와 카타카나 변환 172
__ 연습 039 한자의 독음변환과 영어로 번역 174
__ 연습 040 포맷 변환 176
__ 프로덕션 037 복사 및 붙여넣기 실수 찾기 177
__실천 038 복잡하게 얽힌 문자 엔티티 참조 179
__ 프로덕션 039 문장 개행 181
__ 프로덕션 040 기타 변환 184
__ 실적 041 주석 확인 186
__실천 042 주문된 목록 양식 정리 189
__ 실적 043 문헌 리스트 정렬 191
__ 프로덕션 044 개행 검색 194
__실천 045 여러 행에 걸친 중복 검색 195
__실전 046 한자의 독음 붙여넣기 198

CHAPTER 4 데이터 관리, 집계, 변환
4-1 테이블 형식 데이터 처리 201
__ 연습 041 테이블 201
__ 연습 042 데이터 연결 206
__ 실적 047 전월 비교 데이터 추가 209
__ 실적 048 CPU 부하 조사 1211
__ 실적 049 CPU 부하 조사 2212
__ 실적 050 매출 집계 214
__ 실적 051 시험 점수 목록 출력 217
__ 실적 052 집계 형식 변환 219
__실적 053 결측값 보완 221
4-2 어려운 형식의 데이터 처리 223
__ 연습 043 JSON과 jq 223
__ 연습 044 이스케이프 문자가 포함된 CSV 처리 228
__실천 054 JSON 파일에서 추출 230
__성과 055 JSON 로그 비교 233
__실천 056 비정규 데이터 간의 결합 236
__실천 057 테이블 레이아웃 폼 정리 241
__성적 058 CSV 파일의 숫자 집계 243
__ 성과 059 CSV 파일의 열 수 조사 246
4-3 일시 취급 248
__ 연습 045 날짜 및 시간 계산 249
__ 프로덕션 060 프리미엄 프라이데이 251
__ 성과 061 지난 주 파일 253
__ 성과 062 날짜에 법정 공휴일 추가 255
__실전 063 5주 포함 월 확인 258
__실적 064 제3화요일 일람 261
__실적 065월별 휴일수 263
__ 성과 066 일정 조정 266
__ 실적 067 요일별 분할 268
__실천 068 유닉스 관점 한계 270
__ 프로덕션 069 윤초272

CHAPTER 5자 코드 및 바이너리
5-1 문자 코드에 익숙한 275
__ 연습 046 n진수 276
__ 연습 047 아스키 코드 279
__ 연습 048 유니코드와 UTF-8 281
__ 연습 049 문자 코드 변환 284
__ 프로덕션 070 Excel 워크시트 285
__ 실적 071 자 바이트 수 조사 287
__ 프로덕션 072 이모티콘 289
__ 성과 073 압축 해제 후 문자가 깨진 파일 이름 수정 290
__실전 074년호 표기 292
__ 프로덕션 075 아스키 문자 삭제 294
__성과 076 macOS에서 만든 파일 목록 294
__ 성과 077 다른 문자 코드의 파일 일괄 검색 296
__실천 078 교육용 기초 한자가 아닌 한자 검출 297
__ 성과 079 문자 코드 고유 299
5-2 바이너리 취급 302
__ 연습 050 문자열 바이너리 해석 및 바이트 순서 302
__ 연습 051 바이너리 파일 조사 명령 305
__ 성과 080 2진수에서 문자열 복원 308
__실천 081 BOM 식별 310
__ 프로덕션 082 이미지 분할 312
__ 프로덕션 083 Shift_JIS를 그대로 echo하는 쉘 스크립트 315
__ 실적 084 개행 코드 식별 및 집계 317
__ 업적 085자 이진 평균 감지 320
__성적 086분수 계산 322
__성적 087 od 출력 복원 325
__ 프로덕션 088 디지털 워터마크 해독 327
__ 프로덕션 089 CTF 331

CHAPTER 6퍼즐
6-1 수학 연주 335
__ 연습 052 정확한 계산 335
__ 연습 053 소수 337
__ 연습 054 조합 생성 338
__실수 090 n진수 계산 340
__실천 091 조합추출 341
__ 실적 092 지수 계산 342
__실천 093 처음 소수가 되는 시각(년월일시분초) 344
__실천 094 라그랑주 4제곱정리의 부분 검증 347
__ 프로덕션 095 회색 코드 349
6-2 각종 문제의 정리 352
__실전 096 스케줄 조정 352
__성적 097 세로 읽기 문자열 감지 354
__ 성과 098 기록 분리 357
__실전 099 포커 패배 검출 359
__ 진짜 100 끝 순서로 배열 362
__실천 101 연속 알파벳 검출 및 약어 표기 364
__실전 102콰인 367

PART III의 응용

CHAPTER 7 Linux 환경 조사, 설정, 활용
7-1 파일 및 디렉토리 조사 및 조작 373
__ 연습 055 각종 파일 저장 장소 374
__ 연습 056 파일 시스템 377
__ 연습 057 애노드 379
__실수 103 ls -l 출력의 두 번째 열 380
__ 프로덕션 104 파일 이름 길이 제한? 382
__ 실적 105 디스크 사용량 집계 384
__실천 106 특수 권한 386
__ 실적 107 루트가 된 횟수 집계 388
__실천 108 문제를 야기한 프로세스 해석 391
__실천 109 같은 내용의 파일 찾기 394
__실천 110 여러 디렉토리의 파일 수세기 396
7-2 의사 파일 시스템 사용 398
__ 연습 058 의사 파일 시스템 398
__ 연습 059 프로세스 대체 및 파일 401
__ 실적 111 평균 부하 조사 402
__ 실적 112 날짜 취득 404
__실천 113 현재 디렉토리 조사 406
__실천 114 공유 라이브러리 검색 408
__ 프로덕션 115 USB 메모리 언마운트 411
__실천 116 기기 번호 확인 413
__ 프로덕션 117 USB 연결 및 분리 모니터링 416
__실천 118 프로세스가 열린 파일 조사 418
__ 실적 119 메모리 맵 표시 419
__실천 120 수수께끼 데이터 조사 422
7-3 시스템 통화 추적 425
__ 연습 060 strace 사용 425
__실천 121 파일 경로 추출 427
__ 성과 122 사용한 과정 수세기 429
__ 실적 123 계산 시간 해석 433
7-4 각종 조사 및 설정 정리 436
__ 성과 124 네트워크 기기 목록 437
__ 성과 125 IP 주소 추가 438
__ 프로덕션 126 배시 버전 변수 439
__ 실적 127 터미널 에뮬레이터 윈도우 크기 441
__실천 128환경에 따른 grep의 동작차이 443
__실행 129 실행 파일에서 문자열 추출 445
7-5 원라이너로 서비스 조작하기 447
__ 프로덕션 130 인스턴트 웹 서버 447
__ 프로덕션 131 이메일 알림 보내기 451
__실천 132 로그 모니터링 및 알림 453
__ 프로덕션 133 시스템 자동 종료 454

CHAPTER 8 소프트웨어 개발에 자주 등장하는 원라이너
8-1 소스 코드 및 스크립트 조사 및 형식 정리 457
__ 프로덕션 134 파이썬 들여쓰기 확인 458
__실천 135 리프의 괄호 무결성 확인 459
__ 실수 136 함수 위치 대체 462
__실천 137 코드 양식 정리 464
8-2 데이터 생성 467
__ 연습 061 더미 데이터 생성 467
__실천 138 테스트 케이스 작성 469
__성적 139 URL 목록 471
__실천 140 웹사이트 구조에서 액세스 로그 생성 473
__실천 141 테이블 정보에서 더미 데이터 생성 476
__성적 142비트 스쿼트 479
8-3 플래그 스토어 조사 및 조작 481
__ 연습 062 리포지토리 준비 482
__ 연습 063 수정된 파일 확인 485
__ 연습 064 커밋 완료 정보 활용하기 487
__ 연습 065 브랜치와 병합 491
__성적 143 조건에 맞는 파일만 커밋 496
__성적 144 조건에 맞는 파일만 실행취소 497
__ 실적 145 커밋 빈도 조사 500
__실천 146 오랫동안 병합되지 않은 분기조사 502

CHAPTER 9 인터넷과 통신
9-1 인터넷에서 정보 얻기 505
__ 연습 066 HTML 문장 처리 505
__실전 147 단어 출현 빈도 508
__실전 148 지하철역 목록 작성 510
__ 실적 149 일기 예보 출력 512
__ 프로덕션 150 온라인 서점 정보 스크레이핑 514
__실천 151 여러 사이트의 정보 연계 517
9-2 통신 조사 및 조작 수행 520
__ 연습 067 이름 결정 520
__ 연습 068 HTTP 상태 코드 523
__실천 152 네트워크 감시 525
__ 진짜 153 텔넷 명령어로 HTTP 통신 526
__실천 154 /etc/hosts 사용조사 529
__ 프로덕션 155 부정확한 콘텐츠 길이 531
__ 성과 156 여러 IP 주소가 등록된 도메인 533
__ 성과 157 핑 패킷 분석 534
__ 성과 158 패킷을 이용한 OS 추정 537
__실천 159 여러 도메인 조사 539
__성적 160 SSL 인증서 조사 542

참고문헌 546
조회547

상세 이미지


매우 중요한 뉴스 블로그(클릭)
매우 중요한 뉴스 ebook (클릭)

systrader79의 마크다운에서 PDF 전자책 만들기(클릭)

쉽고 편리한 마크다운 앱으로 신속하게 전자책 만들기 50000원으로 시작하는 총평가 0점

총 0건의 작업 0건의 리뷰에서 총 평가 0의 systrader79 전자책, 투쟈브, 제텍 전자책 서비스를 확인하십시오.전자서적, 투잡·재테크 전자서적 제공 등 50000원부터 시작 가능한 서비스

kmong.com

systrader79의 카카오톡 채널 바로가기(클릭)

systrader79 카카오 뷰 채널

내 블로그에 게시된 투자 자료는 지금까지 500개를 넘었습니다.

나 자신, 당신에게 좋은 투자 정보를 제공하기 위해 최선을 다했습니다.

stock79.


1. 네이버 카페 ‘실전 주식 투자 연구소‘에 오면 본 블로그의 모든 내용을 카테고리별로 나란히 차례로 확인할 수 있으며 다양한 실전 투자 정보도 얻을 수 있습니다~

2. 자타가 인정하는 주식 단기 시스템 트레이딩의 톱 전략가,닥터 퀸트의 단기 트레이딩 코스‘이 뉴지 스택에서 진행 중입니다.

닥터 퀀트 강좌에서는 지금까지 공개하지 않았던 무려 50개 이상의 실전 트레이딩 전략과 정기적인 업데이트 강의가 제공됩니다~





3. systrader79 안에 단기 시스템 트레이딩 강의‘과 ‘팩터백과사전강의’가 뉴지스택에서 진행 중입니다~

4. 당신의 인생이 걸린 매우 중요한 뉴스 —-> 여기를 클릭제발!