메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

유닉스 파워 툴, 개정 3판

유닉스 파워 툴, 개정 3판

한빛미디어

번역서

절판

  • 저자 : 셸리 파워즈(Shelly Powers) 외 3명
  • 번역 : 서환수
  • 출간 : 2005-01-05
  • 페이지 : 1328 쪽
  • ISBN : 8979142633
  • 물류코드 :1263
  • 초급 초중급 중급 중고급 고급
4.3점 (17명)
좋아요 : 30

"쉽게 찾아보고 활용할 수 있는 실전 유닉스 백과 사전"

"때론 사전처럼, 때론 매뉴얼처럼, 자유자재로 활용하는 유닉스 팁과 테크닉"

유닉스는 태생적으로 "파워 툴" 환경이라고 할 수 있다. 유닉스를 배운 지 얼마 안 된 사용자라도 셸 프로그래밍, 앨리어스, 히스토리 메커니즘 및 다양한 편집 툴 속에 어마어마한 파워가 숨어 있다는 사실을 알 수 있다. 하지만 유닉스에서 제공하는 파워를 완벽하게 정복한 사용자는 매우 드물다.

유닉스 파워 툴(개정 3판)에서는 유닉스를 더 쉽고 효율적으로 그리고 더 재미있게 사용하는 데 도움이 될 만한 팁 수천 개와 스크립트 그리고 테크닉을 소개한다. 이 책은 짧은 절 수백 개로 구성되며 서로 다른 절을 참조하는 부분이 상당히 많이 있기 때문에 여기저기 책장을 넘겨가며 관련된 내용을 찾아볼 수 있게 구성했다. 흥미로운 팁을 하나씩 배우면서 책을 읽다 보면 정말 많은 것을 익힐 수 있을 것이다.

리눅스의 인기가 계속해서 올라가고 Mac OS X이 새로 등장하면서 유닉스는 많은 사용자에게 다시금 새롭고 흥미진진한 대상이 되고 있다. 유닉스가 더는 어려운 운영 체제로 인식되지 않으면서 점점 많은 사용자가 유닉스의 장점을 깨달아가고 있다. 최신 개정 3판에서는 사용자들이 알아야 할 모든 새로운 기술을 다루면서 유닉스의 모든 면에 관한 다양한 조언을 제공하낟. 또한 리눅스, Mac OS X, BSD에 관한 핵심 정보는 물론, bash나 zsh 같은 신형 셸에 관한 내용과 최신 유틸리티나 애플리케이션에 관한 정보도 폭넓게 다룬다. 보안과 인터넷 연결에 관한 내용도 대폭 보강했으며, 요즘 갈수록 널리 퍼지고 있는 각종 플랫폼이 혼합된 환경을 따라잡을 수 있게 윈도우와 유닉스 사이의 연결에 관한 내용도 새롭게 추가했고, 소프트웨어 설치와 패키징, 펄과 파이썬에 관한 기본적인 내용도 수록했다.

이 책의 웹사이트에서는 유닉스 사용자들이 사용할 수 있는 여러 가지 우수한 소프트웨어를 제공하므로 다운로드해서 자신의 파워 툴에 추가하여 사용하자.

유닉스 초보자나 고급 사용자를 불문하고 이 책을 읽으면서 자신의 지식을 폭넓게 확장할 수 있을 것이다. 뭔가 새로운 것을 하고 싶다면 일단 이책을 뒤져보자. 다른 방법으로는 힘들게 익혀야 하는 팁이나 트릭을 손쉽게 익힐 수 있을 것이다.

"이 책은 일반적인 리눅스/유닉스 사용자에게 성서가 될 것이다. 즉 평소 절대 할 수 없을 것 같은 일들을 쉽게 해낼 수 있을 것이다. 또한 자신의 지식 수준을 불문하고 모든 독자가 이 책에서 뭔가를 얻을 수 있을 것이다." - Sam Ockman, CEO, Penguin Computing
셸리 파워즈(Shelly Powers) 외 3명 저자

셸리 파워즈(Shelly Powers) 외 3명

셸리 파워즈(Shelly Powers)
세인트루이스에서 테크놀러지 아키텍처와 소프트웨어 개발 분야를 전무느로 하는 프리랜서로 활동중이다. "ASP 컴포넌트 개발하기", "Essential Blogging", "Practical RDF" 같은 컴퓨터 서적의 저자기도 하며 오라일리에서 웹 기술 관련 기사를 쓰기도 한다.

제리 픽(Jerry Peek)
아주 오래 전부터 유닉스를 사용했으며 유닉스 컨설턴트, 코스웨어 개발자, 강사 등으로 활동하고 있다. 이번 개정판 작업에 참여했으며 "한권으로 끝내는 유닉스(개정 5판)"의 저자기도 하다.

