리눅스 마스터인 저자의 노하우를 바탕으로 리눅스 스킬 레벨 업!
더 빠르고, 스마트하고, 효율적인 커맨드 라인 작업 스킬을 익히자!
리눅스 명령어는 방대하기 때문에 모든 명령어를 다 외워서 사용할 순 없다. 하지만 초급 개발자에서 중고급 개발자가 되기 위해 리눅스 스킬을 높이고 싶다면 다양한 명령어 활용법을 알아 두는 건 필수다. 이 책은 작업 효율을 높이는 데 가장 많이 사용되는 명령어를 엄선해 수록했으며, 비밀번호 관리, 테스트 파일 생성, 배송 상태 확인 등 실제 업무에서 사용할 수 있는 다양한 실습으로 직접 연습하며 익힐 수 있게 구성했다. 또한, 이러한 다양한 명령어의 활용과 조합을 익힘으로써 리눅스 명령을 실행했을 때 내부에서 어떤 일이 일어나는지와 실행한 명령의 결과가 어떨지를 좀 더 잘 예측할 수 있게 될 것이다. 효율적인 작업을 원하거나 리눅스 스킬을 한 단계 더 끌어올리고 싶은 사람에게 이 책은 기초 단계를 넘어서기 위한 발판이 되어줄 것이다.
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 외의 다른 셸을 위한 도움말
필요한 자료를 선택하세요.
독자의견 남기기