Top

리눅스 실전 가이드

  • 원서명A Practical Guide to Linux(R) Commands, Editors, and Shell Programming (ISBN 9780131478237
  • 지은이Mark G. Sobell
  • 옮긴이허영주, 한정애
  • ISBN : 9788989975915
  • 35,000원
  • 2007년 06월 30일 펴냄 (절판)
  • 페이퍼백 | 1,016쪽 | 188*255mm
  • 시리즈 : 오픈소스 프로그래밍

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

◆《리눅스 실전 가이드》 소스코드
소스코드 바로 가기>>


수백 개에 달하는 수준 높은 예제와 함께 모든 리눅스 배포판을 다루는 매우 유용한 리눅스 지침서!

★ 수준 높고 실질적인 예제로 가득한 뛰어난 리눅스 참고서이자 이해하기 쉬운 실용 가이드북!
★ 80개가 넘는 코어 유틸리티, 셸 프로그래밍, 편집기, 프로그래밍 툴에 대한 내용을 모두 다룬다!
★ 강력한 리눅스 커맨드 라인을 마스터하여 진짜 리눅스 전문가가 되자!


[ 책 소개 ]

리눅스를 정말 생산성있게 사용하려면 무엇보다도 셸과 커맨드 라인을 완전히 마스터해야 한다. 이런 전문 지식을 갖추려면 지금까지는 기본적인 리눅스 개념과 기술을 설명한 튜토리얼과 더불어 레퍼런스, 두 종류의 책을 모두 구입해야만 했다. 게다가 불행하게도 대부분의 리눅스 레퍼런스는 정렬된 매뉴얼 이상의 무언가를 제공하지 못하고 있었다. 하지만 이제 확실한 해결책이 생겼다. 저명한 리눅스 전문가인 마크 소벨이 시스템 관리자, 개발자, 파워 유저들이 필요로 하는 툴을 상세하게 설명한 포괄적이고도 통찰력 있는 지침서를 내놓은 것이다. 게다가 이 책에는 걸출한 레퍼런스인 명령어 참조 가이드까지 딸려 있다.
이 책은 모든 리눅스 배포판에 공통적인 내용을 다루고 있다. 따라서 독자는 현재뿐만 아니라 향후 어떤 시점에서라도 모든 리눅스 시스템에 이 책의 내용을 적용할 수 있다. 게다가 어떤 리눅스 책에서도 찾아볼 수 없었던 수백 가지 수준 높은 예제가 들어 있다. 이 책은 리눅스를 기초부터 차근차근 설명하고 있으며, 파일 시스템에서 셸, 편집기에서 유틸리티, 프로그래밍 툴에서 정규식에 이르는 모든 사항에 대해 명확한 설명과 함께 유용한 정보를 제공하고 있다. 이해하기 쉽게 잘 정리된 소벨의 명령어 참조 가이드에서는 원하는 자료와 답을 신속하게 찾아볼 수 있다!

과거는 잊어라. 이보다 더 쉽고 완벽한 리눅스 책은 더 이상 없다!


[ 이 책에서 다루는 내용 ]

■ 독자가 실제로 실행해야 하는 작업과 유사한 실전 예제
■ 리눅스의 구석구석까지 파헤친 소벨의 방대한 지식과 깊은 통찰
■ aspell에서 xargs까지 이르는, 80개 이상의 핵심 유틸리티에 대한 실용적인 설명
■ ssh와 scp를 사용해 안전한 통신을 구현하는 기법과 시스템을 더욱 안전하게 유지하는 수십 가지 팁
■ make, gcc, gdb, CVS 등을 포괄한 리눅스 프로그래밍 환경
■ 기초부터 고급까지 다룬 bash와 tcsh를 사용한 셸 프로그래밍 전문 가이드
■ 사용자에 맞춰 셸을 바꾸고 커맨드 라인에서 대화식으로 사용하는 방법
■ 생산성을 높이고 편집 작업에 대한 효율성을 극대화하기 위해 설계된 vim과 emacs
■ 사용자를 숙련시키고 사용자에게 자신감을 심어주는 연습 예제
■ 시스템을 최신 상태로 자동으로 유지할 수 있게 해주는 Apt, yum, BitTorrent 소개
■ gawk, sed, find, sort, bzip2, 정규식 등에 대한 다양한 설명


[ 이 책의 구성 ]

- 1장 리눅스로의 초대
리눅스에 대한 배경 정보를 제공한다.

I부: 리눅스 운영체제
1부는 리눅스를 소개하면서 리눅스를 처음 시작하는 사용자를 위한 정보를 제공한다.

- 2장 리눅스의 시작
이 책에서 설명을 명확하게 하고 읽기 쉽도록 하기 위해 사용하는 철자 표기법을 설명한다.
- 3장 커맨드 라인 유틸리티
커맨드 라인 인터페이스(CLI, command line interface)를 설명하고 30개 이상의 커맨드 라인 유틸리티를 간략히 소개한다.
- 4장 리눅스 파일 시스템
리눅스 계층 파일 시스템, 파일, 파일명, 경로명, 디렉토리 작업, 접근 권한, 하드 링크와 심볼릭 링크를 설명한다.
- 5장 셸
셸 기능을 이용하여 작업을 빠르고 편리하게 수행하는 방법을 설명한다

II부: 편집기
II부는 전통적이면서도 강력한 리눅스 커맨드 라인 텍스트 편집기 두 개를 다룬다.

- 6장 vim 편집기
vim에 대한 개요에서 시작하여 vim의 여러 고급 기능(검색 문자열의 특수 문자, 범용/네임드 버퍼, 인자, 마커, 셸 명령 실행)을 설명한다. 6장의 마지막 부분에서는 vim 명령들을 요약한다.
- 7장 emacs 편집기
emacs의 개요에서 시작하여 emacs 편집기의 많은 기능과 META, ALT, ESCAPE 키를 사용하는 방법을 설명한다.

III부: 셸
III부는 bash를 좀 더 자세히 다루며 TC 셸(tcsh)을 소개한다.

- 8장 Bourne Again 셸
5장에서 설명한 내용을 심화하는 장으로 셸의 고급 기능을 설명한다
- 9장 TC 셸
tcsh를 설명하며 bash와 tcsh의 공통 기능과 차이점을 다룬다.

IV부: 프로그래밍 툴
IV부는 리눅스에서의 프로그래밍을 다룬다.

- 10장 프로그래밍 툴
리눅스의 특별한 프로그래밍 환경을 설명한다. 10장의 주요 내용은 다음과 같다.
- 11장 Bourne Again 셸 프로그래밍
bash를 이용하여 고급 셸 스크립트를 작성하는 방법을 보여 준다.
- 12장 gawk 패턴 처리어
데이터를 필터링하고, 보고서를 작성하고, 인터넷에서 데이터를 가져오는 강력한 gawk 언어를 이용하여 프로그램을 작성하는 방법을 설명한다.
- 13장 sed 편집기
비대화형 스트림 편집기로 셸 스크립트 내에서 필터로 많이 사용되는 sed를 설명한다. 13장은 sed의 버퍼를 이용하여 단순하면서도 강력한 프로그램을 작성하는 방법을 설명하며 많은 예제도 제공한다.

V부: 명령어 참조 가이드
리눅스는 수백 가지의 유틸리티를 포함한다. 11장과 12장, V부는 직접 C로 프로그램을 작성할 필요 없이 문제를 해결하기 위해 사용할 수 있는 80가지 이상의 중요 유틸리티에 대한 사용 예제를 제공한다

VI부: 부록
VI부는 부록, 용어 사전, 인덱스를 제공한다.

- 부록 A 정규 표현식
리눅스의 숨겨진 힘을 최대한 활용하기 위해 정규 표현식을 사용하는 방법을 설명한다.
- 부록 B 도움말
리눅스 시스템에서 작업하다가 발생할 수 있는 문제를 해결하는 데 일반적으로 사용되는 단계를 설명한다.
- 부록 C 시스템을 최신 버전으로 유지하기
소프트웨어를 다운로드하여 시스템을 최신 버전으로 유지하는 방법을 설명한다. 부록 C는 다음 소프트웨어에 대한 정보를 제공한다.
- 용어집
리눅스의 사용과 관련된 500개 이상의 용어를 설명한다.
- 인덱스
원하는 정보를 빠르게 찾는 것을 도와준다.

저자/역자 소개

[ 저자 소개 ]

마크 G. 소벨
마크 G. 소벨은 유닉스/리눅스 교육, 지원 및 소프트웨어 개발을 주력으로 하는 Sobell Associates Inc.의 사장이다. 소벨은 수많은 유닉스와 리눅스 베스트셀러를 집필했으며, 대표적으로 Prentice Hall PTR에서 나온 『A Practical Guide to Red Hat™ Linux™, Second Edition』뿐만 아니라 Addison-Wesley에서 출간한 『A Practical Guide to the UNIX System』, 『Hands-On UNIX』, 『A Practical Guide to Solaris』 등이 있다. 소벨은 유닉스와 리눅스를 25년이 넘게 다뤄온 최고의 전문가다.


[ 역자 소개 ]

허영주
성균관대학교 컴퓨터공학과 석사를 졸업하고 현대정보기술(HIT) 개발실을 거쳐 현재 한국과학기술 정보연구원에서 연구원으로 근무하고 있다. 역서로 에이콘출판사에서 출간한 『차세대 자바 SOAP AXIS』(2002), 『수학으로 디자인한 플래시의 세계』(2003), 『게임 제작 최전선: 기획에서 개발, 출시까지 게임의 모든 것』(2005), 『서브버전: 실무자가 꼭 알아야할 차세대 버전관리 시스템』(2005) 『조엘이 엄선한 소프트웨어 블로그 베스트 29선』(2006) 등이 있다.

한정애
서울대학교 컴퓨터공학과를 졸업하고 동 대학원에 재학 중이다. 현재 세부 전공은 무선 통신 분야이지만 리눅스와 리눅스 프로그램 등을 포함한 컴퓨터와 관련된 다양한 분야에 관심이 많다. 정보문화사에서 출간한 『소프트웨어 보안, 코드 깨부수기』를 번역했다.


[ 역자 서문 ]

마이크로소프트 사의 윈도우가 우리나라 운영체제 시장을 거의 독점하고 있는 상황이지만 오픈소스를 중심으로 하는 리눅스에 대한 관심도 꾸준히 이어져 오고 있습니다. 다만 리눅스는 ‘고급 사용자를 위한 운영체제’라는 기존 인식 때문인지 일반 사용자들이 접근하기 힘든 면이 있는 것 같습니다. 그러나 알고 보면 리눅스도 그다지 어렵지도 않으며 잘 사용한다면 윈도우 못지 않게 편리하고 강력한 기능을 제공합니다.

사실 이제까지 많은 리눅스 해설서가 있었지만 각종 명령 중심의 참조서가 대부분이어서 초급 사용자에게는 좀 버거웠습니다. 물론 초급 사용자를 위한 책도 출간되기도 했으나 원론적인 설명과 비실용적인 예제들이 많아 배워나가며 리눅스에 익숙해지기는 힘들었던 게 사실입니다. 그에 반해 이 책은 리눅스를 처음 사용해보려는 사용자도 쉽게 따라 해볼 수 있도록 가장 유용하고 필요한 기능들을 단계별로 차근차근 설명하여 리눅스를 사용할 때 느낄 수 있는 강력한 기능들을 손쉽게 맛볼 수 있게 했습니다. 그러는 동안 리눅스의 각종 명령에 익숙해져 그 후에도 리눅스를 손쉽게 이용할 수 있게 도와줍니다. 뿐만 아니라 리눅스에서 많이 사용되는 각종 명령에 대해 쉽고 실용적인 예제를 덧붙여 설명해놓았기 때문에 처음 사용하는 사용자뿐 아니라 중급 사용자들의 요구도 충족시킬 수 있을 것입니다.

리눅스는 각 명령에 대한 풍부한 문서를 제공하기는 하지만 초급 사용자의 입장에서는 어디서 무엇을 어떻게 찾아야 할지도 막막하고, 사용되는 용어도 낯설기 마련입니다. 이 책은 가장 필요한 명령의 가장 많이 사용되는 옵션을 중심으로 직접 쓰일 수 있는 예제를 독자들에게 선사하여 이 책을 손에 쥐는 즉시 바로 실전에 사용할 수 있도록 훌륭히 구성되어 있습니다. 따라서 초급 사용자는 1장에서부터 차근히 보는 쪽을, 중급 사용자는 명령 설명을 중심으로 책을 참조하되 잘 모르는 부분이 있다면 그 명령을 자세히 설명하는 앞부분을 찾아 그 원리를 확실히 이해하는 편을 추천합니다.

목차

목차
  • 1장. 리눅스로의 초대 1
  • GNU와 리눅스 2
    • GNU와 리눅스의 역사 2
    • 프리 코드 4
    • Have Fun! 5
  • 리눅스의 근원: 유닉스 5
  • 리눅스의 장점 6
    • 리눅스가 하드웨어 제작사와 개발자에게 널리 사용되는 이유 7
    • 리눅스의 이식성 8
    • 표준 8
    • C 프로그래밍 언어 9
  • 리눅스의 개요 10
    • 커널 프로그래밍 인터페이스 10
    • 다중 사용자 지원 10
    • 다중 태스크 실행 11
    • 안전하고 계층적인 파일 시스템 11
    • 셸: 커맨드 인터프리터와 프로그래밍 언어 12
    • 수많은 유용한 유틸리티 14
    • 프로세스간 커뮤니케이션 14
    • 시스템 관리 15
  • 리눅스 부가 기능 15
    • GUI: 그래픽 사용자 인터페이스 15
    • 네트워킹 유틸리티 16
    • 소프트웨어 개발 16
  • 요약 17
  • 연습 문제 17
  • 1부 리눅스 운영체제 19
  • 2장. 리눅스의 시작 21
  • 이 책에서 사용한 표기법 22
  • 로그인 24
    • 터미널에서의 로그인 24
    • 원격 로그인: 터미널 에뮬레이션, ssh, 텔넷 25
  • 셸 작업 25
    • 현재 사용 중인 셸 26
    • 오타 수정 26
  • 무제한의 권력: 슈퍼유저 28
  • 문서 찾기 29
    • --help 옵션 29
    • man: 시스템 매뉴얼 출력 30
    • info: 유틸리티 정보 32
    • HOWTO 문서 34
    • 인터넷에서의 도움말 검색 34
  • 로그인에 대한 상세 정보 35
    • 로그인을 할 수 없는 경우 36
    • 로그아웃 36
    • 가상 콘솔의 사용 36
    • 비밀번호의 변경 37
  • 요약 38
  • 연습 문제 39
  • 심화 문제 40
  • 3장. 커맨드 라인 유틸리티 41
  • 특수 문자 42
  • 기본 유틸리티 43
    • ls: 파일 이름의 나열 43
    • cat: 텍스트 파일의 내용 출력 44
    • rm: 파일 삭제 44
    • less는 more다: 텍스트 파일을 화면 단위로 출력 44
    • hostname: 시스템 이름 출력 45
  • 파일 작업 45
    • cp: 파일 복사 45
    • mv: 파일명 변경 46
    • lpr: 파일 인쇄 47
    • grep: 문자열 검색 48
    • head: 파일의 시작 부분 출력 48
    • tail: 파일의 끝 부분 출력 49
    • sort: 파일 내용의 정렬 50
    • uniq: 파일에서 중복된 줄의 제거 50
    • diff: 파일 비교 51
    • file: 파일 정보 테스트 52
  • |(파이프): 프로세스간 통신 52
  • 그 외의 유틸리티 53
    • echo: 텍스트 표시 53
    • date: 시간과 날짜의 출력 54
    • script: 리눅스 세션의 기록 54
    • unix2dos: 리눅스 파일을 윈도우 포맷으로 변환 55
  • 파일의 압축과 보관 56
    • bzip2: 파일 압축 56
    • bunzip2와 bzcat: 파일의 압축 해제 57
    • gzip: 파일 압축 58
    • tar: 여러 개의 파일을 한데 묶거나 푸는 유틸리티 58
  • 검색 명령 61
    • which와 whereis: 유틸리티의 위치 검색 61
    • apropos: 키워드 검색 62
    • slocate: 파일 검색 63
  • 사용자와 시스템 정보 검색 63
    • who: 시스템 사용자의 나열 64
    • finger: 시스템 사용자의 나열 64
    • w: 시스템 사용자의 나열 66
  • 다른 사용자와의 교류 67
    • write: 메시지 전송 67
    • mesg: 메시지의 거부 혹은 수락 68
  • 이메일 68
  • 요약 69
  • 연습 문제 72
  • 심화 문제 73
  • 4장. 리눅스 파일 시스템 75
  • 파일 시스템의 계층 구조 76
  • 디렉토리와 일반 파일 77
    • 파일명 78
    • mkdir: 디렉토리 생성 80
    • 작업 디렉토리 81
    • 홈 디렉토리 82
    • 절대 경로 83
    • 상대 경로 84
    • 중요한 표준 디렉토리와 파일 86
  • 디렉토리 작업 88
    • rmdir: 디렉토리 삭제 89
    • 경로 89
    • mv, cp: 파일 이동과 복사 90
    • mv: 디렉토리 이동 91
  • 접근 권한 91
    • ls -l: 권한 보기 91
    • chmod: 접근 권한의 변경 92
    • Setuid와 Setgid 권한 94
    • 디렉토리 접근 권한 94
  • 링크 96
    • 하드 링크 97
    • 심볼릭 링크 99
    • rm: 링크의 삭제 101
  • 요약 102
  • 연습 문제 103
  • 심화 문제 105
  • 5장. 셸 107
  • 커맨드 라인 108
    • 구문 108
    • 커맨드 라인의 처리 111
    • 커맨드 라인의 실행 113
  • 표준 입출력 113
    • 파일로 취급되는 화면 114
    • 표준 입출력으로 사용되는 키보드와 화면 115
    • 리다이렉션 116
    • 파이프 122
  • 백그라운드에서의 프로그램 실행 125
  • 파일명 생성/경로명 확장 127
    • 특수 문자 ? 128
    • 특수 문자 * 129
    • 특수 문자 [ ] 130
  • 내장 명령 132
  • 요약 133
  • 5장에서 소개한 유틸리티와 내장 명령 134
  • 연습 문제 134
  • 심화 문제 135
  • 2부 편집기 137
  • 6장. vim 편집기 139
  • vim 편집기의 역사 140
  • 튜토리얼: vim을 이용한 파일 생성과 편집 141
    • vim의 시작 141
    • 명령 및 입력 모드 142
    • 텍스트 입력 144
    • 도움말 144
    • 편집 세션의 종료 148
  • compatible 매개 변수 148
  • vim의 기능 소개 148
    • 온라인 도움말 149
    • 동작 모드 149
    • 디스플레이 150
    • 입력 모드에서의 텍스트 수정 151
    • 작업 버퍼 151
    • 줄 길이와 파일 크기 151
    • 윈도우 151
    • 파일 잠금 152
    • 편집 세션의 비정상 종료 152
    • 텍스트 복구 153
  • 명령 모드: 커서 이동 154
    • 문자 단위의 커서 이동 155
    • 특정 문자로 커서 이동 155
    • 단어 단위의 커서 이동 156
    • 줄 단위의 커서 이동 156
    • 문장 또는 단락 단위의 커서 이동 157
    • 화면 내에서의 커서 이동 157
    • 작업 버퍼 보기 157
  • 입력 모드 158
    • 텍스트 삽입 158
    • 텍스트 추가 158
    • 텍스트를 추가할 줄 생성 159
    • 텍스트 대체 159
    • 입력 모드에서의 특수 문자 참조 159
  • 명령 모드: 텍스트 삭제와 변경 160
    • 변경 취소 160
    • 문자 삭제 160
    • 텍스트 삭제 160
    • 텍스트 변경 162
    • 텍스트 대체 163
    • 대소문자 변환 163
  • 검색과 대체 163
    • 문자 검색 164
    • 문자열 검색 164
    • 문자열의 대체 167
  • 그 밖의 명령 170
    • 줄 합치기 170
    • 상태 171
    • .(마침표) 171
  • Yank, Put, Delete 명령 171
    • 범용 버퍼 171
    • 네임드 버퍼 172
    • 넘버드 버퍼 173
  • 파일 읽기/쓰기 174
    • 파일 읽기 174
    • 파일 쓰기 174
    • 파일의 확인 175
  • 매개 변수의 설정 175
    • vim에서의 매개 변수 설정 175
    • 스타트업 파일에서의 매개 변수 설정 176
    • .vimrc 스타트업 파일 176
    • 매개 변수 177
  • 고급 편집 기능 180
    • 마커의 사용 180
    • 파일 전환 181
    • 매크로와 단축키 182
    • vim에서의 셸 명령 실행 183
  • 기준 단위 184
    • 문자 185
    • 단어 185
    • 공백 문자로 구분되는 단어 185
    • 줄 186
    • 문장 186
    • 단락 187
    • 윈도우 187
    • 반복 인자 187
  • 요약 188
  • 연습 문제 193
  • 심화 문제 194
  • 7장. emacs 편집기 195
  • emacs의 역사 196
    • emacs의 진화 196
    • emacs와 vim의 비교 197
  • 튜토리얼: emacs의 기본 기능 198
    • emacs의 시작 198
    • emacs의 종료 199
    • 텍스트 입력 199
    • 문자열 삭제 199
    • 커서 이동 200
    • 커서 위치에서의 편집 202
    • 버퍼 저장과 검색 203
  • 기본적인 편집 명령 204
    • 키: 표기와 사용 204
    • 키 조합과 명령 205
    • META-x: 키 바인딩 없는 명령 실행 205
    • 숫자 인자 205
    • 포인트와 커서 206
    • 버퍼 스크롤 206
    • 텍스트 삭제 207
    • 검색 207
  • 온라인 도움말 209
  • 고급 편집 기능 211
    • 변경 취소 212
    • 마크와 리젼 213
    • 잘라내기와 붙여넣기: 삭제한 텍스트 불러오기 215
    • 특수 문자의 입력 217
    • 전역 버퍼 명령 217
    • 파일 219
    • 버퍼 220
    • 윈도우 222
    • 포그라운드 셸 명령 224
    • 백그라운드 셸 명령 224
  • 언어별 편집 기능 225
    • 메이저 모드 설정 226
    • 자연어 모드 226
    • C 모드 229
    • 사용자가 정의하는 들여쓰기 232
    • 주석 233
    • 특수 모드 233
  • emacs 커스터마이징 235
    • .emacs 스타트업 파일 236
    • 키 리매핑 237
    • 샘플 .emacs 파일 239
  • 추가 정보 240
    • emacs의 시작 240
  • 요약 241
  • 연습 문제 248
  • 심화 문제 250
  • 3부 셸 253
  • 8장. Bourne Again 셸 255
  • 배경 256
  • 셸의 기본 257
    • 스타트업 파일 257
    • 기호로 구성된 명령 260
    • 표준 에러의 리다이렉션 260
    • 간단한 셸 스크립트의 작성 263
    • 작업의 분리와 그룹화 267
    • 작업 컨트롤 271
    • 디렉토리 스택의 조작 274
  • 매개 변수와 변수 276
    • 사용자 생성 변수 278
    • 변수 속성 281
    • 키워드 변수 283
    • 특수 문자 291
  • 프로세스 292
    • 프로세스 구조 292
    • 프로세스 식별 293
    • 명령의 실행 294
  • 히스토리 295
    • 히스토리 제어에 사용되는 변수 295
    • 명령의 재실행과 편집 297
    • Readline 라이브러리 305
  • 앨리어스 312
    • 앨리어스에서의 작은따옴표와 큰따옴표 312
    • 앨리어스 사용 사례 313
  • 함수 315
  • bash 기능과 옵션의 조절 318
    • 커맨드 라인 옵션 318
    • 셸 기능 318
  • 커맨드 라인 처리 322
    • 히스토리 확장 322
    • 앨리어스 대체 322
    • 커맨드 라인의 파싱과 스캔 323
    • 커맨드 라인 확장 323
  • 요약 332
  • 연습 문제 334
  • 심화 문제 336
  • 9장. TC 셸 339
  • 셸 스크립트 340
  • TC 셸의 시작과 종료 341
    • 스타트업 파일 342
  • bash와 tcsh의 공통 기능 343
    • 커맨드 라인 확장(대체) 343
    • 작업 컨트롤 348
    • 파일명 대체 348
    • 디렉토리 스택의 조작 349
    • 명령어 대체 349
  • 표준 에러의 리다이렉션 349
  • 커맨드 라인 작업 350
    • 단어 완성 350
    • 커맨드 라인 편집 353
    • 스펠링 정정 354
  • 변수 355
    • 변수 대체 356
    • 문자열 변수 356
    • 문자열 변수 배열 357
    • 수치 변수 358
    • 중괄호 360
    • 특별한 변수 형식 361
    • 셸 변수 361
  • 제어 구조 368
    • if 368
    • goto 370
    • 인터럽트 처리 371
    • if...then...else 372
    • foreach 373
    • while 375
    • break와 continue 375
    • switch 375
  • 내장 명령 377
  • 요약 381
  • 연습 문제 382
  • 심화 문제 383
  • 4부 프로그래밍 툴 385
  • 10장. 프로그래밍 툴 387
  • C 프로그래밍 388
    • 컴파일러 확인 388
    • C 프로그래밍 예제 389
    • C 프로그램의 컴파일과 링크 393
  • 공유 라이브러리의 사용 396
    • 망가진 바이너리 파일의 수정 398
    • 공유 라이브러리 생성 398
  • make: 프로그램 집합을 최신 버전으로 유지 399
    • 함축 종속성 401
    • 매크로 404
  • C 프로그램의 디버깅 407
    • gcc: 컴파일러 경고 옵션 408
    • 심볼릭 디버거 411
  • 스레드 417
  • 시스템 콜 417
    • strace: 시스템 콜의 추적 418
    • 프로세스 제어 418
    • 파일 시스템 접근 418
  • 소스 코드 관리 420
    • CVS 420
  • 요약 430
  • 연습 문제 431
  • 심화 문제 432
  • 11장. Bourne Again 셸 프로그래밍 435
  • 제어 구조 436
    • if...then 437
    • if...then...else 440
    • if...then...elif 442
    • for...in 449
    • for 451
    • while 453
    • until 456
    • break와 continue 459
    • case 460
    • select 466
    • 히어 다큐먼트 468
  • 파일 디스크립트 470
  • 매개 변수와 변수 474
    • 배열 변수 474
    • 변수의 지역성 475
    • 특수 매개 변수 478
    • 위치 매개 변수 480
    • 널 또는 설정되지 않은 변수의 확장 485
  • 내장 명령 486
    • type: 명령에 대한 정보 출력 487
    • read: 사용자 입력을 받아들임 487
    • exec: 명령의 실행 491
    • trap: 신호 잡기 493
    • kill: 프로세스 중단 497
    • getopts: 옵션 파싱 497
    • 일부 내장 명령 500
  • 표현식 501
    • 수식 연산 501
    • 논리 연산(조건식) 502
    • 문자열 패턴 매치 503
    • 연산자 504
  • 셸 프로그램 510
    • 재귀적인 셸 스크립트 510
    • quiz 셸 스크립트 513
  • 요약 520
  • 연습 문제 522
  • 심화 문제 524
  • 12장. gawk 패턴 처리어 527
  • 문법 528
  • 인자 528
  • 옵션 529
  • 노트 529
  • 언어의 기본 사항 530
    • 패턴 530
    • 액션 531
    • 주석 531
    • 변수 531
    • 함수 532
    • 수치 연산자 533
    • 연관 배열 534
    • printf 534
    • 제어 구조 535
  • 예제 537
  • 고급 gawk 프로그래밍 554
    • getline: 입력 제어 554
    • Coprocess: 양방향 I/O 557
    • 네트워크에서 입력 받기 558
  • 에러 메시지 559
  • 요약 560
  • 연습 문제 561
  • 심화 문제 561
  • 13장. sed 편집기 563
  • 문법 564
  • 인자 564
  • 옵션 564
  • 편집기에 대한 기본 내용 565
    • 주소 565
    • 명령 566
    • 제어 구조 567
    • 패턴 스페이스와 홀드 스페이스 568
  • 예제 568
  • 요약 578
  • 연습 문제 578
  • 5부 명령어 참조 가이드 581
  • 명령어 참조 가이드 583
  • 파일을 표시하거나 처리하는 유틸리티 583
  • 네트워크 유틸리티 584
  • 상태를 표시하거나 변경하는 유틸리티 585
  • 프로그래밍 툴 585
  • 기타 유틸리티 586
  • 표준 배수 접미사 586
  • 공통 옵션 587
  • 일러두기 587
    • sample 유틸리티가 하는 일에 대한 아주 간략한 설명 588
    • aspell 파일 내 맞춤법 검사 589
    • at 특정 시간에 명령어 수행 593
    • bzip2 파일 압축과 압축 풀기 596
    • cal 달력 표시 598
    • cat 파일 표시와 통합 599
    • cd 작업 디렉토리 변경 601
    • chgrp 파일과 관련된 그룹 변경 603
    • chmod 파일의 접근 권한(퍼미션) 변경 604
    • chown 파일의 소유자와 파일이 속한 그룹 변경 608
    • cmp 두 파일 비교 610
    • comm 정렬된 파일 비교 612
    • configure 소스 코드를 자동으로 구성 614
    • cp 파일 복사 616
    • cpio 아카이브의 생성과 아카이브에서 파일의 복원 619
    • crontab crontab 파일 관리 624
    • cut 입력에서 문자나 필드 선택 627
    • date 시스템 시간과 날짜의 표시, 변경 630
    • dd 파일 변환과 복사 633
    • df 디스크 사용 공간 표시 636
    • diff 두 파일의 차이점 표시 638
    • du 파일이 사용하는 디스크 사용 정보 표시 644
    • echo 메시지 표시 647
    • expr 수식 표현식의 값 계산 649
    • file 파일 분류 653
    • find 기준에 맞는 파일 검색 655
    • finger 사용자 정보 표시 661
    • fmt 텍스트를 매우 간단한 포맷에 맞춤 664
    • fsck 파일 시스템 검사와 보수 666
    • ftp 네트워크를 통해 파일 전송 671
    • gcc C와 C++ 프로그램 컴파일 678
    • grep 파일에서 패턴 검색 683
    • gzip 파일 압축과 압축 풀기 688
    • head 파일의 첫 부분 표시 691
    • kill PID로 지정된 프로세스 강제 종료 693
    • killall 이름으로 프로세스 강제 종료 695
    • less 텍스트 파일을 한 번에 한 페이지씩 표시 697
    • ln 파일의 링크 생성 702
    • lpr 프린터로 파일 전송 705
    • ls 하나 이상의 파일에 관한 정보 표시 708
    • make 현재 프로그램 집합 유지 715
    • man 명령어에 대한 문서 표시 721
    • mkdir 디렉토리 생성 724
    • mkfs 장치의 파일 시스템 생성 725
    • Mtools 파일과 디렉토리에서 DOS 방식 명령어 사용 728
    • mv 파일 이름 바꾸기 또는 파일 이동 732
    • nice 명령어의 우선순위 변경 734
    • nohup 로그아웃하고 난 후에도 명령 수행 유지 736
    • od 파일의 내용 덤프 737
    • paste 파일들에서 대응되는 행 통합 742
    • pr 프린트하기 위해 파일의 페이지 나눔 744
    • ps 프로세스 상태 표시 746
    • rcp 원격 시스템간의 파일 복사 750
    • rlogin 원격 시스템으로 로그인 752
    • rm 파일 삭제(링크 삭제) 753
    • rmdir 디렉토리 삭제 755
    • rsh 원격 시스템에서 명령어 수행 756
    • scp 원격 시스템과 안전하게 파일 복사 758
    • sleep 특정 기간 동안 수행을 멈춤 760
    • sort 파일 정렬과 통합 762
    • split 파일을 섹션으로 분할 771
    • ssh 원격 시스템에서 안전하게 명령어 수행 773
    • strings 출력 가능한 문자 표시 777
    • stty 터미널 매개 변수 설정과 표시 778
    • tail 파일의 마지막 부분(꼬리 부분) 표시 783
    • tar 아카이브 파일에 파일 저장 혹은 복원 786
    • tee 표준 입력을 표준 출력과 하나 이상의 파일로 복사 791
    • telnet 네트워크를 통해 원격 시스템으로 연결 792
    • test 산술 표현식 계산 794
    • top 프로세스 상태 동적으로 표시 798
    • touch 파일의 접근과 변경 시간 수정 801
    • tr 특정 문자 교체 804
    • tty 터미널 경로명 표시 807
    • tune2fs ext2나 ext3 파일 시스템의 매개 변수 변경 808
    • umask 파일 생성 권한 마스크(mask) 설정 810
    • uniq 고유한 행만 표시 812
    • w 시스템 사용자 정보 표시 814
    • wc 파일 내 행의 수, 단어 수, 바이트 수 표시 816
    • which 명령어가 위치한 PATH 표시 817
    • who 로그인한 사용자 정보 표시 819
    • xargs 표준 입력을 커맨드 라인으로 변경 821
  • 6부 부록 825
  • 부록 A. 정규 표현식 827
  • 문자 828
  • 구분 문자 828
  • 단순 문자열 828
  • 특수 문자 828
    • 마침표 829
    • [ ] 기호 829
    • * 기호 830
    • ^와 $ 기호 830
    • 특수 문자의 인용 처리 831
  • 규칙 831
    • 가장 길게 일치하는 문자열 831
    • 빈 정규 표현식 832
  • 정규 표현식 묶기 832
  • 치환 문자열 833
    • & 기호 833
    • 인용 처리된 숫자 833
  • 확장 정규 표현식 834
  • 요약 835
  • 부록 B. 도움말 837
  • 문제 해결 838
  • 리눅스와 관련된 정보 찾기 839
    • 문서 839
    • 유용한 리눅스 사이트 840
    • 리눅스 뉴스 그룹 841
    • 메일링 리스트 841
    • 단어 842
    • 소프트웨어 843
    • 오피스 슈트와 워드프로세서 844
  • 터미널 명시 844
  • 부록 C. 시스템을 최신 버전으로 유지하기 847
  • yum: 패키지 갱신과 설치 848
    • yum 구성 848
    • yum 사용 849
  • Apt: yum의 대체물 850
    • Apt 사용 851
  • BitTorrent 855
    • 전제 조건 856
    • BitTorrent 동작 방식 856
    • BitTorrent 사용 857
  • 용어 사전 859

관련 블로그 글

『리눅스 실전 가이드』가 출간됩니다!
(마크 소벨 지음 / 허영주 한정애 옮김 / 35,000원 / 1,016쪽 / 2007년 6월 29일 출간)

/usr/bin 아래에 있는 수많은 명령어들이 과연 무엇을 위해 존재하는지, vi emacs라는 에디터의 능력이 과연 어디까지인지, 하드코어 유닉스 사용자들은 도대체 무슨 툴을 쓰는지 한번쯤 궁금증을 가져 본 사람이라면 이 책에서 좀더 답을쉽게 얻어낼 수 있을 것이다. 이 책은 리눅스가 존재하는 한 언제라도 유용하게 활용될 수 있는 사항들을 담아내고 있으므로, 언젠가 시간이 지나 책은 바래지더라도 이 책의 내용은 새것처럼 은은하게 살아있을것으로 믿는다.

- 권순선 / 국내 최대의 오픈소스 커뮤니티 KLDP(kldp.org) 설립/운영자

『리눅스 실전 가이드』는 리눅스를 처음 배울 때 성공적으로 첫 발을 딛게 하는 데 많은 도움을 줄 것입니다. 리눅스 커맨드 라인 명령어에 대한 자세한 사용법과 배경 지식도 함께 소개가 되어 있습니다. 또한 이 책 곳곳에서 명령어를 사용하는 예를 자세하게 들고 있으므로 독자가 따라 해보기도 쉬우며 직접 타이핑해가면서 명령어에 익숙해질 수 있습니다.

- 박진호 / 임베디드 리눅스 동호회 KELP(kelp.or.kr)회장

『리눅스 실전 가이드』는 보기 드물게 균형이 잘 잡힌 책입니다. 어떤 배포판에서도 적용될 수 있는 표준 커맨드와 필수 에디터, 그리고 프로그래머와 시스템 관리자 모두에게 유용한 셸 프로그래밍에 대해 꼭 필요한 개념에서부터 응용 가능한 적절한 예제에 이르기까지 어느 것 하나 빼놓을 것이 없는 핵심지식만 모아 놓았습니다. 딱 한 권의 리눅스 서적만을 갖고 있어야 한다면 저는 주저 않고 이 책을 선택하겠습니다. 날마다 리눅스와 함께 해야하는 모든 사용자들에게 일용할 양식이 될 것이라고 확신합니다.

- 이일민 / 이프릴 대표 컨설턴트, toby.epril.com 블로그 운영

1,000쪽하고도 16쪽이나 되는 또 한 권의 묵직한 책『리눅스 실전 가이드』가 이달 말에 곧 출간됩니다.  이 책은 리눅스 전문가인 마크 G. 소벨이 지은 명서, A Practical Guide to Linux Commands, Editors, and Shell Programming의 한국어판으로서 2005년 출간된 이후로 각계 리눅스 전문가들이 추천하고 전세계 아마존 독자들이 별★을 모아 담아 격찬하고 있는 훌륭한 책입니다. 이보다 더 쉽고 유용한 리눅스 책은 더 이상 없을 것입니다. 리눅스를 멀리 했던 분들, 이제는 기필코 리눅스를 정복하고야 말겠다는 분들께 권합니다!

오늘도 여러분의 즐거운 저녁 시간을 위해 재미있는 사진 한 장 올려드리겠습니다.
<음, 우리 주인언니 번역하느라 고생이 많구만. 어찌할꺼나. 내가 좀 도와줘? --a>

이 책은 에이콘의 막강 여성역자 대표 두 분 허영주님과 한정애님이 번역을 하셨습니다. 특히 허영주님은 2002년부터 에이콘출판사와 인연을 맺어 책을 번역해오신 분이죠. 지난 6월 14일 이쁜 딸을 낳으셨는데 출산 당일까지도 산통이 오는 줄도 모르고 편집자의 급박한 요구에 흔쾌히 번역을 마무리해주시기도 했습니다.
위 사진은 영주님의 강아지 멜롱레옹(군?양?)의 "열띤 향학열"사진입니다. 한창 번역을 하고 계실 때 현장을 포착해 다음 즐보드에 올려 네티즌들의 뜨거운 호응을 얻었던 사진이라지요. 펴놓고 있는 책은 당연히 이 책의 원서입니다. 어찌나 열독중인지요~ ㅎㅎ
독자 여러분께서도 책을 읽다가 잘 이해가 안되거나 궁금하신 분이 있으시면 "멜롱레옹@원서보는강아지.com"으로 메일 보내주세요~ 단, 강아지의 언어를 유창하게 알아들을 수 있는 분이셔야 할 겁니다. :)

