길벗·이지톡

도서 IT전문서/IT입문서 임베디드/시스템/네트워크

리눅스 마스터인 저자의 노하우를 바탕으로 리눅스 스킬 레벨 업!

더 빠르고, 스마트하고, 효율적인 커맨드 라인 작업 스킬을 익히자!

 

리눅스 명령어는 방대하기 때문에 모든 명령어를 다 외워서 사용할 순 없다. 하지만 초급 개발자에서 중고급 개발자가 되기 위해 리눅스 스킬을 높이고 싶다면 다양한 명령어 활용법을 알아 두는 건 필수다. 이 책은 작업 효율을 높이는 데 가장 많이 사용되는 명령어를 엄선해 수록했으며, 비밀번호 관리, 테스트 파일 생성, 배송 상태 확인 등 실제 업무에서 사용할 수 있는 다양한 실습으로 직접 연습하며 익힐 수 있게 구성했다. 또한, 이러한 다양한 명령어의 활용과 조합을 익힘으로써 리눅스 명령을 실행했을 때 내부에서 어떤 일이 일어나는지와 실행한 명령의 결과가 어떨지를 좀 더 잘 예측할 수 있게 될 것이다. 효율적인 작업을 원하거나 리눅스 스킬을 한 단계 더 끌어올리고 싶은 사람에게 이 책은 기초 단계를 넘어서기 위한 발판이 되어줄 것이다.

 

 

목차

1부 핵심 개념

1장 리눅스 명령 결합하기

1.1 입력과 출력, 그리고 파이프

1.2 기본 명령 여섯 가지

__1.2.1 첫 번째 명령 – wc

__1.2.2 두 번째 명령 – head

__1.2.3 세 번째 명령 – cut

__1.2.4 네 번째 명령 – grep

__1.2.5 다섯 번째 명령 – sort

__1.2.6 여섯 번째 명령 – uniq

1.3 중복 파일 찾아내기

1.4 정리

 

2장 셸과 친해지기

2.1 셸에 관한 용어

2.2 파일명 패턴 매칭

2.3 변수 값의 평가

__2.3.1 변수 값의 출처는 어디일까?

__2.3.2 변수에 대해 오해하기 쉬운 것

__2.3.3 패턴과 변수

2.4 별명을 사용해 명령 단축하기

2.5 입력과 출력 리다이렉트하기

2.6 따옴표와 이스케이프를 이용해 변수의 평가를 차단하기

2.7 실행할 프로그램 찾기

2.8 환경 설정 및 초기화 파일, 간단히 설명하기

2.9 정리

 

3장 실행했던 명령을 다시 실행하기

3.1 명령 히스토리 열람하기

3.2 명령 히스토리에서 이전 명령 불러오기

__3.2.1 명령 히스토리를 거슬러 올라가기

__3.2.2 히스토리 확장

__3.2.3 파일 삭제 실수는 이제 안녕(명령 히스토리를 활용한 방법)

__3.2.4 명령 히스토리에 대한 증분 검색

3.3 명령행 편집

__3.3.1 명령어 안에서 커서를 옮겨가며 편집하기

__3.3.2 캐럿을 이용한 히스토리 확장

__3.3.3 이맥스 및 Vim 스타일의 명령행 편집

3.4 정리

 

4장 파일 시스템을 자유롭게 이동하기

4.1 특정한 디렉터리로 빠르게 이동하기

__4.1.1 홈 디렉터리로 빠르게 이동하기

__4.1.2 탭 자동 완성을 이용한 빠른 디렉터리 이동

__4.1.3 별명 또는 환경변수를 이용해 자주 사용하는 디렉터리로 빠르게 이동하기

__4.1.4 CDPATH 설정을 이용한 간편 디렉터리 이동

__4.1.5 빠른 이동을 위한 홈 디렉터리 구성하기

4.2 이전 디렉터리로 편리하게 돌아가기

__4.2.1 ‘cd –’로 두 디렉터리 사이를 반복해서 오가기