팀 오라일리(Tim O"Reilly)
오라일리사의 설립자며 CEO다. "UNIX Text Processing", "Managing UUCP and USENET", "Windows XP in a Nutshell"을 비롯한 다양한 컴퓨터 서적을 집필했다. 오픈 소스, 오픈 스탠다드의 추종자며 불필요한 소프트웨어 특허의 종식을 위한 활동에도 열심히 참가하고 있다. 2001년에는 출판 분야의 이사야 토마스 상(Isaiah Thomas Award for Publishing)을 수상했다.

마이크 루키디스(Mike Loukides)
오라일리의 편집자로, "System Performance Tuning"과 "UNIX for FORTRAN Programmers"의 저자기도 하다. 시스템 관리, 네트워킹, 프로그래밍 언어, 컴퓨터 아키텍처 등에 관심을 두고 있다. 전기공학 학사 학위와 영문학 박사 학위를 가지고 있다.
서환수 역자

서환수

서울대학교 물리학과에서 학사, 박사 학위를 받았고 지금은 삼성종합기술원에서 물리학을 연구하고 있다. 한빛미디어에서 『Head First Java』, 『Programming Challenges: 알고리즘 트레이닝 북』, 『프로그래머로 사는 법』, 『슬라이드올로지』를 비롯한 여러 권의 책을 번역했다.

역자 서문
차례
이 책의 사용 방법
저자 서문

1부. 기본 유닉스 환경
1장. 소개
1.1 유닉스에는 뭔가 특별한 것이 있다
1.2 솟아나는 힘을 느껴보자
1.3 유닉스의 핵심
1.4 유닉스와 사용자
1.5 서로 협력하는 프로그램
1.6 여러 가지 셸
1.7 내가 이용하고 있는 셸은
1.8 셸 프로그래밍이 별건가요
1.9 내부 명령어와 외부 명령어
1.10 커널과 데몬
1.11 파일명
1.12 파일명 확장자
1.13 와일드카드
1.14 파일시스템의 트리 구조
1.15 홈 디렉토리
1.16 경로명 생성
1.17 파일 접근 퍼미션
1.18 수퍼유저(루트)
1.19 파일이 아닌 파일
1.20 스크립트
1.21 유닉스 네트워킹과 통신
1.22 X 윈도우 시스템

2장. 도움말 얻기
2.1 man 명령어
2.2 whatis: 온라인 명령어 요약
2.3 whereis: 명령어의 위치를 찾는 방법
2.4 온라인 매뉴얼 페이지 검색하기
2.5 유닉스 시스템에서 시스템 이름을 기억하는 방법
2.6 버전을 확인하는 방법
2.7 tty를 확인하는 방법
2.8 접속자를 확인하는 방법
2.9 info 명령어

2부. 환경 설정
3장. 유닉스 셸 설정
3.1 로그인할 때 일어나는 일
3.2 Mac OS X 터미널 애플리케이션
3.3 셸 설정 파일: 무엇을, 어디서, 왜
3.4 로그인 셸, 대화식 셸
3.5 셸 설정 파일에서 벌어지는 일
3.6 계정 설정을 변경할 때 유용한 팁
3.7 셸 설정 파일에서는 절대 경로를 사용하자
3.8 제때 적용되지 않는 설정 파일
3.9 set prompt 테스트의 비밀
3.10 서로 다른 터미널 자동 설정
3.11 터미널 설정: TERM 환경 변수
3.12 터미널 설정: 원격 호스트 및 X 디스플레이
3.13 터미널 설정: 포트 테스트
3.14 터미널 설정: 환경 변수 테스트
3.15 터미널 설정: 터미널 테이블 검색
3.16 터미널 설정: 윈도우 크기 테스트
3.17 터미널 설정: 윈도우 이름 설정 및 테스트
3.18 호스트별 설정을 위한 .cshrc.$HOST 파일
3.19 "로그인" 셸을 만드는 방법
3.20 RC 파일
3.21 troff를 쓰지 않고 매뉴얼 페이지를 만드는 방법
3.22 -man 매크로를 써서 간단한 매뉴얼 페이지를 만드는 방법

4장. 환경과 상호 작용하기
4.1 기초적인 프롬프트 설정 방법
4.2 정적 프롬프트
4.3 동적 프롬프트
4.4 동적 프롬프트 흉내내기
4.5 vi, rsh 등에서 문제를 일으키는 C 셸 프롬프트
4.6 내장 명령어를 이용한 빠른 프롬프트 설정
4.7 다중행 셸 프롬프트
4.8 윈도우 제목 또는 상태 표시줄의 세션 정보
4.9 초보 사용자를 위한 메뉴 프롬프트
4.10 셸 프롬프트 강조 및 색 입히기
4.11 오른쪽 프롬프트
4.12 $SHLVL로 서브셸 레벨 나타내기
4.13 텅 빈 프롬프트의 유용성
4.14 $cwd보다 좋은 dirs
4.15 외부 명령에서 보낸 시그널로 변수 설정하기
4.16 프롬프트 전 명령, 실행 전 명령, 주기적인 명령
4.17 로그아웃할 때 명령을 실행하는 방법
4.18 본/콘 셸에서 로그아웃할 때 명령을 실행하는 방법
4.19 본 셸에서 실수로 로그아웃하는 것을 방지하는 방법

5장. 터미널, xterm, X 윈도우 활용법
5.1 터미널에 대해 알아둬야 할 사항
5.2 터미널 데이터베이스
5.3 로그인할 때 터미널 유형을 설정하는 방법
5.4 터미널 유형 질의: qterm
5.5 xterm의 크기를 알아내는 방법: resize
5.6 로그인했을 때 터미널이 먹통이 되는 경우
5.7 stty를 이용하여 터미널 설정을 알아내는 방법
5.8 삭제 문자, kill 문자, 인터럽트 문자 설정하기
5.9 xterm과 친구들
5.10 로그인 xterm 및 rxvt
5.11 스크롤 바를 다루는 방법
5.12 몇 행을 저장할 것인가
5.13 xterm에서의 간단한 복사 및 붙이기
5.14 선택을 할 때 단어에 속하는 문자를 정의하는 방법
5.15 제목 표시줄과 아이콘 텍스트 설정법
5.16 폰트를 선택하는 간단한 방법
5.17 xterm 메뉴
5.18 동적으로 폰트를 바꾸는 방법
5.19 xlicpboard를 활용하는 방법
5.20 큰 선택 영역의 문제점
5.21 윈도우 사이에서 복사 및 붙이기 작업을 할 때의 팁
5.22 xterm -e를 써서 한 명령을 실행하는 방법
5.23 xterm -e의 인자는 따옴표로 감싸면 안 된다

6장. X 환경
6.1 xmodmap으로 키 및 버튼을 정의하는 방법
6.2 xev를 이용하여 keysym 매핑을 확인하는 방법
6.3 X 리소스 문법
6.4 X 이벤트 해석
6.5 X 리소스 설정: 개요
6.6 -xrm 옵션으로 리소스를 설정하는 방법
6.7 -name 옵션
6.8 xrdb를 이용하여 리소스를 설정하는 방법
6.9 어떤 클라이언트와 관련된 리소스를 출력하는 방법: appres
6.10 원격 X 클라이언트

3부. 파일 및 디렉토리 작업
7장. 디렉토리 구조
7.1 정리 정돈
7.2 홈 디렉토리
7.3 디렉토리 접근
7.4 사용자의 프로그램과 스크립트를 저장하기 위한 bin 디렉토리
7.5 비밀(개인) 디렉토리
7.6 파일 이름을 정하는 방법
7.7 디렉토리를 많이 만들자
7.8 디렉토리 쉽게 만들기

8장. 디렉토리와 파일
8.1 find 명령을 제외한 모든 것
8.2 세 가지 유닉스 파일 시각
8.3 ls -t와 ls -u를 이용하여 가장 오래된 또는 가장 최근의 파일을 찾는 법
8.4 ls -R을 이용한 모든 서브디렉토리 출력
8.5 ls -d 옵션
8.6 컬러 ls
8.7 GNU ls
8.8 최근에 변경된 파일을 출력하기 위한 csh 앨리어스
8.9 숨김 파일 보기(-A, -a 옵션)
8.10 유용한 ls 앨리어스
8.11 파일을 접근할 수 없다면 이름 속의 공백을 찾아보자
8.12 파일명에 포함된 출력 불가 문자를 출력하는 방법
8.13 유형별로 파일 개수 세기
8.14 시간 및 크기를 기준으로 정렬된 목록
8.15 newer: 가장 최근에 수정한 파일을 출력하는 앨리어스
8.16 oldlinks: 연결되지 않은 심볼릭 링크 찾아내기
8.17 자동으로 유일한 파일명을 고르는 방법

9장. find로 파일을 찾는 방법
9.1 find를 사용하는 방법
9.2 깊은 디렉토리 트리 파고 들어가기
9.3 -print를 잊지 말자
9.4 특정한 이름을 가진 파일을 찾는 방법
9.5 오래된 파일을 찾는 방법
9.6 find 검색 연산자의 전문가가 되자
9.7 find에서 검색할 수 있는 시각
9.8 정확한 파일 시각 비교
9.9 찾아낸 파일에 대해 원하는 명령을 실행하는 방법
9.10 -exec를 이용한 테스트
9.11 -exec 테스트 응용
9.12 한 명령으로 여러 가지 찾기
9.13 파일 유형별 검색
9.14 파일 크기별 검색
9.15 파일 퍼미션별 검색
9.16 소유자와 그룹으로 검색하는 방법
9.17 디렉토리 트리 복사 방법
9.18 "빠른 find" 데이터베이스
9.19 와일드카드와 "빠른 find" 데이터베이스
9.20 find 데이터베이스로 파일을 훨씬 빠르게 찾는 방법
9.21 디렉토리 트리에 대해 grep을 실행하는 방법
9.22 lookfor: 특정 단어가 들어 있는 파일을 찾는 방법
9.23 셸 배열을 써서 디렉토리를 훑어보는 방법
9.24 파일에 대한 하드 링크를 찾는 방법
9.25 -prune으로 파일 찾기
9.26 현재 디렉토리에 대해 간단한 find 명령을 내리는 방법
9.27 find에서 트리의 특정 부분을 건너뛰는 방법
9.28 find에서 네트워크 파일시스템을 검색하지 않게 하는 방법

10장. 파일 링크, 이름 변경 및 복사
10.1 파일 복사가 뭐 그리 복잡할까
10.2 디렉토리 안에는 실제로 무엇이 들어 있을까
10.3 이름이 두 개 이상인 파일
10.4 링크에 대한 추가적인 정보
10.5 링크 생성 및 삭제
10.6 끊어진 심볼릭 링크
10.7 디렉토리에 링크를 거는 방법
10.8 심볼릭 링크의 실제 파일명을 출력하는 방법
10.9 여러 파일의 이름 변경, 복사 및 비교
10.10 대화식으로 여러 파일의 이름을 바꾸는 방법
10.11 또 다른 방법
10.12 cp -r로 디렉토리 트리를 복사하는 방법
10.13 tar와 파이프를 써서 디렉토리 트리를 복사하는 방법

11장. 파일 비교
11.1 diff로 파일을 비교하는 방법
11.2 diff3을 이용하여 세 가지 버전을 비교하는 방법
11.3 컨텍스트 diff
11.4 sdiff
11.5 sdiff에서 어느 한 쪽의 내용을 선택하는 방법
11.6 diff와 탭 간격의 문제점
11.7 cmp와 diff
11.8 comm으로 두 파일을 비교하는 방법
11.9 comm 결과의 형식을 바꾸는 방법
11.10 make는 프로그래머만을 위한 프로그램이 아니다
11.11 make의 또 다른 활용법

12장. 파일 들여다보기
12.1 까다로운 문제를 해결하는 방법
12.2 cat을 정복하는 네 가지 방법
12.3 less
12.4 cat -v 또는 od -c를 써서 출력 불가 문자를 보는 방법
12.5 그 공백 문자에는 뭐가 있을까
12.6 파일 유형을 찾는 방법
12.7 비어 있는 행을 지우는 방법
12.8 파일의 끝 부분만 보는 방법: tail
12.9 tail을 더 정교하게 제어하는 방법
12.10 파일이 점점 커져갈 때 파일 내용을 보는 방법
12.11 GNU tail의 파일 따라가기 기능
12.12 파일 시작 부분만 보는 방법
12.13 행 번호 붙이기

13장. 파일 내용 검색
13.1 grep의 종류
13.2 grep으로 텍스트를 검색하는 방법
13.3 매치하지 않는 텍스트를 찾는 방법
13.4 egrep을 이용한 더 강력한 검색
13.5 grep에서 패턴 목록을 사용하는 방법
13.6 agrep
13.7 rcsgrep을 이용한 RCS 파일 검색
13.8 GNU 컨텍스트 grep
13.9 sed를 이용한 다중행 컨텍스트 grep
13.10 복합 검색
13.11 검색 범위를 빠르게 줄이는 방법
13.12 대소문자 구별 없이 검색하는 방법
13.13 어떤 열에 있는 문자 한 개를 찾는 방법
13.14 look을 이용한 빠른 검색과 철자 검사
13.15 이진 파일에서 단어를 찾는 방법
13.16 강조 기능이 있는 grep

14장. 파일 지우기
14.1 생성과 소멸의 순환
14.2 유닉스에서 파일을 관리하는 방법: inode
14.3 위험한 rm 명령어
14.4 rm을 조금 안전하게 쓰기 위한 트릭
14.5 "Yes" 또는 "No"를 물어볼 때 항상 yes로 대답하는 방법
14.6 일부는 지우고 일부는 남겨두는 방법
14.7 대화식으로 파일을 더 빠르게 지우는 방법
14.8 특정 디렉토리에 있는 파일을 안전히 삭제하는 방법
14.9 안전한 삭제 방법의 장단점
14.10 무조건 지우는 방법: rm -f
14.11 이름이 이상한 파일을 지우는 방법
14.12 와일드카드를 써서 이름이 이상한 파일을 지우는 방법
14.13 대시(-)로 시작하는 파일명을 처리하는 방법
14.14 unlink를 써서 이름이 이상한 파일을 지우는 방법
14.15 i-번호를 써서 이상한 파일을 지우는 방법
14.16 디렉토리를 지울 때의 문제점
14.17 오래된 파일을 지우는 방법
14.18 하나만 빼고 모든 파일을 지우는 방법
14.19 find로 불필요한 파일을 정리하는 방법

15장. 디스크 공간 최적화
15.1 저렴한 하드 디스크 가격
15.2 파일을 지우는 대신 비워버리자
15.3 로그 파일과 메일 박스
15.4 링크를 써서 공간을 절약하는 방법
15.5 파일 크기를 제한하는 방법
15.6 파일을 압축해서 공간을 절약하는 방법
15.7 디렉토리 트리를 tar로 묶고 압축해서 공간을 절약하는 방법
15.8 디스크 공간을 확인하는 방법
15.9 디렉토리 트리 압축: 원하는 파일만 골라서 압축하기
15.10 strip으로 실행 파일의 용량을 줄이는 방법
15.11 디스크 쿼터

4부. 기본 편집
16장. 철자법 검사, 단어 수 계산, 텍스트 분석
16.1 유닉스 spell 명령어
16.2 ispell
16.3 정확한 철자를 찾는 방법
16.4 spell 작동 방법
16.5 ispell의 사전에 단어를 추가하는 방법
16.6 행, 단어, 문자의 개수를 세는 방법: wc
16.7 중복된 단어를 찾는 방법
16.8 짝 맞추기
16.9 단어만 찾는 방법

17장. vi 팁과 트릭
17.1 vi 에디터가 왜 이리 중요할까
17.2 이 장에서 다루는 내용
17.3 vi로 여러 파일을 편집하는 방법
17.4 파일을 번갈아 편집하는 방법
17.5 vi의 지역 설정
17.6 버퍼를 이용하여 텍스트를 옮기고 복사하는 방법
17.7 번호가 있는 버퍼로 지운 내용을 되살리는 방법
17.8 검색 패턴 및 전역 명령어를 사용하는 방법
17.9 vi에서 치환하는 내용을 확인하는 방법
17.10 원본 파일은 그대로 두고 새로운 파일로 저장하는 방법
17.11 파일의 일부분을 저장하는 방법
17.12 기존 파일에 내용을 덧붙이는 방법
17.13 패턴을 이용하여 텍스트 블록을 옮기는 방법
17.14 유용한 전역 명령어
17.15 특정 단어의 사용 횟수를 세는 방법
17.16 한 행에 있는 모든 단어를 대문자로 시작하는 형태로 바꾸는 방법
17.17 파일마다 다른 설정 파일을 적용하는 방법
17.18 유닉스 명령으로 텍스트를 필터링하는 방법
17.19 vi 파일 복구 기능과 네트워크 파일시스템
17.20 vi -r로 복구한 버퍼를 다룰 때의 주의점
17.21 셸 이스케이프
17.22 vi 복합 검색
17.23 vi 단어 약어
17.24 vi 약어를 명령으로 사용하는 방법(vi끼리 잘라서 붙이는 방법)
17.25 vi 약어를 써서 오타를 수정하는 방법
17.26 vi의 행 명령어와 문자 명령어
17.27 임시 공간이 부족할 때 다른 디렉토리를 사용하는 방법
17.28 행을 깔끔하게 만드는 방법
17.29 취소 기능으로 위치를 찾는 방법
17.30 .exrc 파일로 vi를 설정하는 방법

18장. vi에서 사용자 정의 명령어를 만드는 방법
18.1 왜 필요한 것보다 더 많은 것을 입력해야 할까
18.2 vi의 map 명령으로 시간과 타이핑하는 수고를 절약하는 방법
18.3 map! 명령을 쓸 때의 문제점
18.4 vi @-함수
18.5 vi를 실행하는 윈도우에 붙여넣기 위한 키맵
18.6 ex에서 키를 해석하는 것을 방지하는 방법
18.7반복적인 편집을 위한 맵
18.8 vi에서의 키맵의 다른 예
18.9 vi 키맵을 반복하는 방법
18.10 CAPS LOCK을 사용하지 않고 대문자를 쓰는 방법	117
18.11 화살표를 쓰지 않고 텍스트 입력 모드에서 커서를 움직이는 방법
18.12 noremap 옵션
18.13 긴 행을 끊기 위한 vi 매크로
18.14 파일 백업 매크로

19장. GNU Emacs
19.1 Emacs: 또 다른 에디터
19.2 Emacs의 다양한 기능
19.3 사용자 정의 기능과 이 기능을 쓰지 않는 방법
19.4 백업 파일과 자동 저장 파일
19.5 Emacs에서 겹침 모드를 사용하는 방법
19.6 명령어 자동 완성 기능
19.7 기본 키만으로 모든 일을 처리하는 방법
19.8 검색 기능
19.9 Emacs 사용 전 PWD 해제
19.10 파일에 이진 문자를 삽입하는 방법
19.11 단어 약어 모드
19.12 Emacs 핵용 디렉토리
19.13 재미있는 기능

20장. 배치 편집
20.1 행 단위 에디터가 좋은 이유
20.2 편집 스크립트 작성하기
20.3 행 주소
20.4 유용한 ex 명령어
20.5 vi 내에서 편집 스크립트를 실행하는 방법
20.6 한 번 편집으로 여러 파일을 변경하는 방법
20.7 ed/ex 배치 편집: 예제
20.8 배치 편집 시 주의 사항: 큰 파일을 편집할 때 에러가 발생하는 경우
20.9 patch
20.10 awk
20.11 awk의 버전

21장. 편집의 한계 극복 
21.1 못할 것이 없다
21.2 fmt를 이용해서 텍스트를 다듬는 방법
21.4 프로그램 주석을 정돈하는 방법
21.5 메일/뉴스 메시지의 헤더를 제거하는 behead
21.6 dd를 이용한 파일 처리
21.7 offset: 텍스트 들여 쓰기
21.8 가운데 정렬
21.9 고정된 위치에서 파일을 자르는 방법: split
21.10 문맥에 맞추어 파일을 자르는 방법: csplit
21.11 tr을 이용하여 문자를 바꾸는 방법
21.12 "이진" 파일을 ASCII로 인코딩하는 방법
21.13 dd를 이용한 텍스트 변환
21.14 열이나 필드를 자르는 방법
21.15 pr을 이용해서 열 안에 텍스트를 만드는 방법
21.16 column으로 자동으로 열을 만드는 방법
21.17 열을 깔끔하게 맞추는 방법
21.18 열 안에 내용을 집어넣는 방법
21.19 join으로 행을 합치는 방법
21.20 uniq
21.21 텍스트 회전

22장. 정렬
22.1 순서대로 정렬하는 방법
22.2 필드 정렬: sort의 작동 방법
22.3 sort의 필드 구분자를 바꾸는 방법
22.4 공백 문자를 필드 구분자로 쓸 때의 문제점
22.5 알파벳 정렬과 숫자 정렬
22.6 sort에 관한 몇 가지 팁
22.7 길이 순서대로 행을 정렬하는 방법: lensort	110
22.8 성을 기준으로 이름의 목록을 정렬하는 방법

5부. 프로세스와 커널
23장. 작업 제어
23.1 작업 제어 개요
23.2 작업 제어 기초
23.3 작업을 효율적으로 사용하는 방법
23.4 작업 제어를 사용할 때의 주의점
23.5 "현재 작업"이 예상과 다른 경우
23.6 작업 제어와 vi의 autowrite
23.7 시스템에 과부하가 걸릴 때
23.8 작업의 상태 변경 알리기
23.9 stty tostop으로 백그라운드 출력을 차단하는 방법
23.10 nohup
23.11 프로세스 소유권 해제
23.12 리눅스 가상 콘솔
23.13 원격 로그인 세션을 중지하는 방법

24장. 프로세스 시작, 정지 및 죽이기
24.1 이 장에서 다루는 내용
24.2 fork와 exec
24.3 프로세스 관리: 전반적인 개념
24.4 서브셸
24.5 ps 명령어
24.6 제어 터미널
24.7 프로세스를 추적하는 방법
24.8 왜 어떤 명령은 괄호로 싸여 있을까
24.9 /proc 파일시스템
24.10 시그널
24.11 포그라운드 작업을 죽이는 방법
24.12 kill 명령어로 프로세스를 죽이는 방법
24.13 프린터 큐 감시자: 재가동할 수 있는 데몬 셸 스크립트
24.14 자신의 프로세스를 모두 죽이는 방법
24.15 이름으로 프로세스를 죽이는 방법
24.16 대화식으로 프로세스를 죽이는 방법
24.17 폭주하는 프로세스를 정지하는 방법
24.18 죽일 수 없는 프로세스를 정리하는 방법
24.19 좀비 프로세스는 왜 죽일 수 없을까
24.20 윈도우로 이어지는 프로세스 사슬
24.21 셸 없는 터미널 윈도우
24.22 프로세스를 죽여서 윈도우를 닫는 방법

25장. 작업 예약
25.1 쉽게 소프트웨어 로봇을 만드는 방법
25.2 주기적으로 프로그램을 실행하는 방법: cron
25.3 crontab 항목을 추가하는 방법
25.4 cron 항목에서 표준 입력을 포함하는 방법
25.5 at 명령어
25.6 at 작업을 조용하게 실행하는 방법
25.7 작업 확인 및 제거
25.8 다른 at 또는 cron 작업을 피하는 방법
25.9 sleep 명령어

26장. 시스템 성능과 프로파일링
26.1 시간이 왜 중요할까
26.2 프로그램 실행 시간 측정
26.3 현재 실행 중인 명령어와 실행 시간을 알아내는 방법
26.4 시스템 부하 검사: uptime
26.5 nice
26.6 nice를 쓸 때 주의할 점
26.7 실행 중인 작업의 nice 수치를 변경하는 방법

6부. 스크립팅
27장. 셸에서 명령어를 해석하는 방법
27.1 셸에서 하는 일
27.2 셸에서는 다른 명령을 실행하는 방법
27.3 그런데 셸은 과연 무엇일까
27.4 명령어 해석과 실수에 의한 파일 덮어쓰기
27.5 명령행 인자를 하나씩 출력하기
27.6 검색 경로를 제어하는 방법
27.7 앨리어스에 들어 있는 와일드카드
27.8 eval
27.9 bash에서 어느 것을 이용할까
27.10 C 셸에서 어느 것을 이용할까
27.11 "2>&1 file"인가, "> file 2>&1"인가
27.12 본 셸의 인용 처리
27.13 본 셸과 C 셸의 인용 처리의 차이점
27.14 파일명에 있는 특수 문자를 인용 처리하는 방법
27.15 verbose와 echo 변수
27.16 Here Documents
27.17 "특수" 문자와 연산자
27.18 백슬래시의 개수

28장. 명령행에서 시간을 절약하는 방법
28.1 유닉스 명령행의 특별한 점
28.2 CTRL-r로 명령행을 다시 출력하는 방법
28.3 와일드카드를 사용하여 파일을 만드는 방법
28.4 {}를 써서 문자열을 만드는 방법
28.5 문자열 편집(콜론) 연산자
28.6 자동 완성 기능
28.7 파일명 자동 완성 기능을 쓸 때 불필요한 파일을 제외하는 방법
28.8 명령어 반복
28.9 명령어를 반복하고 조금씩 변화하는 방법
28.10 복사 및 붙이기를 써서 명령어를 반복하는 방법
28.11 시간에 따라 결과가 달라지는 명령을 반복하는 방법
28.12 다중행 명령어와 보조 프롬프트
28.13 Here Documents의 첫번째 예:포맷팅되지 않은 폼 편지
28.14 명령어 치환
28.15 임시 파일을 써서 많은 양의 텍스트를 다루는 방법
28.16 세미콜론을 써서 명령어를 분리하는 방법
28.17 너무 많은 인자를 다루는 방법
28.18 Expect

29장. 사용자 정의 명령어
29.1 사용자 정의 명령어 만들기
29.2 셸 앨리어스 소개
29.3 C 셸 앨리어스에서 명령행 인자를 사용하는 방법
29.4 본 계열 앨리어스 설정 및 해제 방법
29.5 콘 셸 앨리어스
29.6 zsh 앨리어스
29.7 source 명령을 적용할 수 있는 스크립트
29.8 C 셸에서 앨리어스 루프를 피하는 방법
29.9 C 셸의 앨리어스에 if-then-else를 넣는 방법
29.10 C 셸에서 makealias와 quote를 사용하여 인용 처리를 수정하는 방법
29.11 셸 함수의 기초
29.12 셸 함수에 관한 좀더 자세한 내용
29.13 셸 함수 전파
29.14 본 셸 함수와 앨리어스를 흉내내는 방법

30장. 히스토리 사용법
30.1 역사로부터의 교훈
30.2 히스토리 요약
30.3 내가 가장 좋아하는 !$
30.4 내가 가장 좋아하는 !:n*
30.5 내가 가장 좋아하는 ^^
30.6 와일드카드의 안전한 사용을 위해 !$를 쓰는 방법
30.7 히스토리 번호를 활용하는 방법
30.8 히스토리 치환
30.9 명령어 사이클 반복
30.10 파일에서 일련의 명령어를 실행하는 방법
30.11 :p를 사용한 히스토리 확인
30.12 로그아웃할 때 히스토리를 남겨놓는 방법
30.13 다른 셸로 히스토리를 전달하는 방법
30.14 셸의 명령행 편집 기능
30.15 histchars를 써서 히스토리 문자를 바꾸는 방법
30.16 히스토리 문자를 바꾸는 대신 쓸 수 있는 방법

31장. 빠르게 움직이는 방법
31.1 파일시스템 살펴보기
31.2 상대 경로명과 절대 경로명
31.3 현재 디렉토리
31.4 현재 디렉토리의 이름을 찾는 방법
31.5 디렉토리를 변경하는 시간을 절약하는 방법: cdpath
31.6 루프 제어: break와 continue
31.7 셸의 pushd와 popd 명령어
31.8 pushd를 활용한 앨리어스
31.9 앨리어스를 이용한 빠른 cd
31.10 디렉토리 이니셜을 써서 이동하는 방법
31.11 다른 사용자의 홈 디렉토리를 빠르게 찾는 방법
31.12 셸 변수로 위치를 표시하는 방법
31.13 디렉토리를 들어가고 나올 때 자동으로 설정하는 방법

32장. 정규 표현식(패턴 매칭)
32.1 표현식이란
32.2 와일드카드와 정규 표현식을 혼동하지 말자
32.3 정규 표현식의 이해
32.4 정규 표현식에서 메타 문자를 사용하는 방법
32.5 정규 표현식: 앵커 문자 ^과 $
32.6 정규 표현식: 문자 집합으로 문자를 매치하는 방법
32.7 정규 표현식: 점(.)을 써서 임의의 문자를 매치하는 방법
32.8 정규 표현식: [...]로 문자의 범위를 지정하는 방법
32.9 정규 표현식: 특정 문자를 제외하는 방법
32.10 정규 표현식: *로 문자 집합을 반복하는 방법
32.11 정규 표현식: {과 }로 특정 반복 횟수를 지정하는 방법
32.12 정규 표현식: <와 >를 써서 단어를 매치하는 방법
32.13 정규 표현식: (, ), 1을 써서 패턴을 기억하는 방법
32.14 정규 표현식: 잠재적인 문제
32.15 확장 정규 표현식
32.16 제대로 된 정규 표현식을 만드는 방법
32.17 무엇이 정규 표현식에 매치하는가
32.18 매치 범위를 제한하는 방법
32.19 원하지 않는 메타 문자를 결코 사용하지 않는다
32.20 각 유닉스 프로그램에서 쓸 수 있는 메타 문자
32.21 패턴 매칭 퀵 레퍼런스

33장. 와일드카드
33.1 파일명을 지정하기 위한 와일드카드
33.2 파일명 와일드카드 요약
33.3 와일드카드는 어디에서 처리할까
33.4 와일드카드가 매치하지 않으면 
33.5 경로명 안에 와일드카드를 사용할 수 없는 경우
33.6 grep -l로 매치하는 파일의 목록을 구하는 방법
33.7 매치하지 않는 파일의 목록을 구하는 방법
33.8 nom: 와일드카드에 매치하지 않는 파일의 목록을 구하는 방법

34장. 스트림 에디터 sed
34.1 sed 지루한^H^H^H요약
34.2 sed에 관해 알아야 할 두 가지 사항
34.3 sed 실행하기
34.4 sed 스크립트 테스트 및 이용: checksed, runsed
34.5 sed에서 행을 지정하는 방법
34.6 스크립트에 있는 명령어의 순서
34.7 한 번에 하나씩
34.8 정규 표현식 구분하기
34.9 sed 치환문 내의 개행 문자
34.10 치환문에서 검색 문자열을 참조하는 방법
34.11 검색 문자열의 일부분을 참조하는 방법
34.12 찾기 및 바꾸기: 여러 개 중에서 하나만 매치하는 방법
34.13 텍스트 변환
34.14 대기 공간: 임시 버퍼
34.15 행의 일부분을 변환하는 방법
34.16 행 경계를 넘나들면서 편집하는 방법
34.17 열심히 일하는 비서
34.18 여러 행에 걸쳐 분리되어 있는 패턴을 찾는 방법
34.19 다중행 삭제
34.20 특정 부분을 제외하고 편집하는 방법
34.21 sed의 테스트 명령어
34.22 sed 종료 명령어
34.23 sed의 종료 명령어를 사용할 때 주의할 점
34.24 셸 스크립트에서의 개행 문자, 인용 처리, 백슬래시

35장. 초보자를 위한 셸 프로그래밍
35.1 간단한 셸 프로그램을 만드는 방법
35.2 누구든지 셸 프로그래밍을 조금은 알아야 한다
35.3 환경 변수의 용도
35.4 부모와 자식 사이의 관계
35.5 미리 정의된 환경 변수
35.6 PATH 환경 변수
35.7 PATH와 path
35.8 DISPLAY 환경 변수
35.9 셸 변수
35.10 본 셸의 case를 이용하여 문자열의 값을 테스트하는 방법
35.11 case 선언문에서의 패턴 매칭
35.12 유닉스 프로세스의 종료 상태
35.13 if 선언문으로 종료 상태를 테스트하는 방법
35.14 성공 여부를 테스트하는 방법
35.15 종료 상태를 테스트하는 순환문
35.16 셸(스크립트)의 종료 상태를 설정하는 방법
35.17 인터럽트로 인해 종료되는 것을 트래핑하는 방법
35.18 read: 키보드로부터 정보를 읽어오는 방법
35.19 awk, sed 등을 위한 셸 스크립트 "래퍼"
35.20 셸 스크립트에서 명령행 인자를 처리하는 방법
35.21 for 순환문으로 명령행 인자를 처리하는 방법
35.22 while과 shift를 써서 인자를 처리하는 방법
35.23 순환문 제어: break와 continue
35.24 표준 명령행 파싱 방법
35.25 본 셸의 set 명령어
35.26 test: 파일과 문자열을 테스트하는 방법
35.27 새로운 명령어의 이름을 선택하는 방법
35.28 프로그램 이름을 찾는 방법과 한 프로그램에 여러 이름을 부여하는 방법
35.29 .과 source 명령어로 파일을 읽는 방법
35.30 셸 스크립트에서 셸 함수를 사용하는 방법

36장. 중고급 사용자를 위한 셸 프로그래밍
36.1 기초를 뛰어넘어서
36.2 :#, #! 이야기
36.3 셸이 필요 없는 스크립트
36.4 #!에서 PATH를 검색하게 만드는 방법
36.5 exec 명령어
36.6 본 셸의 ":" 연산자
36.7 매개 변수 치환
36.8 한 프로그램에 이름을 여러 개 지정하는 방법
36.9 마지막 명령행 인자를 찾는 방법
36.10 모든 명령행 매개 변수의 설정을 해제하는 방법
36.11 표준 입력을 for 순환문으로
36.12 변수 여러 개를 이용하여 순환문 만들기
36.13 basename과 dirname
36.14 순환문 제어 명령이 여러 개 있는 while 순환문
36.15 열려 있는 파일 및 파일 기술자
36.15 n>&m: 표준 출력과 표준 에러를 서로 바꾸기
36.17 셸에서 표준 입력으로부터 스크립트를 읽을 수도 있지만
36.18 표준 입력으로부터 즉석에서 셸 스크립트를 실행하는 방법
36.19 인용 처리된 here document 종결자
36.20 사용자가 입력한 내용이 화면에 나타나지 않게 하는 방법
36.21 expr 퀵 레퍼런스
36.22 expr로 문자열에 있는 문자를 테스트하는 방법
36.23 문자열의 일부분만 잡아내는 방법
36.24 중첩된 명령어 치환
36.25 case 선언문 하나로 문자열 두 개를 검사하는 방법
36.26 X 윈도우로 텍스트를 출력하는 방법
36.25 셸의 락 파일

37장. 셸 스크립트 디버깅 및 주의 사항
37.1 셸 스크립트 디버깅을 위한 팁
37.2 본 셸 디버거를 써서 셸 변수를 확인하는 방법
37.3 숫자를 비교할 때 문법 에러 방지하기
37.4 문자열을 비교할 때 문법 에러 방지하기
37.5 인용 처리와 명령행 매개 변수
37.6 유닉스에서 시간을 처리하는 방법
37.7 script로 작업 중인 내용을 복사하는 방법
37.8 스크립트 파일 청소 방법
37.9 테스트용으로 임의의 크기인 파일을 만드는 방법

7부. 환경 확장 및 관리
38장. 파일 백업
38.1 "백업"이란 무엇일까
38.2 tar 요점 정리
38.3 직접 백업하는 방법
38.4 다른 백업 방법
38.5 지역 장치에 백업하는 방법
38.6 tar 명령어로 테이프에서 파일을 복구하는 방법
38.7 원격 테이프 장치에 대해 tar를 사용하는 방법
38.8 GNU tar로 원격 테이프 드라이브를 사용하는 방법
38.9 증분 백업
38.10 tar에서 와일드카드를 사용하는 방법
38.11 tar에서는 절대 경로를 쓰지 않는 것이 좋다
38.12 tar의 인자를 올바른 순서로 구하는 방법
38.13 cpio 테이프 아카이버
38.14 고성능 백업 프로그램

39장. 아카이브를 만들고 읽는 방법
39.1 파일 묶어서 옮기기
39.2 tar를 써서 아카이브를 만들고 푸는 방법
39.3 GNU tar 맛보기
39.4 RCS와 CVS를 써서 파일을 관리하고 공유하는 방법
39.5 RCS 개요
39.6 rcsrevs를 사용하여 RCS 리비전 번호 목록을 출력하는 방법
39.7 CVS 개요
39.8 CVS 예제

40장. 소프트웨어 설치
40.1 /usr/bin과 기타 소프트웨어 디렉토리
40.2 유닉스에서 소프트웨어를 설치할 때 힘든 점
40.3 어떤 make인가
40.4 make 절차를 간단하게 만드는 방법
40.5 데비안의 dselect
40.6 데비안의 apt-get으로 소프트웨어를 설치하는 방법
40.7 이어받기를 할 수 있는 wget
40.8 curl 애플리케이션과 OS X을 위한 One-Step GNU-다윈 자동 인스톨러
40.9 FreeBSD Ports를 써서 설치하는 방법
40.10 FreeBSD 패키지를 써서 설치하는 방법
40.11 RPM 패키지를 찾아서 설치하는 방법

41장. 펄
41.1 고품격 셸 스크립팅
41.2 시스템에 설치된 펄을 확인하는 방법
41.3 펄 소스 코드를 컴파일하는 방법
41.4 펄 신병 교육, 제 1부: 일반적인 스크립트의 구조
41.5 펄 신병 교육, 제 2부: 변수와 데이터 타입
41.6 펄 신병 교육, 제 3부: 분기 및 순환문
41.7 펄 신병 교육, 제 4부: 패턴 매칭
41.8 펄 신병 교육, 제 5부: 펄과 유닉스
41.9 펄 신병 교육, 제 6부: 모듈
41.10 펄 신병 교육, 제 7부: perldoc
41.11 CPAN
41.12 펄로 자신만의 grep 명령어를 만드는 방법
41.13 펄과 인터넷

42장. 파이썬
42.1 파이썬이 뭐지
4.2 설치 방법 및 Disutils
42.3 파이썬의 기초
42.4 파이썬과 웹
42.5 urllib
42.6 urllib2
42.7 htmllib과 HTMLParser
42.8 cgi
42.9 mod_python
42.10 펄과 파이썬
8부. 통신과 접속

43장. 입출력 리다이렉션
43.1 표준 입력과 출력을 사용하는 방법
43.2 cat 명령어의 인자의 개수
43.3 표준 에러만 파이프로 보내는 방법
43.4 파이프를 통해 페이저로 보낼 때의 문제점
43.5 C 셸에서의 리다이렉션
43.6 noclobber를 이용한 안전한 입출력 리다이렉션
43.7 () 서브셸 연산자
43.8 두 군데 이상으로 출력하는 방법
43.9 tee를 이용해서 여러 명령을 한 파일로 모으는 방법
43.10 출력을 두 군데 이상으로 리다이렉트하는 방법
43.11 이름 있는 파이프: FIFO
43.12 빈 파일로 할 수 있는 일

44장. 장치
44.1 하드웨어에 관한 간략한 소개
44.2 부팅 시 출력되는 내용
44.3 기본 커널 설정
44.4 디스크 파티션 분할
44.5 파일시스템 유형과 /etc/fstab
44.6 이동형 파일시스템 마운트 및 언마운트
44.7 루프백 마운트
44.8 네트워크 장치: ifconfig
44.9 네트워크 파일시스템: NFS, SMBFS
44.10 모뎀
44.11 다이얼업 PPP 세션 설정
44.12 USB 설정
44.13 사운드 카드 및 기타 장치
44.14 직렬 콘솔

45장. 인쇄
45.1 인쇄 개요
45.2 유닉스에서의 인쇄
45.3 lpc를 이용한 프린터 제어
45.4 다른 프린터를 사용하는 방법
45.5 스풀링을 할 때 심볼릭 링크를 사용하는 방법
45.6 일반 텍스트 파일 포맷팅: pr
45.7 일반 텍스트 파일 포맷팅: enscript
45.8 네트워크를 통해서 인쇄하는 방법
45.9 삼바를 통해서 인쇄하는 방법
45.10 조판
45.11 간략한 유닉스 조판의 역사
45.12 매뉴얼 페이지 조판: nroff
45.13 포맷팅 마크업 언어: troff, LATEX, HTML 등
45.14 인쇄용 언어: 포스트스크립트, PCL, DVI, PDF
45.15 텍스트 파일을 인쇄용 언어로 변환하는 방법
45.16 조판한 파일을 인쇄용 언어로 변환하는 방법
45.17 스풀러에서 소스 파일을 자동으로 변환하는 방법
45.18 CUPS
45.19 이식 가능한 비트맵 패키지

46장. 네트워크 접속
46.1 TCP/IP: IP 주소와 포트
46.2 /etc/services
46.3 상태와 문제 해결
46.4 패킷이 어디로 갔나
46.5 현장 감독: inetd
46.6 SSH
46.7 익명 FTP 서버
46.8 메일  SMTP, POP, IMAP
46.9 도메인 이름 서비스: DNS
46.10 DHCP
46.11 게이트웨이와 NAT
46.12 방화벽
46.13 개인용 LAN과 모뎀

47. MS 윈도우즈 연결
47.1 다리 만들기
47.2 삼바 설치 및 설정 방법
47.3 삼바에서의 보안
47.4 SWAT와 GUI SMB 브라우저
47.5 삼바로 인쇄하는 방법
47.6 유닉스에서 SMB 공유 자원에 연결하는 방법
47.7 VNC를 써서 데스크탑을 공유하는 방법
47.8 에뮬레이터 및 API
47.9 시트릭스: 윈도우즈를 여러 명이 동시에 사용하는 방법

9부. 보안
48장. 보안의 기초
48.1 취약점에 대한 이해
48.2 CERT 보안 체크 리스트
48.3 보안 경보
48.4 버퍼 오버플로우
48.5 DoS
48.6 성능 저하를 조심하자
48.7 침입자 감지
48.8 MOTD의 중요성
48.9 리눅스 proc 파일시스템
48.10 inetd를 사용하지 않는 방법
48.11 rlogin과 rsh
48.12 TCP 래퍼

49장. 루트, 그룹 및 사용자 관리
49.1 유닉스의 사용자/그룹 구조
49.2 사용자는 언제 사용자가 되는가
49.3 루트 비밀 번호를 잊어버렸을 때
49.4 umask 설정
49.5 setgid 비트로 디렉토리에 대한 그룹 퍼미션을 설정하는 방법
49.6 그룹과 그룹 소유권
49.7 권한을 거부하기 위해 사용자를 그룹에 추가하는 방법
49.8 SUID, SGID 스크립트
49.9 su 명령어
49.10 루트로 로그인하지 말자
49.11 sudo 명령어
49.12 다윈에서 루트를 사용하는 방법
49.13 로그인을 할 수 없게 만드는 방법

50장. 파일 보안, 소유권 및 공유
50.1 파일 소유권과 보안
50.2 파일과 디렉토리 퍼미션
50.3 새로운 파일의 소유자
50.4 스틱키 비트를 이용한 파일 보호
50.5 chmod를 이용한 파일 퍼미션 변경
50.6 chmod의 = 연산자
50.7 쓰기 금지를 통한 파일 보호
50.8 cx, cw, c-w: 빠르게 파일 퍼미션을 변경하는 방법
50.9 쓰기 접근이 없는 파일을 수정하는 방법
50.10 접근은 가능하지만 목록은 볼 수 없는 디렉토리
50.11 퍼미션 조절
50.12 md5sum을 이용한 파일 검증
50.13 셸 스크립트의 퍼미션
50.14 왜 파일 소유권을 변경할 수 없을까
50.15 chown을 사용하지 않고 파일의 소유권을 바꾸는 방법

51장. SSH
51.1 Mac OS X에 대한 원격 접근
51.2 SSH를 통해 접근을 보호하는 방법
51.3 OpenSSH
51.4 SSH의 문제와 해결책
51.5 일반 문제 및 인증 문제
51.6 키와 에이전트 문제
51.7 서버와 클라이언트의 문제

용어 해설
찾아보기

미국의 저명한 문학가 랠프 왈도 에머슨은 "세계의 모든 도서관에 불이 난다면 목숨 걸고 들어가서 꺼내오고 싶은 책"으로 플루타르크 영웅전을 꼽았습니다.

제가 랠프 에머슨과 같은 권위자는 아니지만,
저는 개인적으로 세계의 모든 도서관에 불이 나서 세상의 모든 도서를 잃어야 하는 위험에 처한다면 목숨 걸고 들어가서 이 책을 꺼내오겠습니다.

이 책은 유닉스와 유닉스 계열(이하 유닉스)을 사용하는 사람이라면 모르는 사람이 없는 그 유명한 유닉스 파워 툴입니다. 사실 말이 필요없는 책이지만 아직 이 책을 모르고 있는 분들을 위해서 글을 쓰려고 합니다.

누군가가 저에게 이 책을 조금만 더 일찍 알려주었다면 하고 자주 아쉬워했기 때문에 그 분들에게 이 책을 조금만 더 일찍 알려 주려고 합니다.

이 책은 환경 설정, 네트워크 설정, 프로세스 관리, 파일 관리, 서버 운영 등 유닉스를 사용하면서 필요한 모든 것이 아주 잘 정리되어 있고 좀 지나치게 말해서 유닉스의 모든 Tip과 Technic이 다 있습니다.

제가 shell 명령어와 shell programming에 대해 잘 정리된 책을 찾았을 때도 awk와 sed에 대해 잘 정리된 책을 찾았을 때도 vi 에디터에 대해 잘 정리된 책을 찾았을 때도 이 책을 찾게 되었습니다. 심지어 펄, 파이썬도 이 책을 참조합니다.

이 책은 당신을 아주 강력하게 만들어 줍니다. 이 책을 모르고 유닉스를 사용하고 있다면 유닉스를 망치로 쓰고 있는 것인지도 모릅니다. 이 책은 당신이 유닉스를 전동 드릴(Power Tool)로 사용할 수 있게 해줍니다.

이 책이 유닉스 입문서인지 유닉스 레퍼런스인지 유닉스 이론서인지 아니면 유닉스 실무서인지 궁금해 하신다면 궁금해 하실 필요 없습니다. 당신이 무슨 책을 찾고 있던 간에 이 책이 바로 당신이 찾고 있는 책입니다.

이 책은 유닉스의 많은 유틸리티의 사용법을 잘 설명하고 있다.



유닉스나 리눅스를 공부하는 사람이라면 이런 책 한권 쯤은 책장에 꽂아 두라고 권하고 싶다.



많이 초급적인 툴(많이 사용되는)부터 고급적인 툴의 사용법을 다 다루고 있기 때문에 유닉스



를 처음 시작하시는 분들 보다는 중급자 분들에게 더 유익할 것 같다.



학원에서 솔라리스를 접하고 유닉스를 공부하게 되면서 유닉스에 대한 많은 내용을 담고 있는 이책을 발견하고 바로 구입하게 되었습니다.(30% 할인가격에 구입할수 있어서 망설이지 않고...)



학원 강사님은 "초보자가 보기에는 힘들텐데, 왜 사셨어요?" 하시더군요 ^^;



책에 대한 느낌은 그냥 포만감이 느껴지는 책이라고 표현할까요? ^^



아직 유닉스에 대해서 잘 모르지만 필요한 부분들 다른책과 함께 찾아서 그때그때 공부하기에는 참 좋은 책인것 같습니다.



학원 강사님이 걱정하신것처럼 "책장 장식용"으로 만들지 않기 위해서 공부 열심히 해야겠네요*^^*

Linux나 Unix에 대한 기본적인 사항을 아는 초보자들이 중급으로 나아가기 위한 책인 것이다.

초급유저가 보기엔 다소 어려운 편이므로, UNIX를 적어도 6개월이상 다뤄본 유저가 보기에 적당한 책입니다.

SE로서 어느정도 경험을 갖고 계신 분들이라면...강추입니다. !!!



유닉스나 리눅스를 어느정도 쓰다보면 좀더 하이 테크닉을 요하는 그런 작업을 원하는데.

마땅한 책이없고. 대부분 엇비슷한 내용들에 책을 많이 볼 것입니다.

하지만 이책은 유닉스의 바이블이라는 칭호가 아깝지않을정도로 잘짜여진 책이라 생각합니다.

이 책은 오레일리사에서 나온 책들중 Unix와 관련됀 명령어(또는 GNU software)중에서 자주 사용하는 명령어,

즉 Bash Shell, Csh, Sed, Awk, vi, shell 프로그래밍 등에서 중요한 사항과 tip들을 모아놓았습니다.

이 책많큼 많은 팁과 여러권에서 얻을 수 있는 내용을 한권으로 얻을 수 있는 책은 거의 없을 것입니다.



내용적으로 UNIX-like OS의 전반적인 개념 또한 다루고 있습니다..

이 책 전체를 다 마스터한다는 것은 방대한 분량으로 인하여

꽤 어렵게 느껴지지만 실제 각 주제별, 사전식으로 설명되어 있어,

원하는 부분만 바로 보아도 전혀 어려움이 없이 원하는 정보를 찾을 수 있습니다..

또한 다른 UNIX 책과는 달리 단순히 많은 명령을 manual page식으로 열거한 책이 아니며,

한 명령에 관한 여러 배경 지식과 사용 방법을 예제를 들어 자세하게 설명하고 있습니다..

또한 대부분의 GNU version의 명령을 사용하고 있으므로

UNIX 뿐만 아니라 GNU/Linux, FreeBSD를 사용하고 있는 분들께는 특별히 유용할 거라고 생각합니다.



다만, 약간의 단점도 눈에 띕니다.

1. 실용적인 Command, Command Option 등은 부족합니다.

물론, 도서 다 보니, 일반 Tip 같은 것을 싣는다는 것이 힘들기는 하지만, 그래도 파워 툴 이름의 책인데...

2. 순서대로 되어있지 않다는 것이다.

즉 책의 앞부분에서라도 뒤에서 나오는 셸 프로그래밍이나 sed, awk, find 등의 명령이 예로써 함께 나오는 것이다.

그리고, 솔라리스 Command에 대한 언급이 아쉽더군요.

솔라리스를 운영하시거나 솔라리스에 관심이 있으신분들은 재고하심이 나을듯 싶습니다.



그러나 이러한 단점은 이 책이 가진 여러가지 장점에 비하면 무시할 수 있다고 생각합니다.

이 책을 단 2 번만 보자. 2번째 책을 읽고나서는 자신있게 Unix/Linux에 대해 이야기할 수 있을 것입니다.



현재 시중에 UNIX 관련 책중에는 최고라고 말씀을 드리고 싶습니다.

번역도 매끄러운 편이라서 읽기에도 부담되지 않습니다.

하드커버 양장이므로 많은 페이지 때문에 책이 반으로 갈라질 걱정도 없구요..

정말 부피나 내용면에서 고급사전 같은 제본입니다. 고로..사전처럼 이용하라는 겁니다.

결코 첫페이지부터 끝까지 다 읽어서 내것으로 만들겠다고 생각하고 덤비면, 무조건 실팹니다.

옆에 두면서 필요할 때마다 펴 보시면 많은 도움이 될 것이라 확신합니다.

구입하셔서 많은 도움이 되길 바랍니다. ^^

유닉스는 방대하다..

그말을 실감나게 해준 책이었습니다.

단단한 하드커버에 엄청난 양의 레퍼런스들...

유닉스 머신 옆에서 모르는 문제들을 도와 줄 수 있는

참고서라고 할까요...

2001년도에 근무했었던 회사에 기술이사님께서 이책의 원본을 가지고 계셨었습니다. 그때 당시 유닉스로 개발을 하는 프로젝트를 진행하고 있었는데 . 처음 접하는 내용이 생길때 마다 그리고 프로그램 개발에 필요한 상황마다 기술이사님께 문제들을 들고 갔었는데 . 그분께서는 거의 모든 문제들을 이 책에서 찾아서 알려주시곤 했었습니다. 하지만 그당시에 이책은 원서로만 나왔었고 , 몇번 공부하려다가 초반 몇페이지 해석하다가 포기하고서는 덥어 버리고 말았습니다.



2003년 초에 이책을 구입했습니다. 물론 한빛에서 출판했던 번역본이었구요. 지금은 처음부터 공부하려고 하지 않고 필요한 상황이 되면은 그때그때 마다 참고해서 문제해결하는데 도움을 받고 있습니다.



물론 개론서 처럼 원리부터 설명을 해주는것은 아니지만 정말로 책 제목 답게 Power Tool .. ^^

필요할때 나와있는 내용들을 보면서 응용해서 작업을 해왔는데 유닉스쪽에서 해결이 안되는 문제들이 없더군요. 오늘도 이책 보면서 한건 해결했습니다. ^^



앞서 말했지만 이책은 원리부터 설명을 하는 개론서는 아니라고 생각합니다. 유닉스나 리눅스를 사용해서 프로젝트 진행시키시는 분들이 해결하기 힘든 어떤 문제에 맞닥뜨렸을때 그 문제를 시원하게 해결해 주는 도구(Tool ) 로서 사용하시게 되면은 더할나위 없을것 같네요.



그렇게... 좋다고 느껴지지는 않습니다.



거의 모든 툴의 사용법이 들어있지만, 대부분의 경우에 책을 뒤적거리기 보다는 인터넷을 뒤적거리게 됩니다.

제 경우에는 유닉스 보다는 리눅스를 더 많이 사용하기 때문인 것도 있지만 책을 보다보면 뭔가 부족한 것이 느껴져서 인터넷을 따로 찾아봐야 깔끔하게 해결되는 경우가 많습니다.



뭐... 이 거대한 책을 뒤적거리기 보다는 문서로 저장되어 있는 매뉴얼 페이지를 보는게 났다고 봅니다.

시스템 관리자나 처음 유닉스를 접해서 어려움을 격는 사람들을 위한 최고의 가이드.

방대한 양에 지래 겁을 먹게 하지만 그 속에 내용을 보고 있노라면 양 만큼이나 심도 깊은 해설을 볼 수 있을 것입니다.

강력한 유닉스 명령어들을 제대로 사용할 수 있도록 해주는 책입니다. 방대한 책의 분량에 어울리게 다양한 유닉스 명령어들과 쉘 프로그래밍에 이르기까지 유닉스 사용에 필요한 하나에서 열까지 거의 모든 툴과 팁을 제공하고 있습니다.

분량이 너무 많아서 처음부터 끝까지 읽기에는 너무 부담스럽지만, 필요한 부분을 그때 그때 참고해서 본다면 더할 나위 없이 좋은 유닉스 레퍼런스입니다.

유닉스에서 사용되는 강력한 툴과 명령어 및 쉘 프로그래밍에 이르기까지, 한마디로 유닉스 백과사전입니다. 방대한 내용을 다루다보니 국어대사전처럼 두꺼워졌지만, 유닉스를 사용하다 궁금한 내용이 있으면 거의 대부분은 이 책 한권으로 해결이 가능합니다.

처음부터 정독하기는 어렵지만, 먼저 관심있는 부분부터 읽고 필요할 때마다 참고하는 식으로 사용하시면 좋을 듯 합니다.

유닉스나 리눅스는 윈도우와 같은 사용자 위주의 편리한 그래픽 인터페이스 제공 부분에서 약한 반면, 많은 자유도를 제공합니다.

특히 리눅스는 운영체제를 배우는 데에도 매우 유용한 OS입니다. 이러한 유닉스와 리눅스의 수많은 명령어와 툴들은 투박해 보이지만, 많은 기능들을 제공하고 있습니다.

이 책은 이러한 유닉스 명령어들을 능숙하게 다룰 수 있도록 도와주는 바이블이 될 것이라 생각합니다.

영어 공부 하는 사람이라면 반드시 사전이 필요하죠.

단어가 1~2백개두 아니고 엄청 많으니까 아무리 단어를 많이 안다고 해도

모르는 단어가 나오면 찾아봐야 하겠죠.

유닉스라는 것도 마찬가지입니다. 워낙 공부해야 할 것도 많고 명령도 다양하다보니

모든 것을 다 머리 속에 넣어둘 수는 없습니다.

항상 옆에 두고 있다가 모르는 것이 나오거나 예전에 본 것이라고 기억이 가물가물할때

이 책을 뒤적이면 큰 도움이 됩니다.

저는 자바 프로그래머라서 유닉스를 자주 사용하지 않지만 가끔 필요한 명령이나

궁금한 것이 있으면 찾아보게 됩니다. 그럴때 아주 유용한 책이죠.

언제 이 책을 다 보나? 1000페이지가 넘는 책을 다 보는 사람이 있을까? 때로는 이런 책들은 분권을 해서 출간했으면 좋겠다는 생각이 든다. 500페이지 정도로 2권을 출간한다면 오히려 끝까지 읽는 사람이 많지 않을까?

레퍼런스로서 참고하기에 적당한 책이다. 물론 내용의 깊이도 있다. 초중급자들도 쉽게 다가갈 수 있으며 내용의 수준이 높기에 열심히 보면 내공이 높아질 것이다.

받아보는 순간 책의 두께에 감탄하고... 수많은 (솔직히 잘 사용하지 않았던)Unix command에 또, 놀라고...

Unix, Linux 사용자가 manual page를 사용하면서 미쳐 익히지 못했던 다양한 명령어를 쉬엄쉬엄 한장씩 넘겨가면서 익혀두면 좋을듯... 내용이 어렵거나 난해하지 않기 때문에 처음시작하는 사람들에게 많은 도움을 줄것으로 생각함.

리눅스를 통해 유닉스가 이제는 낯설지 않은 시대가 되었다. 이 책은 유닉스 뿐만이 아니라 리눅스 사용자도 곁에 두고 보기에 적당한 레퍼런스용 도서이다.

책의 분량이 워낙 방대한지라, 처음부터 끝까지 정독하기는 어지간한 인내심을 갖지 않고는 불가능에 가깝다. 하지만, 필요한 부분만 그때 그때 찾아서 보기에 매우 적당한 책이고, 유닉스를 다루다가 궁금한 내용이 있을 때, 웬만한 내용은 이 책에서 모두 찾을 수 있을 정도로 다양한 유닉스 관련 사항들을 다루고 있다.

번역 상태도 상당히 훌륭한 편이라서, 유닉스 초보자가 보기에도 적당하다.

제가 이 책을 처음 본건 1999년에 원서를 구입하게 되면서입니다.



물론 이 책은 아직까지 저의 책꽂이에 꽃혀서 항상 참고하게 만드는 좋은 책입니다.



왜 우리나라에서는 이렇게 좋은 책들이 출판되지 못하나 하는 생각이 들게도 하는



좋은 책입니다. 그러나 분명히 이 책은 독자층을 엄격히 구분하고 있습니다.



이제 막 유닉스나 리눅스를 접한 유저보다는 어느정도 유닉스와 리눅스 명령어에



익숙하면서 기본적인 정규표현식과 sed, awk 와 같은 명령어도 알고 있는 독자에게



필요한 책입니다. 책 구성이 뒤로 갈수록 난이도가 높아지는 형태의 일반적인 책들과



같은 주제로 엮어진게 아니라 이제 막 유닉스에 입문하려는 분들에게는 별로 권하지



않고 싶습니다. 하지만 다른 유닉스나 리눅스 책을 몇권 보고 레퍼런스를 원하는



독자들은 이 책 한권쯤은 책장에 꽂아둘 필요가 있습니다. 영어를 공부하는 한국인



이라면 누구나 책장에 영어사전을 꽂아두듯이 유닉스를 제대로 공부하려는 개발자와



특히 어드민을 꿈꾸는 독자들에게는 이 책이 좋은 레퍼런스가 되지 않을까 생각됩니다.

오렐리책시리즈는 책표지와 책내용의 연관성이 많다는 느낌을 지울수 없다.



이 책을 99 년도에 원서로 보았고 지금도 참고서적으로 자주 보곤한다.

유닉스파워툴은 시스템관리자 뿐만 아니라 유닉스초보에서 중급으로 올라가기를 희망하는사람들에게 알맞은 책이라 생각한다.



쉘스크립트에서 유닉스의 환경설정 응용프로그램의 다양한 사용법 및 각종 인터프리터언어까지 다루고 있으며 중요한점은 이러한 스크립트및 응용프로그램의 다양한 조합을 통해 마치 또다른 강력한 프로그램을 만드는듯한 느낌을 주는게 이 책의 장점이다.



정규표현식같은 어려운주제를 예제를 통해쉽게 풀어주기 때문에 시스템관리자에게또한 더할나위없는 훌륭한 시스템관리서가 될듯 하다.



이책을 읽으면서 유닉스가 simple 하다는것을 다시한번 깨달았으며 simple 하지만 strong 하다는것또한 알수 있다.

유닉스중급으로 가기를 희망하는 사람들에게 강력히 추천하고픈 책이다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
유닉스 파워 툴, 개정 3판
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
유닉스 파워 툴, 개정 3판
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
유닉스 파워 툴, 개정 3판
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 책0