<+α> 오늘 마무리 작업을 하면서 표지를 살짜쿵 바꿔 봤습니다. 이제 이미 떠나버린 기차인 격이지만 "어떠세요? 괜찮은가요?" 정말 좋은 리눅스 책, 여러분께서도 많이 아껴주셨으면 하는 작은 소망을 품어봅니다. ^^/

CC

크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

[ p52 두 번째 문단 1행 ]
diff-u → diff -u (diff 뒤에 공백 추가)

[ p55 아래에서 6행 ]
옵션이 없으면 Unix2dos → 옵션이 없으면 unix2dos

[ p58 1행 ]
letter_e.bz → letter_e.bz2

[ p72 7행 ]
현재 시스템에서
4. 현재 시스템에서

[ p91 그림 4-11 ]
그림 4-11 mv 명령으로 names과 temp 이동 파일 이동
→ 그림 4-11 mv 명령으로 names과 temp 파일 이동

[ p113 1행 ]
61페이지의 which와 hereis 유틸리티에 대한 설명도 참고하라.
→ 61페이지의 which와 whereis 유틸리티에 대한 설명도 참고하라.

[ p259 두 번째 문단 2행 ]
그 다음 명령은 PATH 변수에 항목을 추가한다(184페이지).
→ 그 다음 명령은 PATH 변수에 항목을 추가한다(284페이지).

[ p398 1행 ]
망가진 바이너리 파일의 수정 → 라이브러리 연결이 끊어진 바이너리 파일의 수정

[ p625 아래에서 두 번째 문단 1행 ]
슈퍼유저는 /ect/cron.allow와 /ect/cron.deny 파일을 생성하고,
→ 슈퍼유저는 /etc/cron.allow와 /etc/cron.deny 파일을 생성하고,