__4.2.2 pushd와 popd로 세 개 이상의 디렉터리를 반복해서 오가기

4.3 정리

 

2부 응용 기법

5장 리눅스 명령을 몸에 익히기

5.1 텍스트 생성하기

__5.1.1 date 명령

__5.1.2 seq 명령

__5.1.3 중괄호 확장(셸 내장 기능)

__5.1.4 find 명령

__5.1.5 yes 명령

5.2 문자열 추출하기

__5.2.1 단순 문자열 일치 그 이상의 기능: grep

__5.2.2 tail 명령

__5.2.3 awk {print} 명령

5.3 텍스트 결합하기

__5.3.1 tac 명령

__5.3.2 paste 명령

__5.3.3 diff 명령

5.4 텍스트 변환하기

__5.4.1 tr 명령

__5.4.2 rev 명령

__5.4.3 awk 명령과 sed 명령

5.5 더 많은 리눅스 명령 익히기

5.6 정리

 

6장 부모 프로세스와 자식 프로세스, 그리고 환경

6.1 셸은 실행 파일이다

6.2 부모 프로세스와 자식 프로세스

6.3 환경변수

__6.3.1 환경변수 만들기

__6.3.2 오해하기 쉬운 것 – ‘전역’ 변수

6.4 자식 셸과 하위 셸

6.5 환경 설정하기

__6.5.1 설정 파일 다시 읽어들이기

__6.5.2 다른 컴퓨터로 환경 파일 가져가기

6.6 정리

 

7장 명령을 실행하는 열한 가지 방법

7.1 리스트 형태로 명령 실행하기

__7.1.1 첫 번째 방법: 조건부 리스트 사용하기

__7.1.2 두 번째 방법: 무조건 리스트 사용하기

7.2 치환으로 명령 실행하기

__7.2.1 세 번째 방법: 명령 치환하기

__7.2.2 네 번째 방법: 프로세스 치환하기

7.3 문자열로 명령 실행하기

__7.3.1 다섯 번째 방법: bash에 문자열을 인수로 전달해 명령으로 실행하기

__7.3.2 여섯 번째 방법: bash에 문자열을 파이핑해 명령 실행하기

__7.3.3 일곱 번째 방법: ssh를 사용해 원격에서 문자열을 명령으로 실행하기

__7.3.4 여덟 번째 방법: xargs를 사용해 명령의 연속열 실행하기

7.4 프로세스를 제어해 명령 실행하기

__7.4.1 아홉 번째 방법: 백그라운드 실행하기

__7.4.2 열 번째 방법: 명시적 하위 셸

__7.4.3 열한 번째 방법: 프로세스 교체하기

7.5 정리

 

8장 한 줄로 끝내는 명령 작성하기

8.1 한 줄로 끝내는 명령을 작성하기 위해 필요한 것

__8.1.1 유연한 사고

__8.1.2 시작점 정하기

__8.1.3 작성된 명령을 테스트하기

8.2 연속열에 파일명 삽입하기

8.3 파일의 쌍 확인하기

8.4 홈 디렉터리 구조로부터 CDPATH 생성하기

8.5 테스트용 파일 만들기

8.6 빈 파일 생성하기

8.7 정리

9장 텍스트 파일 활용하기

9.1 첫 번째 예제: 파일 찾기

9.2 두 번째 예제: 도메인 만료 일자 확인하기

9.3 세 번째 예제: 지역 코드 데이터베이스 구축하기

9.4 네 번째 예제: 패스워드 관리 도구 만들기

9.5 정리

 

3부 그 외 주제

 

10장 효율은 키보드에서 나온다

10.1 창 다루기

__10.1.1 터미널 창과 웹 브라우저 창 바로 띄우기

__10.1.2 원샷 윈도

__10.1.3 웹 브라우저 단축키

__10.1.4 창과 바탕화면 전환하기

10.2 명령행으로 웹 검색하기

