(개정3판) 리눅스 실전 가이드 [리눅스 명령, 에디터, 셸 프로그래밍의 모든 것]
- 원서명A Practical Guide to Linux Commands, Editors, and Shell Programming (3rd Edition) (ISBN 9780133085044)
- 지은이마크 소벨
- 옮긴이강준명, 김기주, 남궁재창, 송지연
- ISBN : 9788960776241
- 50,000원
- 2014년 10월 31일 펴냄 (절판)
- 페이퍼백 | 1,224쪽 | 188*255mm
- 시리즈 : 오픈소스 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
리눅스와 맥 OS X을 사용할 때 사용하는 셸 명령과 유틸리티들을 설명한 책으로, 해당 명령의 사용법과 옵션, 리눅스와 맥 OS X에서의 차이점 등을 꼼꼼하게 정리했다. 직접 실행해 보며 익힐 수 있는 예제도 풍부하며, 저자의 사이트에서 소스 코드를 쉽게 내려받을 수 있다. 최신 리눅스의 친절하지만 자동변속기 같은 GUI를 넘어 수동변속기의 미묘한 컨트롤로 넘어가는 데 많은 도움이 될 책이다.
이 책에서 다루는 내용
- 도처에서 흔히 볼 수 있는 RDBMS(relational database management system)를 소개하는 MySQL 단원 추가
- 시스템 관리자와 파워 유저를 위한, 파이썬에 대한 전문가적 설명
- busybox 단일 바이너리 유틸리티 모음, screen 터미널 세션 관리자/다중화기, mc(Midnight Commander) 텍스트 파일 관리자에 대한 설명 추가. 보안 통신용 ssh 사용법에 대한 새로운 단원 추가
- 환경, 상속, 프로세스 지역성, 기초와 고급 셸 프로그래밍 등의 bash와 tcsh에 대한 깊이 있는 설명
- aspell에서 xargs까지, prinf와 sshfs/curlftpfs와 맥 OS X 고유의 유틸리티(ditto에서 SetFile까지) 등의 98가지 핵심 유틸리티에 대한 실용적인 설명
- rsync를 이용해 원격 백업을 자동화하는 방법의 전문적인 안내
- ssh와 scp를 이용한 보안 통신 구현 방법의 단계별 설명 등 십여 가지 시스템 보안 팁
- 단계 값, 시퀀스 표현식, eval 내장 명령, 묵시적 커맨드라인 계속 등 셸을 커스터마이즈하는 팁과 비결
- vim와 emacs를 이용한 생산성 높은 편집 기법
- find, grep, sort, tar 등 98가지 유틸리티를 다루는 포괄적인 명령 참조 가이드
- apt-get과 yum을 사용해서 시스템을 갱신하는 방법
- 비트토렌트, gawk, sed, find, sort, bzip2, 정규 표현식 등
이 책의 대상 독자
이 책은 폭넓은 독자들을 대상으로 기획됐다. 약간의 컴퓨터 사용 경험이 있으면 도움이 되기는 하겠지만, 프로그래밍 경험이 꼭 필요하지는 않다. 이 책은 다음과 같은 독자들에게 적합하다.
- 리눅스나 맥 OS X 활용 수업을 듣는 학생
- 커맨드라인을 통해 리눅스나 맥 OS X의 힘을 탐구하고자 하는 고급 사용자
- 업무에서 리눅스나 맥 OS X을 사용하는 전문가
- 유닉스/리눅스가 무엇이며, 왜 모두들 중요하다고 말하는지, 어떻게 활용하는지 알고 싶은 맥 초보 사용자
- 맥 OS X 기저에 있는 유닉스/리눅스의 힘을 활용하는 방법을 알고 싶은 맥 고급 사용자
- 유닉스 기술을 리눅스나 맥 OS X 환경에 적용하고 싶은 유닉스 사용자
- 리눅스나 맥 OS X와 내부 도구(배시, 펄, 파이썬 스크립트 언어 등)에 대한 좀 더 깊은 이해가 필요한 시스템 관리자
- 펄과 파이썬으로 비롯해 리눅스를 안팎으로 이해해야 하는 웹 개발자
- 리눅스나 맥 OS X 운영체제를 공부하는 컴퓨터과학 전공 학생
- 리눅스나 맥 OS X 프로그래밍 환경을 이해해야 하는 프로그래머
- 리눅스나 맥 OS X의 기초를 알고 싶은 기술 임원
이 책의 구성
1장. 리눅스와 맥 OS X 소개 리눅스와 OS X에 대한 배경 정보를 제공한다. 1장은 리눅스의 역사를 다루고, OS X 마크 커널의 개요를 살펴보며, GNU 프로젝트가 리눅스 초기에 어떻게 도움이 됐는지를 알아보고, 다른 운영체제와 구별되는 리눅스의 주요 특징 중 일부를 살펴본다.
1부: 리눅스와 맥 OS X 운영체제 1부는 리눅스를 소개하고 사용을 시작할 수 있게 도와준다.
2부: 편집기 2부는 두 가지 고전적이면서도 강력한 리눅스 커맨드라인 문서 편집기를 다룬다. 대부분의 리눅스 배포판은 널리 쓰이는 vi 편집기의 ‘향상된’ 버전인 vim 문서 편집기와, 대중적인 GNU emacs 편집기를 담고 있다. 문서 편집기를 이용하면 프로그램, 셸 스크립트, 메모, 문서 서식 프로그램의 입력 데이터를 담을 수 있는 문서 파일을 만들고 수정할 수 있다. 리눅스 시스템 관리를 위해서는 텍스트 기반 구성 파일을 편집해야 하기 때문에 숙련된 리눅스 관리자는 문서 편집기 사용에 능숙하다.
3부: 셸 3부는 bash에 대해 좀 더 자세히 알아보고, tcsh를 소개한다. 4부: 프로그래밍 도구 4부는 리눅스와 맥 OS X 시스템 관리와 일반적인 프로그래밍에 폭넓게 쓰이는 중요한 프로그래밍 도구를 다룬다.
5부: 보안 네트워크 유틸리티 5부는 원격 시스템에서 작업할 때와 네트워크를 통해 안전하게 파일을 복사할 때 사용할 수 있는 두 가지 유틸리티를 설명한다.
6부: 명령 참조 가이드 리눅스는 수백 가지 유틸리티를 담고 있다. 14, 15, 16, 17장과 6부는 C 프로그래밍에 의존하지 않고도 문제를 해결할 수 있는 백여 가지 주요 유틸리티의 폭넓은 용례를 제공한다. 이미 유닉스/리눅스에 익숙하다면 이 책의 이 부분은 귀중하고 사용하기 쉬운 참고 자료가 될 것이다.
7부: 부록 7부에는 부록과 용어 사전, 찾아보기를 담았다.
개정2판에 대한 각계의 추천글
처음에 사람들에게 리눅스 사용법을 가르쳤던 소벨이 이제 리눅스의 힘을 가르친다. 리눅스 실력을 한 단계 높이고 싶은 사람이라면 꼭 읽어야 하는 책
- 존 “매드독” 홀 / 리눅스 인터내셔널의 전무
이 책은 ‘뚜껑 속을 들여다보고자 하는’, 즉 정말 리눅스의 힘을 작업에 이용하고자 하는 사람이라면 누구에게나 매우 유용한 도구다. man 페이지의 단점은 예제가 전혀 없다는 점이다. 반면 소벨은 명령이 하는 일의 개요를 명확히 설명한 후 셸 프로그래밍을 스스로 쉽게 시작할 수 있도록 일반적이고 이해하기 쉬운 몇 가지 예를 보여준다. 소벨의 다른 책들과 마찬가지로, 이 책은 간단하고, 명확하며, 읽기 쉽다. 훌륭한 책이므로 쉽게 손 닿는 곳에 오랫동안 두고 읽을 책이다.
- 레이 바틀렛 / 여행 작가
나는 이 책이 매우 훌륭하다는 것을 알아차리고, 내 서가의 가장 잘 보이는 곳에 꽂아뒀다. 리눅스의 진짜 내부 장기(커맨드라인과 유틸리티)를 정말 훌륭하게 다룬다. 이 책의 강점은 예제의 사용이 뛰어나다는 점과 명령 참조가이드에 있다. 모든 수준의 리눅스 사용자에게 강력히 추천한다. 마크 소벨과 프렌티스 홀 출판사가 정말 훌륭한 책을 만들었다!”
- 댄 클로 / 전자공학자이자 슬랙웨어(Slackware) 리눅스 사용자
대부분의 리눅스 책과 전혀 다르게, 이 책은 GUI를 써서 내용을 설명하기보다는, 바로 커맨드라인의 힘이 곧 독자의 역량이 되도록 만들어 준다.
- 비욘 티플링 / ask.com 소프트웨어 엔지니어
이 책은 이제까지 내가 본 십여 종의 리눅스 서적 중 최고의 책으로, 특정 배포판에 구애받지 않는 기초적인 리눅스 참고서다. 이 책을 찾은 것은 정말 행운이었다. 커맨드라인에서 어떤 일이 일어나는지 알고 싶고, 유닉스 계열 자유 OS의 힘과 유연성이 어디에서 비롯되는지를 알고 싶다면, 이 책은 어떤 도구보다도 최고의 가이드가 될 것이다.
- 채드 페린 / <테크> 기고자
나는 몇 년 전에 윈도우 XP에서 리눅스로 옮겼고, 몇 가지 배포판을 거쳐 리눅스 민트에 정착했다. 69세 나이에 내가 소화할 수 있는 것보다 많은 것을 시도하는 게 아닐까 생각했지만, 여러 책들과 지역 LUG의 도움으로 GUI 수준의 리눅스를 편안하게 쓸 수 있게 됐다. CLI에 대해 더 배우고 싶어서 몇 달 전에 마크 소벨의 책(리눅스 실전가이드 2판)을 샀다. 이 책은 내게 CLI를 이해하는 토대를 제공했다. 리눅스 세계에 입문한 ‘초보’ 입장으로, 훌륭하고 따라 하기 쉬운 안내서로서 많은 리눅스 사용자들에게 이 책을 강력히 추천한다.”
- 존 나웰 / CQLUG(Central Queensland Linux User Group)
나는 『리눅스 실전가이드 2판』을 소장한 열성 팬이다. 나는 이 책을 시스코 지원 엔지니어로 일하는 동안 읽고 활용했다. 개정3판이 출판되는 대로 구입할 계획이다. 문자 그대로 1000대(IMS 코어 노드)에 걸쳐 엄청난 양의 커맨드라인 작업을 수행할 것이다. 2판을 통해 이미 많은 도구를 얻었다고 생각한다. 당신의 책을 최대한 빨리 구하고 싶다. 당신이 책을 쓰는 방식은 내가 학습하는 방식과 매우 잘 맞아떨어진다.”
- 로버트 링겐펠터 / VoIP/IMS 지원 엔지니어
목차
목차
- 1장 리눅스와 맥 OS X 소개
- 유닉스와 GNU 리눅스의 역사
- 리눅스가 좋은 점
- 리눅스 개요
- 리눅스의 추가 기능
- 연습문제
- 1부 리눅스와 맥 OS X 운영체제
- 2장 시작
- 이 책에서 사용하는 표기법
- 터미널(에뮬레이터 포함)을 통한 로그인
- 커맨드라인에서 작업
- su/sudo: root 특권 제한
- 문서를 찾을 위치
- 로그인과 패스워드에 대한 추가 사항
- 정리
- 연습문제
- 심화 문제
- 3장 유틸리티
- 특수 문자
- 기본 유틸리티
- 파일 관련 작업
- |(파이프라인): 프로세스 간 통신
- 쓸모 있는 4가지 유틸리티
- 파일 압축과 보관
- 위치 찾기 유틸리티
- 사용자와 시스템 정보 출력
- 다른 사용자와 통신
- 이메일
- 정리
- 연습문제
- 심화문제
- 4장 파일 시스템
- 계층적 파일 시스템
- 디렉토리 파일과 일반 파일
- 경로명
- 디렉토리 작업
- 접근 권한
- ACL: 접근 제어 목록
- 링크
- 정리
- 연습문제
- 심화문제
- 5장 셸
- 커맨드라인
- 표준 입력과 표준 출력
- 백그라운드에서 명령 실행
- 파일명 생성/경로명 확장
- 내장 명령
- 정리
- 5장에서 소개한 유틸리티와 내장 명령
- 연습문제
- 심화문제
- 2부 편집기
- 6장 vim 편집기
- 역사
- 사용 지침서: vim을 이용한 파일 생성과 편집
- vim 기능 소개
- 명령 모드: 커서 이동
- 입력 모드
- 명령 모드: 텍스트 삭제와 변경
- 검색과 대체
- 기타 명령
- 텍스트의 복사, 이동, 삭제
- 파일 읽기/쓰기
- 매개변수 설정
- 고급 편집 기법
- 기준 단위
- 정리
- 연습문제
- 심화문제
- 7장 emacs 편집기
- 역사
- 사용 지침서: emacs 시작
- 기본 편집 명령
- 온라인 도움말
- 고급 편집 기능
- 메이저 모드: 언어별 편집
- emacs 커스터마이징
- 추가 정보
- 정리
- 연습문제
- 심화문제
- 3부 셸
- 8장 bash(Bourne Again Shell)
- 배경
- 시작 파일
- 기호로 구성된 명령
- 표준 에러 리다이렉트
- 간단한 셸 스크립트 작성과 실행
- 제어 연산자: 분리와 그룹 명령
- 작업 제어
- 디렉토리 스택 관리
- 인자와 변수
- 특수 문자
- 로케일
- TIME
- 프로세스
- 히스토리
- 에일리어스
- 에일리어스 예제
- 함수
- bash 제어: 기능과 옵션
- 커맨드라인 처리
- 정리
- 연습문제
- 심화문제
- 9장 tcsh(TC Shell)
- 셸 스크립트
- tcsh에 들어가고 나오기
- bash와 tcsh의 공통 기능
- 표준 에러 리다이렉트
- 커맨드라인 작업
- 변수
- 제어 구조
- 내장 명령
- 정리
- 연습문제
- 심화문제
- 4부 프로그래밍 도구
- 10장 bash 프로그래밍
- 제어 구조
- 파일 디스크립터
- 매개변수
- 변수
- 내장 명령
- 표현식
- 암묵적 커맨드라인의 연속성
- 셸 프로그램
- 정리
- 연습문제
- 심화문제
- 11장 펄 스크립팅 언어
- 펄 소개
- 변수
- 제어 구조
- 파일 작업
- Sort
- 서브루틴
- 정규 표현식
- CPAN 모듈
- 예제
- 정리
- 연습문제
- 심화문제
- 12장 파이썬 프로그래밍 언어
- 소개
- 스칼라 변수, 리스트, 사전
- 제어 구조
- 파일 읽고 쓰기
- 정규 표현식
- 함수 정의
- 라이브러리 사용
- 람다 함수
- 지능형 리스트
- 정리
- 연습문제
- 심화문제
- 13장 MySQL 데이터베이스 관리 시스템
- 참고 사항
- MySQL 서버와 클라이언트 설치
- 클라이언트 옵션
- MySQL 설정
- 데이터베이스 생성
- 사용자 추가
- 예제
- 정리
- 연습문제
- 14장 AWK 패턴 처리 언어
- 문법
- 인자
- 옵션
- 참고 사항
- 언어의 기초
- 예제
- 고급 gawk 프로그래밍
- 정리
- 연습문제
- 심화문제
- 15장 sed 편집기
- 문법
- 인자
- 옵션
- 편집기 기초
- 예제
- 정리
- 연습문제
- 5부 보안 네트워크 유틸리티
- 16장 rsync 보안 복사 유틸티
- 문법
- 인자
- 옵션
- 예제
- 정리
- 연습문제
- 17장 OpenSSH 보안 통신 유틸리티
- OpenSSH에 대한 소개
- ssh, scp, sftp OpenSSH 클라이언트 실행
- 터널/포트 포워딩
- 정리
- 연습문제
- 심화문제
- 6부 명령 참조 가이드
- 파일을 표시하고 다루는 유틸리티
- 네트워크 유틸리티
- 상태를 표시하거나 변경하는 유틸리티
- 프로그래밍 도구 유틸리티
- 기타 유틸리티
- 표준 배수 접미사
- 공통 옵션
- sample 유틸리티
- 7부 부록
- 부록 A 정규 표현식
- 부록 B 도움말
- 부록 C 시스템을 최신으로 유지
- 부록 D 맥 OS X 노트
- 용어 사전