__10.2.1 명령행에서 웹 브라우저 실행하기

__10.2.2 wget과 curl을 사용해 HTML 내려받기

__10.2.3 HTML-XML 유틸리티를 이용한 HTML 처리

__10.2.4 텍스트 기반 웹 브라우저에서 렌더링된 웹 콘텐츠 내려받기

10.3 명령행에서 클립보드 다루기

__10.3.1 셀렉션을 표준 입력과 표준 출력 스트림에 연결하기

__10.3.2 패스워드 관리 도구 개선하기

10.4 정리

11장 시간을 절약하는 팁

11.1 빠른 자가 승리한다

__11.1.1 less 명령에서 편집기로 바로 이동하기

__11.1.2 지정된 문자열이 포함된 파일을 편집하기

__11.1.3 잦은 오타를 자동 처리하기

__11.1.4 빠르게 빈 파일을 생성하기

__11.1.5 한 줄씩 파일 처리하기

__11.1.6 재귀 실행을 지원하는 명령 확인하기

__11.1.7 man 도움말 읽기

11.2 장기적인 학습이 필요한 것들

__11.2.1 bash의 man 도움말 읽기

__11.2.2 cron, crontab, at 익히기

__11.2.3 rsync 명령 익히기

__11.2.4 다른 스크립트 언어 익히기

__11.2.5 프로그래밍이 아닌 작업에 make 명령 활용하기

__11.2.6 일상적으로 수정하는 파일에 형상 관리 적용하기

11.3 정리

 

부록 A 리눅스 기초 사용법

A.1 명령과 인수, 옵션

A.2 파일 시스템과 디렉터리, 경로

A.3 디렉터리 이동하기

A.4 파일 생성 및 편집하기

A.5 파일 및 디렉터리 다루기

A.6 파일 내용 확인하기

A.7 파일 권한 조정하기

A.8 프로세스 다루기

A.9 참조 문서 보기

A.10 셸 스크립트

A.11 슈퍼 유저 권한 획득하기

A.12 참고 도서 목록

 

부록 B bash 외의 다른 셸을 위한 도움말

 

더보기접기

저자

ㆍ지은이 대니얼 J. 바렛

지은이 소개
소프트웨어 엔지니어이며, 시스템 관리자, 대학 강사, 웹 디자이너, 헤비메탈 가수이자 유머 작가이기도 하다. 현재는 구글에서 근무하고 있다. 30여 년 간 리눅스 및 유관 기술에 대한 강의 및 저술 활동을 해왔다. 『리눅스 핵심 레퍼런스』(인사이트, 2018), 『Linux Security Cookbook』, 『SSH, The Secure Shell: The Definitive Guide』, 『Macintosh Terminal Pocket Guide』, 『MediaWiki』 등 오라일리에서 여러 책을 냈다. 더 자세한 것을 알고 싶다면 DanielJBarrett.com을 방문하기 바란다.

ㆍ옮긴이 심효섭

옮긴이 소개
연세대학교 문헌정보학과를 졸업하고 모교 중앙도서관과의 인연으로 도서관 솔루션 업체에서 일하면서 개발을 시작했다. 네이버에서 웹 서비스 개발 업무를 맡았으며, 웹 서비스 외에 머신 러닝 공부도 꾸준히 하고 있다. 최근 관심사는 회사에 속하지 않고도 지속 가능한 삶이다. 옮긴 책으로는 『도커 교과서』(길벗, 2022), 『그림과 실습으로 배우는 도커&쿠버네티스』(위키북스, 2022), 『비전 시스템을 위한 딥러닝』(한빛미디어, 2021), 『도메인 주도 설계 철저 입문』(위키북스, 2020) 등 20여 종이 있다.

연관 프로그램

아래 프로그램은 길벗출판사가 제공하는 것이 아닙니다.
무료로 사용할 수 있는 정보를 안내해 드리니, 지원이 필요하면 해당 프로그렘 제작사로 문의해 주세요.