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

한빛출판네트워크

유닉스 파워 툴

유닉스 파워 툴

한빛미디어

번역서

절판

  • 저자 :
  • 번역 : 이성희
  • 출간 : 2000-06-27
  • 페이지 : 1400 쪽
  • ISBN : 8979140673
  • 물류코드 :1067
  • 초급 초중급 중급 중고급 고급
4.8점 (13명)
좋아요 : 33

유닉스는 본질적으로 "파워 툴" 환경이다. 유닉스 초보자들도 금방 유닉스의 쉘 프로그래밍, 앨리어스와 히스토리 메커니즘, 그리고 다양한 편집 툴에서 유닉스의 진정한 파워를 느끼게 된다. 하지만 이러한 파워를 전부 마스터하는 사용자는 그렇게 많지 않다. 유닉스의 모든 것을 배우기에는 양이 너무 방대하기 때문이다.
유닉스를 조금이라도 경험해 본 사람이라면 인터넷에 유닉스 관련 프로그램들이 얼마나 많은지 잘 알고 있을 것이다. 이 책과 부록 CD-ROM에는 파워유저들에게 가장 적합하다고 생각되는 최고의 무료 소프트웨어들이 수록되어 있다. 여기에는 유닉스를 더욱 쉽고 효과적이며 즐겁게 사용할 수 있게 도와주는 수천 가지 팁과 스크립트, 노하우가 담겨 있다. 또 유닉스의 표준 명령어에 가치와 유연성을 부여하는 강력한 무료 프로그램도 담겨 있다.

일반 유닉스 기종을 사용하고 있다면 CD-ROM에 수록된 소프트웨어를 굳이 컴파일하지 않아도 된다. 이미 솔라리스, 썬OS, 디지탈 유닉스, IBM AIX, HP/UX, 리눅스, 그리고 SCO 유닉스용 바이너리를 컴파일해 두었기 때문이다(SCO UNIX 바이너리는 여타의 인텔 기반 유닉스 기종에서도 실행될 것이다). CD-ROM은 ISO-9660 포맷으로 제작되어 유닉스 파일 시스템처럼 마운트하여 이용할 수 있다(프로그램을 하드디스크에 설치하려면 설치 프로그램을 이용하면 된다).

『유닉스 파워 툴 2판』은 1판과 마찬가지로 수많은 유닉스 전문가의 조언, 오렐리의 베스터셀러인 Nutshell Handbooks on UNIX에서 발췌한 내용, 유즈넷에서 가져온 기사, 그리고 제리 픽, 팀 오렐리, 데일 도어티, 마이크 루키데스, 크리스 토렉, 브루넷, 조나단 카멘스, 지니 스파포드, 심슨 가핀켈 등이 기고한 글을 모두 엮어 만들었다. 
하지만 2판은 1판과 다른 부분도 많다. 우선 1판과는 달리 GNU를 포함한 POSIX 유틸리티들을 더욱 강조하고 있으며, 유닉스 쉘의 기본인 sh과 csh의 핵심 개념은 물론, bash와 tcsh 쉘도 상당 부분 다루고 있다. CD-ROM에 담겨있는 프로그램들도 업데이트되었으며, 보다 많은 스크립트와 프로그램들도 추가되었다. 그리고 무엇보다도 눈에 띄는 점은 독자들이 1판에 보내준 질책과 제안을 적절히 수용한 점이다.

이성희 역자

이성희

한국과학기술원(KAIST) 전산학과와 연세대학교 컴퓨터구조연구실 졸업. 유닉스 및 인터넷 객원 강사, LG기술원 연구원, 보라넷 시스템 관리자 등을 거쳐 2000년 초부터 싱크프리닷컴(ThinkFree.com)의 미국 캘리포니아 쿠퍼티노 사무실에서 시스템 네트워크 관리자로 근무하고 있다. 사무실 동료들 가운데 영어를 제일 못한다고 스스로 평가한다. 여가 시간에는 애니메이션이나 한국 비디오를 보며 빈둥거리거나 주변의 공원이나 해안도로 드라이브를 즐긴다.

역자 서문 

차례

이 책의 사용 방법 

서문 

1장. 소 개 
1.01 유닉스에는 뭔가 특별한 것이 있다
1.02 키보드를 눌러봐요
1.03 서로 협력하는 프로그램들 
1.04 파이프 활용
1.05 쉘 프로그래밍이 별건가요
1.06 편집에 유용한 툴
1.07 솟아나는 힘을 느껴보자
1.08 여러 가지 쉘들 
1.09 내가 이용하고 있는 쉘은?
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 유닉스가 파일을 다루는 방법: Inode
1.23 파일 액세스 퍼미션
1.24 슈퍼유저(루트) 
1.25 디렉토리 액세스 
1.26 다중사용자 시스템 
1.27 백그라운드 프로세싱
1.28 백그라운드 프로세싱에 대한 알려진 비밀
1.29 파일이 아닌 파일
1.30 입력과 출력 방향 바꾸기 
1.31 X 윈도우 시스템
1.32 누락된 내용 
1.33 유닉스 네트워킹과 통신 
1.34 유닉스에도 단점은 있다

1부. 느긋한 마음으로

2장. 로그인 

2.01 쉘 환경을 내 맘대로 
2.02 쉘 설정 파일 - 무엇을, 어디서, 왜 
2.03 쉘 설정 파일에서 벌어지는 일 
2.04 변경된 설정을 즉석에서 확인하는 방법 
2.05 느린 로그인을 빠르게 하는 방법 
2.06 쉘 설정 파일에 절대 경로명 이용
2.07 읽혀지지 않는 C 쉘 설정 파일 
2.08 로그인 쉘 확인하기
2.09 set prompt 테스트로 C 쉘 속도 증진
2.10 set prompt 테스트에 대한 알려진 비밀 
2.11 ksh과 bash의 시작을 $- 테스트로 더욱 빠르게 
2.12 서로 다른 터미널 자동 설정
2.13 .cshrc.$HOST로 호스트마다 다르게 설정하기
2.14 motd.diff: 로그인 메시지에 새로운 라인을 
2.15 깔끔한 로그인: 로그인 메시지는 한 번만
2.16 허가된 쉘: 허가받지 못한 쉘 이용하기 

3장. 로그아웃
3.01 로그아웃하면서 명령어 실행
3.02 Bourne/Korn 쉘 로그아웃하면서 명령어 실행 
3.03 행운의 과자
3.04 파일 자동 청소 
3.05 돌발적인 C 쉘 로그아웃 중지하기 
3.06 돌발적인 Bourne 쉘 로그아웃 중지하기
3.07 다중 화면을 제공하는 screen 
3.08 내가 이용하는 tty는?

4장. 홈 디렉토리 구조 
4.01 구조적이 뭐지? 
4.02 프로그램들과 스크립트들을 담아놓는 bin 디렉토리
4.03 비실행 파일들을 담아둘 디렉토리 
4.04 Emacs용 파일을 담아둘 디렉토리 
4.05 사적인 디렉토리
4.06 파일명 짓기
4.07 디렉토리가 더 필요해! 
4.08 디렉토리 쉽게 만들기 
4.09 .exrc 파일에 vi 설정하기
4.10 명령어의 위치가 궁금하면 whereiz를 

5장. 터미널 설정
5.01 터미널에 대해 설명하는 단원 
5.02 터미널 데이터베이스
5.03 로그인 시 터미널 종류 설정하기 
5.04 tset을 이용한 TERMCAP 변수 설정하기 
5.05 터미널 종류 질의: qterm 
5.06 로그인하면 터미널이 먹통이 되네 
5.07 termcap과 terminfo가 제어할 수 있는 것과 없는 것 
5.08 터미널 이스케이프 시퀀스 
5.09 삭제 문자, kill 문자, 인터럽트 문자 설정하기
5.10 사용하고 있는 터미널의 이름 알아내기
5.11 tset을 이용한 터미널 초기화 
5.12 tput을 이용한 터미널 초기화

6장. 쉘 변수와 환경 변수 
6.01 환경 변수의 용도 
6.02 부모와 자식의 관계 
6.03 미리 정의된 환경 변수들 
6.04 PATH 환경 변수 
6.05 PATH와 경로명 
6.06 TZ 환경 변수
6.07 지금 한국은 몇 시죠?
6.08 쉘 변수 
6.09 특별한 C 쉘 변수들 
6.10 상이한 환경에서 명령어 실행하기

7장. 쉘 프롬프트 바꾸기 
7.01 바꾸는게 좋죠! 
7.02 기본적인 프롬프트 설정하기 
7.03 vi, rsh 등에서 문제를 일으키는 C 쉘 프롬프트 
7.04 내장 명령어를 이용한 빠른 프롬프트 설정하기 
7.05 다중라인 쉘 프롬프트
7.06 터미널의 상태표시줄에 세션 정보 나타내기
7.07 게으른 사용자를 위한 "메뉴 프롬프트"
7.08 번쩍거리는 쉘 프롬프트 
7.09 $SHLVL로 서브 쉘의 레벨 나타내기
7.10 텅 빈 쉘 프롬프트의 유용성
7.11 $cwd보다 더 좋은 dirs
7.12 외부 명령어가 보낸 시그널로 변수를 설정하기
7.13 bash에서 명령어 실행과 프롬프트 출력을 동시에

2부. 귀찮은 일은 컴퓨터가 하도록

8장. 명령어를 쉘이 해석하는 방법 

8.01 쉘이 하는 일 
8.02 bash의 소개
8.03 tcsh의 소개
8.04 명령어 해석과 실수에 의한 파일 덮어쓰기 
8.05 명령행 해석
8.06 명령행 인자 출력하기 
8.07 검색 경로 설정하기
8.08 실행할 수 없는 명령어를 갖고 있는 디렉토리
8.09 앨리어스 속의 와일드카드
8.10 eval: 다른 기회가 필요한 경우 
8.11 bash가 어느 것을 이용할까? 
8.12 C 쉘이 어느 것을 이용할까?
8.13 "2>&1 file" 또는 "> file 2>&1"? 217
8.14 Bourne 쉘의 인용 처리 
8.15 Bourne 쉘 인용 처리와 C 쉘 인용 처리의 차이점
8.16 파일명 내의 특수 문자를 인용 처리로 해결하기
8.17 변수 verbose와 echo로 인용 처리 보기 
8.18 Here 문서 227
8.19 "특수" 문자들과 연산자들 
8.20 백슬래시의 필요한 개수

9장. 명령행에서 시간 절약하기 
9.01 유닉스 명령행에 특별한 뭔가가 있다 
9.02 라인 삭제 및 단어 삭제를 사용하여 빠르게 라인을 수정하기
9.03 CTRL-r을 사용하여 명령행에 다시 출력하기 
9.04 와일드카드를 사용하여 파일 생성하기
9.05 { }을 사용하여 문자열 구성하기 
9.06 문자열을 편집(콜론) 연산자 
9.07 ksh과 bash에서 문자열 편집하기 
9.08 파일명 입력 대행: 파일명을 빠르게 입력하기 
9.09 파일명 입력 대행에서 쓸모없는 파일들에 매칭하지 않기
9.10 파일명 입력 대행이 적절하지 않은 경우 
9.11 foreach 순환문을 사용하여 명령어 반복하기 
9.12 Bourne 쉘의 for 순환문 
9.13 다중행 명령어와 보조 프롬프트 
9.14 형식문을 작성하기 위한 "here" 문서 사용하기 
9.15 복잡한 명령어들을 위한 일회용 스크립트
9.16 명령어 치환 
9.17 임시 파일을 이용해서 많은 양의 텍스트 다루기
9.18 프로세스 치환 
9.19 성미가 급한 사람들을 위한 미리 입력 
9.20 명령행을 위한 많은 파일들 
9.21 xargs를 가지고 긴 명령행 다루기 
9.22 xargs: 공백과 뉴라인으로 인한 문제점 
9.23 "Arguments Too Long" 에러에 대한 해결책
9.24 ls -l, grep 등의 결과를 편집해서 파일 목록 얻기
9.25 C 쉘 repeat 명령어
9.26 Expect 

10장. 앨리어스 
10.01 커스텀 명령어 만들기
10.02 커스텀 명령어를 위한 앨리어스
10.03 C 쉘 앨리어스에서 명령행 인자 사용하기 
10.04 ksh과 bash에서의 앨리어스 
10.05 source할 수 있는 스크립트 
10.06 C 쉘에서 앨리어스 루프 피하기 
10.07 C 쉘의 앨리어스에 if-then-else를 넣기 
10.08 C 쉘에서 makealias와 quote를 사용하여 인용부호 넣기 
10.09 쉘 함수 
10.10 Bourne 쉘 함수와 앨리어스 흉내내기 

11 장. 히스토리 
11.01 역사로부터의 교훈 
11.02 히스토리 요약 
11.03 내가 즐겨 이용하는 !$ 
11.04 내가 즐겨 이용하는 !:n* 
11.05 내가 즐겨 이용하는 ^^ 
11.06 와일드카드의 안전한 사용을 위해 !$ 사용하기
11.07 히스토리 치환 
11.08 명령어 사이클 반복
11.09 파일에 일련의 명령어들을 수행하기
11.10 :p를 사용해서 히스토리 확인하기
11.11 로그아웃할 때 히스토리 남겨놓기 
11.12 다른 쉘로 히스토리 전달하기
11.13 쉘의 명령행 편집하기
11.14 대화식 히스토리 편집을 위한 다른 방법
11.15 histchars를 사용하여 C 쉘 히스토리 문자 바꾸기 
11.16 히스토리 문자를 바꾸는 것 이외의 방법 

12장. 작업 제어
12.01 효율적인 작업 제어 
12.02 작업을 가리키는 여러 가지 방법 
12.03 "현재 작업"이 생각했던 작업과 다른 경우
12.04 작업 제어와 vi의 autowrite 
12.05 시스템 과부하? 몇몇 작업을 중지시키자 
12.06 작업의 상태 변경 알리기 
12.07 stty tostop을 이용하여 백그라운드 출력을 차단하기
12.08 작업 제어 요약
12.09 screen을 이용하여 여러 개의 쉘 세션들을 실행하기

13장. 입력과 출력 리다이렉션 
13.01 표준 입력과 표준 출력 이용하기 
13.02 cat 명령어에 인자를 하나만 주는 것은 부족하다 
13.03 표준 에러만을 파이프로 전달하기
13.04 페이저로 파이프할 때의 문제점
13.05 C 쉘의 리다이렉션 
13.06 noclobber를 이용한 안전한 리다이렉션 
13.07 ( ) 서브 쉘 연산자
13.08 {리스트}를 이용하여 Bourne 쉘 명령어들을 그룹화하기
13.09 tee를 이용하여 출력을 여러 곳으로 보내기
13.10 tee를 이용해서 여러 명령어들을 하나의 파일로 모으기 
13.11 tpipe: 표준 출력을 하나 이상의 곳으로 리다이렉트하기
13.12 여러 터미널로 쓰기
13.13 파일명 "-" 348
13.14 빈 파일로 할 수 있는 일은? 
13.15 양동이가 넘쳐흐를 때 :-)
13.16 logerrs를 이용하여 에러를 저장하고 보여주기

3부. 파일시스템과 춤을

14장. 파일시스템 개요 

14.01 파일시스템에 대해 배울 내용 
14.02 상대 경로명과 절대 경로명 
14.03 현재 디렉토리에 대한 이해 
14.04 현재 디렉토리의 이름 찾기
14.05 디렉토리 변경 시 시간 절약: cdpath
14.06 쉘의 pushd와 popd 명령어 
14.07 pushd를 활용한 앨리어스 
14.08 앨리어스를 이용한 빠른 cd 
14.09 디렉토리 대표 문자를 이용해서 cd하기
14.10 디렉토리들과 파일들을 찾게 도와주는 변수들 
14.11 아무개의 홈 디렉토리를 빠르게 찾기 
14.12 쉘 변수로 위치 표시하기 
14.13 나는 실제로 어느 디렉토리에 있지?
14.14 디렉토리를 들어가고 나올 때 자동으로 설정하기 

15장. 와일드카드 
15.01 파일의 이름을 지정하는 와일드카드 
15.02 파일명 와일드카드 요약
15.03 Korn 쉘 및 Bourne 쉘에 { } 연산자 추가하기 
15.04 와일드카드가 일치하지 않으면?
15.05 점으로 시작하는 파일들을 와일드카드로 일치시키기 
15.06 경로명 안에 와일드카드를 사용할 수 없는 경우 
15.07 grep -l로 일치하는 파일 목록 얻기 
15.08 grep -c를 사용해서 일치하지 않는 파일 목록 얻기 
15.09 nom: 와일드카드에 일치되지 않는 파일들을 나열 
15.10 디렉토리에만 일치되는 와일드카드

16장. 어디에 두었더라? 
16.01 find 명령어 외의 모든 것들 
16.02 ls -t와 ls -u를 가지고 가장 오래되거나 가장 새로운 파일들을 찾기 
16.03 ls 출력을 재배열하기 
16.04 모든 서브 디렉토리들을 ls -R로 출력하기 
16.05 세 가지 UNIX의 파일 시간
16.06 clf, cls: "압축된" ls 목록 
16.07 ls 단축 명령: ll, lf, lg 등 
16.08 ls -d 옵션
16.09 최근에 변경된 파일들을 나열하기 위한 앨리어스 
16.10 findcmd: 검색 경로에서 명령어 찾기 
16.11 ls -A와 -a로 숨은 파일들을 보여주기 
16.12 유용한 ls 앨리어스들 
16.13 파일을 액세스할 수 없다면 이름 속의 공백을 찾아보자 
16.14 파일명 속의 출력 불가능한 문자들을 보여주기 
16.15 웃으면서 UNIX를 변경할 수 있게 해주는 스크립트: dir, ...,... 
16.16 고유한 파일명을 자동으로 선택하기 
16.17 파일의 경로명에서 디렉토리 이름 가져오기 
16.18 오늘 생성했거나 편집한 파일들을 나열하기 
16.19 stree: 간단한 디렉토리 트리
16.20 vtree: 비주얼 디렉토리 트리 프로그램 
16.21 같은 이름을 가진 모든 디렉토리 찾기 
16.22 dircmp로 두 디렉토리 트리를 비교하기
16.23 두 디렉토리 트리 내의 파일명들을 비교하기 
16.24 종류별로 파일의 개수 세기 
16.25 파일들을 나이와 크기로 나열하기 
16.26 findtext로 텍스트 파일들을 찾아내기
16.27 newer: 가장 새로운 파일의 이름을 출력하기 
16.28 oldlinks: 연결되지 않은 심볼릭 링크 찾아내기 
16.29 sls: 출력 형식을 선택할 수 있는 훌륭한 ls 

17장. find로 파일 찾기
17.01 find 명령은 대단하다; 문제는 그 사용법을 아는 것이다 
17.02 깊은 디렉토리 트리 파고 들어가기 
17.03 -print를 잊지 말자 
17.04 특정한 이름을 가진 파일 찾기
17.05 오래된 파일들 검색하기 
17.06 find 검색 연산자의 전문가가 되기 
17.07 find가 찾는 시간들 
17.08 정확한 파일 시간 비교 
17.09 -newer의 문제점들
17.10 찾은 것에 명령 실행하기
17.11 -exec을 이용해서 커스텀 테스트하기 
17.12 명령어 하나로 여러 가지 찾기
17.13 종류에 따라 파일 검색하기 
17.14 크기로 파일 검색하기 
17.15 퍼미션으로 파일 검색하기 
17.16 소유자와 그룹으로 검색하기 
17.17 디렉토리 트리 복제하기(경로명 없이 find의 { } 연산자를 이용) 
17.18 "빠른 find" 사용하기 
17.19 find 데이터베이스를 이용해서 (훨씬) 더 빠르게 파일 찾기 
17.20 디렉토리 트리를 grep 하기 
17.21 lookfor: 어떤 파일에 그 단어가 있는가?
17.22 파일을 가리키는 링크 찾기 
17.23 -prune으로 파일 찾기
17.24 find 내에서 트리의 특정 부분을 건너뛰기(더 선택적인 -prune) 
17.25 find가 네트워크 파일시스템들을 검색하지 않게 하기 

18장. 링크걸기, 이름바꾸기, 그리고 파일 복사하기
18.01 파일 복사가 뭐 그리 복잡한가?
18.02 디렉토리에는 실제로 무엇이 들어있는가? 
18.03 2개 이상의 이름을 가진 파일 
18.04 링크에 대한 더 많은 내용 
18.05 링크 만들기와 삭제하기 
18.06 끊어진 심볼릭 링크
18.07 디렉토리에 링크걸기 
18.08 심볼릭 링크의 실제 파일명 보여주기 
18.09 여러 파일들의 이름 바꾸기, 복사하기, 비교하기 
18.10 그 일을 하는데는 한가지 이상의 방법이 있다 
18.11 ren으로 파일 이름 바꾸기 
18.12 대화식으로 파일 목록의 이름 바꾸기
18.13 한가지 이상의 방법
18.14 다중 심볼릭 링크들을 재연결하기 
18.15 cp -r로 디렉토리 트리 복사하기 
18.16 (tar | tar)를 사용해서 디렉토리 트리 복사하기 

19장. 아카이브 만들기와 읽기 
19.01 묶어서 옮기기 
19.02 쉘 아카이브에 대한 소개 
19.03 unshar: 쉘 아카이브를 풀기 
19.04 unshar의 단순한 버전 
19.05 tar를 사용하여 아카이브 만들고 풀기 
19.06 GNU tar 샘플러 
19.07 압축된 아카이브에서 파일 풀기 
19.08 설명하는 tar의 문제점
19.09 시스템 V 테이프 아카이버: cpio 

20장. 파일 백업
20.01 tar에 대해 한 말씀 
20.02 백업을 직접 해보자
20.03 로컬 테이프 장치를 이용해서 백업하기 
20.04 tar 명령어로 테이프에서 파일을 복구하기
20.05 tar를 이용하여 원격지 테이프 장치로 백업하기 
20.06 원격 장비의 테이프 장치에 쓰기
20.07 선택적 백업을 위한 타임스탬프 파일 생성 
20.08 이런 파일은 포함하고 저런 파일은 제외하면서 tar 실행하기 
20.09 프로그램이 와일드카드를 이해하지 못하는 경우 
20.10 절대 경로명 금지 
20.11 tar의 인자들을 올바른 순서대로 취하기
20.12 SCCS나 RCS를 이용한 파일 보호 
20.13 SCCS 개요 
20.14 RCS 개요 
20.15 rcsrevs를 이용한 RCS 리비전 번호 나열

21장. 파일 관리에 대한 추가 내용 
21.01 들어가기에 앞서
21.02 임시 파일들에 적합한 장소: /tmp 
21.03 임시 파일에 고유한 이름을 부여 
21.04 /tmp와 /usr/tmp가 모두 있는 이유
21.05 파일의 마지막 액세스 시간이 중요한 경우 
21.06 파일의 Inode 변경(생성 시간이 아님!) 시간 
21.07 touch를 이용하여 파일 수정 시간을 설정하기 
21.08 MAILCHECK 및 mail 변수 
21.09 make를 이용해서 자동으로 파일 인쇄물을 최신으로 유지하기
21.10 화면의 상단에 디렉토리 목록을 나타내기: dirtop
21.11 안전한 삭제, 이동, 그리고 복사 
21.12 파일들을 디렉토리에 복사하기
21.13 stat을 이용해서 Inode 읽기 
21.14 자동으로 날짜를 파일명에 추가하기 

22장. 파일 보안, 소유권 및 공유 
22.01 파일 소유권과 보안에 대한 소개 
22.02 파일과 디렉토리 퍼미션에 대한 안내
22.03 새로운 파일의 소유주 
22.04 정확한 umask 설정
22.05 setgid 비트를 갖는 디렉토리 내의 그룹 퍼미션
22.06 스티키 비트를 이용한 파일 보호 
22.07 chmod를 이용해서 파일의 퍼미션 변경
22.08 chmod = 연산자의 효용성 548
22.09 중요한 파일을 쓰기 금지하여 보호
22.10 cx, cw, c-w: 파일 퍼미션의 신속한 변경
22.11 쓰기 액세스가 없는 파일을 수정하기
22.12 액세스는 가능하지만 목록은 볼 수 없는 디렉토리
22.13 그룹과 그룹 소유권
22.14 사용자를 그룹에 추가하여 퍼미션 박탈하기
22.15 퍼미션 뒤섞기
22.16 cpmod를 이용한 퍼미션 복사
22.17 crypt의 보안성을 높이는 방법
22.18 보안을 위해 화면 지우기
22.19 쉘 스크립트는 읽기 및 실행이 가능해야 함
22.20 왜 BSD UNIX에서 파일 소유권을 변경할 수 없을까?
22.21 chown을 이용하지 않고 파일의 소유권 바꾸기
22.22 누구나 이용할 수 있는 su 명령어

23장. 파일 지우기
23.01 생성과 소멸의 순환
23.02 rm의 무서움
23.03 rm을 안전하게 만드는 트릭
23.04 "yes"나 "no" 중에서 항상 yes 
23.05 일부만 지우고 일부는 남겨두기
23.06 대화식으로 파일들을 지우는 빠른 방법
23.07 일부 디렉토리 내의 안전한 파일 삭제
23.08 안전한 삭제의 장단점
23.09 delete: 불의의 삭제로부터 파일들을 보호
23.10 무조건 지우기: rm -f
23.11 괴상한 이름의 파일 지우기
23.12 와일드카드를 이용해서 이상한 이름의 파일들 지우기
23.13 비어있는 이름의 파일들 지우기
23.14 대시(-)로 시작하는 파일명 다루기
23.15 unlink를 이용해서 이상한 이름의 파일을 제거하기
23.16 이상한 파일을 inode 번호로 지우기
23.17 디렉토리를 지울 때의 문제점
23.18 디렉토리 생성과 삭제의 원리
23.19 읽히지 않는 (BSD) 매뉴얼 페이지 삭제하기
23.20 낡은 파일들 지우기
23.21 하나만 남기고 모든 파일을 다 지우기
23.22 find를 이용해서 불필요한 파일들을 청소하기

24장. 디스크 공간을 늘리는 기타 방법
24.01 파일을 지우는 대신에 비워버리자
24.02 디스크 공간 절약: 로그 파일과 메일박스
24.03 열려있는 파일을 언링크하는 것은 좋은 생각이 아니다
24.04 링크를 이용해서 공간 절약하기
24.05 파일 크기 제한
24.06 탭 문자를 이용해서 공간 절약하기
24.07 파일을 압축해서 공간 절약하기
24.08 디렉토리 트리를 tar로 묶고 압축해서 공간 절약하기
24.09 디스크 공간 확인하기
24.10 zloop: 압축된 파일에 명령어 실행하기
24.11 zvi, zex, 그리고 zed를 이용하여 압축된 파일 편집하기
24.12 디렉토리 트리 압축하기: 세세한 조절
24.13 strip으로 실행 파일에서 공간 절약하기
24.14 strip은 신중하게 이용하자
24.15 디렉토리 새로 구성하기
24.16 덩치가 큰 디렉토리 다듬기
24.17 디스크 쿼터
24.18 덩치가 크다고 디스크를 많이 차지하는 것은 아니다

4부. 파일 안 살펴보기

25장. 파일 안에 무엇이 있는가 살펴보기

25.01 어려운 문제 해결하기
25.02 cat을 정복하는 네 가지 방법
25.03 파일 내용을 페이지 단위로 자르는 more 명령어 사용하기
25.04 "more" 보다는 "less"
25.05 압축 파일, RCS 파일, 출력 불가 파일들 보기
25.06 공백 문자는 어떻게 보나?
25.07 cat -v 또는 od -c를 이용해서 출력 불가 문자들 보기
25.08 파일 타입 찾아내기
25.09 공백 문자 지우고 덧붙이기
25.10 비어있는 라인 제거하기
25.11 모든 공백 라인들을 무시하는 cat: crush
25.12 두 개의 스페이스, 세 개의 스페이스... 
25.13 pushin: 여분의 공백 문자 줄이기
25.14 파일의 끝을 보기: tail
25.15 tail을 잘 다루기
25.16 파일이 점점 커질 때 어떻게 파일을 보나?
25.17 tail이 없는 경우에는 앨리어스를
25.18 많은 파일의 추가적인 입력 보기
25.19 flip을 이용해서 라인 파일들의 라인들을 거꾸로 보기
25.20 파일의 첫부분 출력하기
25.21 라인 번호 달기

26장. 정규표현식(패턴 매칭)
26.01 표현식이란?
26.02 와일드카드와 정규표현식을 혼동하지 마라!
26.03 정규표현식 이해하기
26.04 정규표현식에서 메타 문자 사용하기
26.05 정규표현식 시작하기
26.06 무엇이 정규표현식에 매칭되는가?
26.07 매칭의 확장을 제한하기
26.08 원하지 않는 메타 문자를 결코 사용하지 않는다
26.09 다른 유닉스 프로그램에서 유효한 메타 문자들
26.10 예를 통한 패턴 매칭에 대한 참조

27장. 파일에서 검색하기
27.01 grep의 다른 버전들 
27.02 grep으로 텍스트 검색
27.03 매칭되지 않는 텍스트 찾기
27.04 단어를 패턴으로 찾기
27.05 egrep으로 텍스트의 확장 검색
27.06 빠른 grep은 아니다
27.07 패턴들의 리스트에 대한 grep
27.08 glimpse와 agrep
27.09 새로운 grep이 훨씬 빠르다
27.10 rcsgrep으로 RCS 파일 검색
27.11 sed를 사용하여 다중 라인의 내용 검색하기
27.12 펄로 일반적인 grep 명령어 만들기 
27.13 펄로 작성된 grep 같은 프로그램
27.14 복합 검색
27.15 빠르게 검색하기
27.16 대소문자 구별없이 검색하기
27.17 열에 있는 한 개의 문자 찾기
27.18 "look"을 이용한 빠른 검색과 오타 체크
27.19 바이너리 파일에서 단어 검색
27.20 찾은 문자열을 강조하여 보여주는 hgrep

28장. 파일 비교하기
28.01 diff로 파일의 차이점 체크하기
28.02 세 개의 다른 버전을 비교하는 diff3
28.03 context diff
28.04 Side-by-Side diff: sdiff 
28.05 다른 파일과 나란히 파일 비교하기
28.06 sdiff로 파일 내용 선택하기
28.07 아주 긴 파일들의 비교: bdiff
28.08 diff 결과를 쉽게 보기
29.09 diff에 의해 만들어진 ex 스크립트
28.10 diff와 탭스탑의 문제점
28.11 cmp와 diff
28.12 comm으로 두 파일을 비교하기
28.13 make는 프로그래머만을 위한 것이 아니다!
28.14 make를 더 잘 사용하기
28.15 diffmk로 troff 파일의 변경 보기

29장. 철자 체크, 단어 수 계산, 텍스트 분석
29.01 유닉스 쉘 명령어
29.02 ispell로 철자 체크하기
29.03 그 단어의 철자는 어떻게 되지?
29.04 spell 내부 들여다 보기
29.05 ispell의 사전에 단어 추가하기
29.06 라인 수, 단어, 문자를 세는 wc
29.07 각각의 단어들이 얼마나 많이 사용되었는가? 
29.08 두 번 반복되는 a 찾기
29.09 closure를 찾기
29.10 부디, 단어만을

5부. 문서 편집

30장. vi에 대한 팁과 기교

30.01 vi와 ex 편집기가 왜 중요한가?
30.02 이 장에서 다루게 될 내용
30.03 마우스와 vi
30.04 vi로 여러 개의 파일들을 편집하기
30.05 파일들을 오가며 편집하기
30.06 vi와 ex의 로컬 설정들
30.07 버퍼를 이용하여 텍스트를 옮기고 복사하기
30.08 번호 버퍼에서 삭제한 것을 되살리기
30.09 검색 패턴 및 글로벌 명령어 이용하기
30.10 ex와 vi에서 치환 확인하기 
30.11 원본 파일을 보존하고 새 파일로 쓰기 
30.12 파일의 일부분을 저장하기
30.13 기존 파일에 덧붙이기 
30.14 패턴을 이용하여 텍스트 블록을 옮기기 
30.15 유용한 글로벌 명령어들(패턴 매칭 활용)
30.16 등장 횟수 세기: 검색 랩 멈추기
30.17 라인에 있는 모든 단어를 대문자로 변환하기
30.18 각각의 파일에 대한 vi 옵션을 자동으로 설정하기
30.19 모드라인: 버그인가 기능인가? 
30.20 다중 편집 설정 파일: 검색부터 시작하기
30.21 각기 다른 파일별 설정 
30.22 유닉스 명령어를 통한 텍스트 필터링
30.23 안전하게 vi 필터를 통과시키기
30.24 vi/ex 파일 복구 및 네트워크 파일시스템
30.25 vi -r은 편집 종료 시 복구 버퍼에 기록하지 않을 수도 있다
30.26 쉘 이스케이프: 다른 명령어를 실행하면서 또다른 유닉스 명령어 실행하기
30.27 vi 복합 검색
30.28 ctags와 tag로 함수와 인클루드 파일 추적하기
30.29 여러 개의 tags 파일 설정하기
30.30 두 가지 기능의 펑션키 처리
30.31 vi 단어 축약어
30.32 vi 축약어를 명령어로 이용하기(vi들간의 잘라내기 및 붙이기) 
30.33 vi 축약어를 이용하여 오타 수정하기
30.34 vi의 라인 명령어와 문자 명령어
30.35 임시 공간이 부족한가? 다른 디렉토리를 이용하자
30.36 ex 오픈 모드가 유용한 경우
30.37 라인 깔끔하게 편집하기
30.38 Undo를 이용하여 위치 찾기

31장. vi에서 커스텀 명령어 만들기 
31.01 왜 여러분들이 해야 하는 것보다 더 많이 입력하는가?
31.02 vi 맵 명령어를 이용한 입력과 시간 절약
31.03 map! 명령어 사용의 손실
31.04 vi @-함수 
31.05 vi를 실행하는 윈도우를 복사하기 위한 키맵
31.06 ex에 의한 키 해석 방지
31.07 반복적인 편집을 위한 맵
31.08 vi에서의 키 맵핑의 다양한 예
31.09 .exrc 파일을 위한 유용한 도구
31.10 vi 키맵을 반복해서 실행하기
31.11 CAPS LOCK을 사용하지 않고 대문자 쓰기
31.12 텍스트 입력 모드에서의 커서 동작
31.13 텍스트 입력 모드에서 커서 키 만들기
31.14 간과하기 쉬운 중요한 맵의 기능: noremap 이용 
31.15 복잡한 매크로 이용하기 
31.16 긴 라인을 분리하는 vi 매크로

32장. GNU Emacs
32.01 Emacs: 그밖의 편집기들 
32.02 Emacs의 기능: 목록 
32.03 자신에게 맞는 환경 설정하기 
32.04 백업과 파일 자동저장
32.05 수정 모드에서 Emacs 편집하기
32.06 명령어 입력 대행
32.07 타이핑이 빠른 사람에겐 시간 절약을
32.08 검색 기능
32.09 Emacs를 사용하기 전에 PWD 재설정
32.10 파일에 바이너리 문자 삽입하기
32.11 축약어 모드 사용하기
32.12 Emacs에서의 흐름 제어 문제
32.13 재미있는 기능

33장. 배치 편집
33.01 라인 편집기의 놀라움
33.02 편집 스크립트 작성하기
33.03 라인 위치 지정
33.04 유용한 ex 명령어
33.05 vi 안에서 편집 스크립트 실행하기
33.06 한 번 편집으로 여러 파일들을 변경하기
33.07 ed/ex 배치 편집: "no matches" 에러 피하기
33.08 배치 편집: 큰 파일 편집 시 에러처리
33.09 patch: 파일 변경 방법
33.10 qsubst를 이용하여 명령행에서의 빠른 변경
33.11 빠른 참조: awk
33.12 awk의 버전

34장. 스트림 편집기 sed
34.01 sed에 대해 알아야 하는 2가지 사항
34.02 sed 실행하기
34.03 sed 스크립트 테스트하고 이용하기: checksed, runsed 
34.04 sed 라인 지정 방법 
34.05 스크립트 내의 명령어들의 순서
34.06 한 번에 하나씩
34.07 정규표현식 구분 짓기 
34.08 sed 치환 구문 내의 뉴라인 
34.09 치환문에서 검색 문자열 참조하기 
34.10 검색 문자열의 일부분을 참조하기
34.11 검색과 치환: 여러 개 중에서 하나만 매치 
34.12 텍스트 변환 
34.13 대기 공간: 곁가지 버퍼 
34.14 라인의 일부분 변환하기 
34.15 라인을 넘나들며 편집하기 
34.16 열심히 일하는 비서 
34.17 여러 라인에 걸쳐 분리되어 있는 패턴 찾기 
34.18 다중라인 지우기 
34.19 특정 부분을 제외하고 편집하기 
34.20 sed의 Test 명령어 
34.21 sed의 Quit 명령어 사용하기 
34.22 sed Quit 명령어의 위험성 
34.23 sed 쉘 스크립트에서의 뉴라인, 인용부호, 백슬래시 
34.24 빠른 참조: sed 

35장. 편집의 한계 극복 
35.01 못할 것이 없다! 
35.02 fmt를 이용해서 텍스트 다듬기 
35.03 fmt의 변형 
35.04 recomment: 프로그램의 주석문 블록 청소 
35.05 메일과 뉴스 메시지의 헤더를 제거하는 behead 
35.06 dd를 이용한 파일 다루기
35.07 offset: 텍스트 들여쓰기 
35.08 파일의 라인들을 가운데 맞춤하기 
35.09 파일 조각내기: split 
35.10 구문 내용에 의해 파일을 조각내기: csplit 
35.11 tr을 이용하여 문자 바꾸기 
35.12 ASCII와 EBCDIC 간의 변환 
35.13 dd를 이용한 기타 변환 
35.14 cut을 이용해서 열이나 필드를 잘라내기 
35.15 colrm을 이용해서 열들을 잘라내기 
35.16 cols를 이용해서 열을 자동으로 생성하기 
35.17 pr을 이용해서 열 속에 텍스트 만들기 
35.18 열 속에 붙이기 
35.19 join을 이용해서 라인들을 붙이기 
35.20 빠른 참조: uniq 
35.21 IFS를 이용해서 문자열 분리하기 
35.22 들쭉날쭉한 열을 깔끔하게 다듬기 
35.23 텍스트 돌리기 

36장. 정 렬 
36.01 순서대로 정렬하기 
36.02 필드 정렬: sort 명령의 동작 원리 
36.03 필드 구분자 바꾸기 
36.04 필드 구분자가 공백일 때의 문제점 
36.05 알파벳 정렬과 숫자 정렬 
36.06 정렬에 대한 다양한 힌트 
36.07 여러 라인 단위로 정렬하기 
36.08 lensort: 라인 길이별로 정렬하기 
36.09 성으로 이름 목록 정렬하기 

37장. 펄, 못하는 게 없는 도깨비 방망이 

37.01 펄에 관해 이 책에서 다룰 내용 
37.02 펄을 배워야 하는 이유 #1
37.03 훌륭한 프로그래머로서 갖추어야 할 3대 덕목 
37.04 펄을 배워야 하는 이유 #2 
37.05 자, 이제 펄 5에 대해 이야기하자 

6부. 프로세스 관리

38장. 프로세스 시작, 정지, 그리고 종료

38.01 이번 장에 포함된 내용들 
38.02 fork, 그리고 exec 
38.03 프로세스 관리: 전반적 개념들 
38.04 서브 쉘 
38.05 ps 명령어 
38.06 제어 터미널 
38.07 왜 ps 는 어떤 명령어들을 괄호 안에 넣어서 보여주는가? 
38.08 시그널이란? 
38.09 포그라운드 작업 죽이기 
38.10 kill 명령어로 프로세스 죽이기 
38.11 프린터 큐 감시자: 재 기동시킬 수 있는 데몬 쉘 스크립트 
38.12 자신의 모든 프로세스들을 죽이기 
38.13 패턴과 일치하는 프로세스들을 대화식으로 죽이기 
38.14 폭주되고 있는 프로세스들 
38.15 죽일 수 없는 프로세스들을 정리하기 
38.16 왜 좀비 프로세스를 죽일 수 없는가 
38.17 csh에서 로그아웃할 때 백그라운드 프로세스들을 자동으로 죽이기 
38.18 nohup 

39장. 시간과 성능 
39.01 어떤 시간을 의미하는가? 
39.02 시간측정 프로그램 
39.03 csh의 time 변수 
39.04 runtime을 이용한 명령어 평균 실행 시간 구하기 
39.05 왜 시스템이 이렇게 느린거지? 
39.06 lastcomm: 현재 어떠한 명령어들이 실행되고 있으며 그것들은 얼마나 오랫동안 실행되고 있는가? 
39.07 시스템 부하 검사: uptime 
39.08 커다란 환경은 여러분의 작업을 느리게 할 수 있다 
39.09 언제 다른 사용자들에게 “nice” 해져야 하는지, 그리고 언제 그래선 안되는지 
39.10 nice에 관한 잘 알려진 비밀 
39.11 BSD UNIX 상에서 우선순위 변경하기 
39.12 무엇이 컴퓨터를 느리게 만드는가? 그리고 어떻게 해결할 것인가?

40장. 나중에 실행하기 
40.01 한가한 시간을 활용하기 
40.02 잠시 기다리기: sleep 
40.03 at 명령어 
40.04 at에 의해 사용될 쉘 선택하기 
40.05 다른 at 또는 cron 작업들을 피하기 
40.06 시스템 V.4 배치 큐 
40.07 at 작업이 조용히 실행되게 하기 
40.08 at 작업이 자동적으로 다시 실행되게 하기 
40.09 작업 확인 및 삭제 
40.10 nextday, nextweekday: 내일 또는 다음주 
40.11 여러분 자신에게 재확인 메일 보내기 
40.12 주기적 프로그램 실행: cron 설비 
40.13 crontab 항목 추가하기 
40.14 cron 항목에서 표준 입력 포함하기 
40.15 crontab 편집을 더 쉽고 안전하게 만드는 crontab 스크립트 

7부. 터미널과 프린터

41장. 터미널과 시리얼 라인 설정
 
41.01 조금 더 깊이 파고들기 
41.02 stty와 그런 모든 도구들 
41.03 stty로 터미널 설정 알아내기 
41.04 유닉스가 탭 문자를 다루는 방법 
41.05 일부 시스템이 프롬프트를 넘어서 백스페이스하는 이유 
41.06 포트 세팅을 유지하기 위해 sleep 사용하기 
41.07 터미널에서 매우 긴 라인 읽기 
41.08 pty와 윈도우 시스템 
41.09 터미널을 조절하는 명령어들 
41.10 쉘 프로그램에서 terminfo 기능 사용하기 
41.11 termcap과 terminfo가 터미널을 설명하는 방법 
41.12 터미널의 특수키가 어떤 문자를 보내는지 알아내기 

42장. 터미널에 생기는 문제들 
42.01 엉망이 된 터미널에서 의미 찾기 
42.02 엉망이 된 터미널이나 작업 고치기 
42.03 가끔 TERM을 바꾸는 것이 안되는 이유 
42.04 엉망이 된 터미널을 리셋하기 위한 점검표 
42.05 점검표: 화면 크기가 엉망인가? 
42.06 화면 크기를 검사하는 파일들 
42.07 termtest: 터미널에 반복되는 문자 보내기 
42.08 에러가 너무 빨리 지워지는가? 이런 해결책은 어떤가? 

43장. 프린트하기 
43.01 프린팅의 소개 
43.02 유닉스에서 프린팅의 소개 
43.03 lpc를 이용한 프린터 제어 
43.04 다른 프린터 사용하기 
43.05 스풀링을 위해 심볼릭 링크 사용하기 
43.06 터미널 프린터에 프린트하기 
43.07 프린트하기 전에 임시방편으로 포맷팅하기 
43.08 pr과 fold로 여백 결정하기 
43.09 프린팅을 위해 텍스트를 들여쓰기 
43.10 pr없이 파일 위에 파일명 헤더 쓰기 
43.11 큰 글자들: banner 
43.12 조판 개요 
43.13 텍스트 포맷터들 nroff, troff, ditroff, ... 
43.14 nroff/troff와 매크로 패키지 
43.15 소스 파일을 프린터로 보내기 
43.16 groff 
43.17 nroff가 없는가? gnroff나 awf를 시도해 보자 
43.18 nroff가 볼드체와 밑줄을 만드는 방법; 그것을 없애는 방법 
43.19 앞부분의 탭과 그밖의 사소한 것 없애기 
43.20 troff 매크로 정의 표시하기 
43.21 sed로 troff 입력을 전처리하기 
43.22 텍스트 파일을 포스트스크립트로 변환하기 
43.23 psselect: 포스트스크립트 파일에서 일부 페이지를 프린트하기 
43.24 그밖의 포스트스크립트 유틸리티들 
43.25 이식 가능한 비트맵 패키지 

8부. 쉘 프로 그래밍

44장. 초보자를 위한 쉘 프로그래밍 

44.01 모두가 배워야 하는 쉘 프로그래밍 
44.02 간단한 쉘 프로그램 작성하기 
44.03 도대체 쉘이란 무엇인가? 
44.04 시스템이 파일을 실행하는 방법 테스트하기 
44.05 Bourne 쉘의 case를 이용한 문자열 값 테스트하기 
44.06 case문에서의 패턴 매칭 
44.07 유닉스 프로세스의 종료 상태 
44.08 if 구문으로 종료 상태 테스트하기 
44.09 성공 여부 테스트하기 
44.10 종료 상태를 테스트하는 순환문 
44.11 쉘(스크립트)의 종료 상태 설정하기 
44.12 인터럽트로 인해 종료 트랩하기 
44.13 read: 키보드로부터 읽기 
44.14 쉘 스크립트 안에 awk, sed 등을 넣기 
44.15 쉘 스크립트에서 명령행 인자 다루기 
44.16 for 순환문으로 명령행 인자 다루기 
44.17 while과 shift로 인자 다루기 
44.18 표준 명령행 구문분석 
44.19 Bourne 쉘의 set 명령어 
44.20 test: 파일과 문자열 테스트하기 
44.21 새로운 명령어를 위한 이름 고르기 
44.22 프로그램 이름 찾기; 복수 개의 프로그램 이름 
44.23 .과 source 명령어로 파일 읽기 

45장. 고수를 위한 쉘 프로그래밍 
45.01 쉘 환경을 내 맘대로 
45.02 : #, #!의 역사 
45.03 쉘이 필요없는 스크립트 
45.04 재미있는 #! 
45.05 내용을 보여주는 파일 및 #!의 역할 
45.06 #!이 없어도 Bourne 쉘로 실행되도록 쉘을 작성하기 
45.07 exec 명령어 
45.08 자식 프로세스로 시그널 넘기기 
45.09 Bourne 쉘의 ":" 연산자 
45.10 편리함과 보안을 위해 오픈된 파일을 삭제하기
45.11 다목적 jot 명령어 
45.12 파라미터 치환 
45.13 디스크 공간과 프로그래밍 수고를 덜기: 하나의 프로그램에 여러 이름을 주기 
45.14 마지막 명령행 인자를 찾기 
45.15 명령행 파라미터를 모두 unset하는 방법 
45.16 표준 입력을 for 순환문으로 
45.17 여러 개의 변수들을 이용한 순환문 만들기 
45.18 basename과 dirname 이용하기 
45.19 여러 순환문 제어 명령어들을 이용하는 while 순환문 
45.20 오픈 파일 및 파일 기술어 
45.21 n>&m: 표준 출력과 표준 에러를 서로 바꾸기 
45.22 파일을 라인 단위로 처리하기 
45.23 리다이렉트된 I/O 순환문의 입력과 출력 
45.24 쉘이 표준 입력으로부터 스크립트를 읽을 수 있다. 그러나... 
45.25 표준 입력으로부터 작성하는 즉석 쉘 스크립트 
45.26 "here" 문서를 인용 처리할 때의 문제점: sh 대 csh 
45.27 "비밀스러운" 대답을 받을 때는 echo를 꺼놓자 
45.28 빠른 참조: expr 
45.29 expr을 이용해서 문자열 내의 문자들을 테스트하기 
45.30 문자열의 일부분을 포획하기 
45.31 중첩된 명령어 치환 
45.32 read 명령어보다 더 좋은 grabchars 
45.33 하나의 case를 이용해서 두 개의 문자열을 테스트하기 
45.34 Bourne 쉘의 배열 
45.35 스크립트 내에서 제어 문자 이용하기 
45.36 쉘의 잠금파일 

46장. 쉘 스크립트 디버깅 
46.01 쉘 스크립트 디버깅을 위한 팁 
46.02 인용 처리에 문제가 있다면 잘 생각해 보고 echo를 사용하자 
46.03 쉘 변수를 보여주는 Bourne 쉘 디버거 
46.04 숫자를 비교할 때 문법 에러 방지하기 
46.05 문자열을 비교할 때 문법 에러 방지하기 
46.06 Bourne 쉘 -e 옵션의 버그를 조심하자 
46.07 인용 처리와 명령행 파라미터 
46.08 내장 명령어의 실행 실패 테스트 
46.09 명령어가 상태를 리턴하지 않으면 에러 메세지를 확인하라
46.10 이식성이 좋은 echo 명령어 

47장. C 쉘 프로그래밍은... 곤란해! 
47.01 왜? 
47.02 해롭다고 간주되는 C 쉘 프로그래밍 
47.03 if를 이용한 조건문
47.04 C 쉘 변수 연산자와 표현식 
47.05 C 쉘 배열 이용하기 
47.06 C 쉘의 switch문 

9부. 잡동사니

48장. 사무자동화 

48.01 음, 다른 적당한 말이 있을까? 
48.02 온라인 전화/주소록 
48.03 화면위에 메모장을 
48.04 자동 재확인 또는 그 이상: calendar 
48.05 leave: 오! 마칠 시간이라네! 
48.06 어떤 날짜에 대해서도 달력을 보자: cal 
48.07 cal은 오늘 날짜를 확실히 알려준다 
48.08 132열 터미널 또는 프린터를 위한 달력 
48.09 pcal을 가지고 포스트스크립트 달력 얻기 
48.10 이름과 주소 다루기 
48.11 인덱스 데이터베이스 프로그램 
48.12 필터와 함께 인덱스 사용하기 

49장. 수 다루기 
49.01 bc: 쉘 프롬프트에서 간단한 산수를 
49.02 bc: 16진수 또는 8진수 변환 
49.03 진수변환 시 주의사항 
49.04 bc의 사인, 코사인의 단위는 라디안 
49.05 cvtbase를 사용한 진수변환 
49.06 expr를 사용한 빠른 연산 
49.07 addup으로 열의 값들을 합계내기 
49.08 스프레드쉬트가 있었으면 좋을텐데 
49.09 ipl로 사무용 그래픽을 

50장. 온라인 문서 기능과 그 외의 것들 
50.01 UNIX의 온라인 문서 
50.02 apropos 명령어 
50.03 apropos가 없는 시스템 상에서 apropos 
50.04 whatis: 온라인 명령어 요약 
50.05 whereis: 명령어가 어디에 있는지 찾기 
50.06 온라인 매뉴얼 페이지 탐색하기 
50.07 어떻게 유닉스 시스템이 시스템 이름을 기억하고 있을까? 
50.08 어떤 버전을 사용하고 있을까? 
50.09 인덱스 읽는 법 
50.10 troff를 배우지 않고 자신만의 맨페이지 만들기 
50.11 -man 매크로를 사용하여 간단한 매뉴얼 페이지 작성하기 
50.12 공통 UNIX 에러 메시지들 

51장. 자잘하지만 유용한 프로그램들 
51.01 드디어 끝이 보인다 
51.02 어떻게 유닉스는 시간을 유지할까? 
51.03 아스키 문자들: 값들을 나열하고 얻는 법 
51.04 누가 지금 사용 중일까? 
51.05 script를 사용해서 무엇을 했는지 기록하기 
51.06 script 파일 정리하기 
51.07 성급한 사람들을 위해 
51.08 Bang Splat을 입력하라. Rabbit Ears를 잊지말자 
51.09 "로그인" 쉘 만들기 
51.10 date 명령어
51.11 테스트를 위해 임의 크기의 파일을 만들기
51.12 전자우편의 웃는 얼굴 

52장. CD-ROM에 수록된 내용 
52.01 소 개 
52.02 어디서 공짜 소프트웨어가 끝나고 유닉스가 시작될까? 
52.03 유닉스를 위한 일반 소비자용 소프트웨어 
52.04 디스크 수록내용에 대한 요약설명 
52.05 파워 툴의 CD-ROM을 사용하기 
52.06 CD-ROM 드라이브가 없다면? 
52.07 소프트웨어를 얻는 다른 방법들 
52.08 소스 코드 컴파일하기 
52.09 RTR(Ready-to-Run)의 소프트웨어 지원 

53장. 용어 정리 

찾아보기

유닉스를 사용하다보면 수많은 유틸들로 인해

많은 어려움을 격게 됩니다.

주위의 파워유저들이 콘솔하나만 띄워놓고 사용하는 것을 보면 감탄이 절로 나게 돼지요.

그러나 그런 대부분의 파워유저들의 기술들이

개념과 함께 자세히 설명돼어있습니다.

우리가 왜 그런 유틸을 사용해야 하는지에서부터

어떻게 어떤 옵션을 주고 사용하면 어떤 결과가

나오는지에 대한 설명까지.



당신이 파워 유저가 되길 원한다면 이 책을

강력하게 추천하겠습니다.

<유닉스 파워툴> 제가 보기엔 그냥 유닉스에 대한 사전처럼 보이더군요 물론 괜찮은 책이어서 컴퓨터의 도사라 불리는 사람들 중에는 유틸리티를 잘 다루어서 그렇게 된 사람들이 많다. 프로그래밍 분야는 잘 모르지만 어떻게 그 수많은 유틸리티의 사용법을 잘 아는지 그들의 이야기에 빠져서 그저 신나게 따라가다 보면 어느새 스스로 지쳐 있는 자신을 발견하게 된다. 나도 한 때 이러한 부류의 사람들을 신기한 눈으로 바라본 적이 있다. 때로는 그들을 가리켜 천재라는 수식어도 붙이고 싶었다.



리눅스를 조금씩 알게 되면서 나는 이런 유틸리티의 도사들에 대해 가지고 있었던 뜻모를 환상이 깨지기 시작했다. 그 도사들은 윈도우 계열의 유틸리티에 관해서 밖에 모를 뿐이었던 것이다. 윈도우와 리눅스를 운영체제라는 점에서 비교해 보면서 나는 점차 리눅스의 매력에 젖어들기 시작했다. 리눅스 안에 담겨진 수많은 유틸리티들을 보면서 어떻게 그것들이 만들어졌으며 어떤 사연이 있는지 알고 싶어졌다. 리눅스의 역사를 좇아 내려가 보다가 어느덧 유닉스라는 진기하고 신비롭기까지한 세계를 알게 되었다.



<유닉스 파워툴>은 유닉스의 역사와 함께 사연들이 녹아 있는 책이다. 수많은 유닉스 전문가들이 기고한 글들과 여러 서적에서 발췌해낸 글들, 유즈넷에서 가져온 기사들을 보면서 나는 진정한 유틸리티의 세계가 바로 유닉스가 아닐까 하고 확신하게 되었다. 유닉스는 그야말로 강력한 유틸리티의 집합체였던 것이다.



나는 펄의 개발자 래리웰을 좋아한다. 그의 이야기를 듣고 있으면 마치 명상에 잠겨 있는 듯하다. 처음 그를 알게 된 것은 <오픈소스>라는 책에 실린 글을 통해서 인데 여기에도 그의 글들이 실려있다. 프로그래머의 3대 덕목을 게으름, 조급함, 자만심이라 했던 그의 말에 재기가 넘친다. 그뿐만 아니라 이 책에는 래리웰과 견주어도 손색이 없을 정도로 그런 재기있고 유능한 저자들의 들려 주는 이야기로 가득차 있다.



이 책에는 이건 이렇다 식의 설명보다는 왜라는 질문을 자주 던지고 있다. 왜 그런가에 집착하는 이유는 진정한 유닉스의 맛을 보여주기 위함일 것이다. 지금은 너무 멀리 떨어진 과거의 일이지만 <유닉스 파워툴>의 페이지를 넘기고 있노라면 마치 역사 교과서를 읽는 듯한 착각마저 든다. 아직 명령행에 익숙치 못한 독자라거나 명령행의 사연을 알고 싶은 사람에게는 더할 나위가 없는 책이다.



흔히 백과사전식 나열이라는 말이 따라오는 책이 있다. 진부하기 짝이 없는 지식들만 열거하고 처음부터 끝까지 밋밋함으로 일관하는 그런 책 말이다. 백과사전이란 말 자체가 주는 부담감이 있다. 언제 저것을 다 볼 수 있을까하는 괜한 걱정을 주는 것이 바로 백과사전이다. 하지만 <유닉스 파워툴>은 이러한 백과사전식의 책을 뛰어넘는다. 인터넷 웹사이트에서 보여지는 하이퍼 링크처럼 책을 엵어내었기 때문이다. 유기적으로 여기서 저기로 넘나드는 짜임새 있는 책의 구조에 감탄하지 않을 수 없다. 또한 순차적으로 읽어나가야 하는 부담감 없이 어디서 부터 읽어도 상관없을 정도이다.



유닉스의 힘을 파워드릴로 앞표지를 장식한 것이 이색적이다. 무슨 건축학 책도 아닌데 파워드릴을 갖다 놓고 글자 또한 힘찬 서체를 사용하여 보자 마자 질리는 백과사전과 사뭇 다르다. 이 책은 유닉스 사용자 뿐만 아니라 리눅스 사용자에게도 아주 큰 도움이 될 것이다. 리눅스가 유닉스의 줄기에서 나왔기 때문에 리눅스에 관련된 명령어 라든가 구조를 익히기에도 좋을 것이다.



나는 요즘 유틸리티 도사들이 하나도 부럽지 않게 되었다. 그들은 유닉스의 방대한 유틸리티 세계를 알지 못한다. 오히려 내 자신이 유틸리티의 세계에서 자신감을 얻게 되는 것 같다. <유닉스 파워툴>은 작은 지식들이 모였을 때 뿜어내는 힘을 느끼게 하기에 충분하다. 하나 더하기 하나가 둘이 아니라 둘 이상이라는 것을 이 책을 말하고 있다. 유닉스의 힘이 아직도 내 심장을 두근거리게 한다.

이 책은 A4가 아니다.



책을 처음 봤을 때 느꼈던 점은



단 한가지.



이 책 봐야하나??



하지만 그 책은 유닉스를 못 쓰던 때와



조금이라도 쓸 줄 알게 된 시점과의



책을 보는 눈이 너무도 틀려진다.



먼저 사전식 구성!



인덱스가 너무도 잘 되어있다.



그냥 따라가기가 되어 버리는 책



유닉스 관리쪽 거의 모든 내용이 다 나와있다.



이보다 더 방대한 사전은 없을 것이다.



물론 이 책의 새 판이 나왔지만



이 책을 원서로 보긴 힘들 것이다~;;;



(분량이 너무 많아서)



하지만 이 책을 참고 서적으로 쓰면서



필요한 부분을 찾는 식으로 본다면



더 좋은 유닉스 사전은 아마도 없을 것이다.

굉장한 분량을 자랑(?)하는 책입니다..

그냥도 읽을만 하지만 꾸준히 읽기 보다는 참조할 부분이 있을 때 찾아보는

사전같은 의미의 책인거 같습니다...



그리고 Case Book이라고 해야할 겁니다...

특히 스크립터가 풍부한데 굉장히 도움이 마니 됩니다...

서버관리가 주 목적인 분들은 지참하셔도 무난할 것 같네요...

그러나 가격이.... :)

유닉스는 본질적으로 "파워 툴" 환경이다. 유닉스 초보자들도 금방 유닉스의 쉘 프로그래밍, 앨리어스와 히스토리 메커니즘, 그리고 다양한 편집 툴에서 유닉스의 진정한 파워를 느끼게 된다. 이 책과 부록 CD-ROM에는 파워유저들에게 가장 적합하다고 생각되는 최고의 무료 소프트웨어들이 수록되어 있다. 여기에는 유닉스를 더욱 쉽고 효과적이며 즐겁게 사용할 수 있게 도와주는 수천 가지 팁과 스크립트, 노하우가 담겨 있다. 또 유닉스의 표준 명령어에 가치와 유연성을 부여하는 강력한 무료 프로그램도 담겨 있다. - 도서소개중에서



*****



미디어 추천평



부록 CD와 함께 이 책을 참고하면 수많은 팁, 스크립트 및 기술을 좀더 쉽고, 효과적이고, 재미있게 습득할 수 있을 것이다. 이 책에는 유용하면서도 강력한 find, xargs, tar, grep과 같은 명령어를 수록하고 있다. 이 책을 집필한 전문가들은 실무적인 문제를 해결하는 자세한 방법을 기술하고 있으며 이러한 문제를 분석해서 창의적으로 해결할 수 있도록 해준다. 이 책은 처음부터 끝까지 샅샅이 살펴보면서 읽기보다는 필요한 부분을 찾아서 살펴보도록 만들어진 책이다. -아마존닷컴 편집자 서평



*****



웹로거 추천평



처음 유닉스를 접했던 때는 95년도에 잡지 부록으로 딸려온 슬랙웨어를 386에 설치했을 때이다. 잡지에는 아주 기초적인 명령어들(이를테면 ls, cd, mkdir 등등)만이 설명되어 있었는데, cd 명령으로 전체 시스템을 이리저리 돌아다니다 보니 알지 못할 명령들이 아주 많았다. 그때에는 사용법을 잘 몰랐으므로 리눅스로 부팅해서 할 수 있는 일은 의미없는 파일 복사, 이동, 디렉토리 만들기 등뿐이었고 얼마 후 슬랙웨어는 하드디스크에서 지워졌다.



제대로 유닉스를 만지기 시작한 것은 99년도에 대학교에 입학하고 나서이다. 집에서는 알짜 레드햇 5.2를 깔아서 사용했고, 학과 컴퓨터실엔 솔라리스 2.5.1이 깔려있는 엑스 터미널이 많이 있었다. 이때도 역시 터미널에 프롬프트만 깜빡깜빡하는 난감한 상황이었다. 그러니 나름대로 공부를 해야 할 수 밖에... 인터넷에서 이것저것 자료를 찾아보고 책도 많이 읽게 되었다. 그러다보니 유닉스만의 매력에 빠져서 학과에서 유닉스 시스템 관리자로 활동도 하게 되었다. 유닉스에서는 여러 가지 팁이 많은데 사실 이것들을 직접 경험해보면서 알아내기란 그리 만만치 않은 일이다. 그래서 다양한 내용이 체계적으로 정리된 책이 필요했는데 주변 사람들도 그렇고 인터넷 서점의 서평을 봐도 항상 유닉스 파워 툴이 추천목록에 올라있었다. 어차피 필요할테니 가격이 좀 쎄긴 하지만 주저없이 구입했다.



표지에는 오라일리의 다른 책들과는 너무나 다르게도 전동드릴이 나와있다. 그렇지만 제목인 파워 툴을 딱 맞게 나타내고 있는 듯 하다. 표지도 그렇지만 두께에 한번 또 놀라게 된다. 1300페이지가 넘는 양이다. 컴퓨터 서적치고는 그렇게 크게 놀랄만한 것은 아니지만, 어쨌든 상당히 부담스러운 두께이다. 애초부터 이 책은 처음부터 차례차례로 보는 책은 아닌 것 같다. 사실 서평을 쓰는 지금도 책을 다 읽지는 못했고, 사실 다 읽을 일도 없지 않을까 싶다. 차라리 사전류의 책으로 분류하는게 적절하겠다.



책의 내용은 유닉스의 소개, 로그인 과정 등의 기초적인 것에서부터 셸 프로그래밍이나 시스템 관리에 필요한 내용들까지 많은 내용을 깊이있게 다루고 있다. 지금은 유닉스를 본격적으로 다루기 시작한지 3년이 좀 넘었으니 이 책의 어느 부분을 펴 보더라도 완전히 처음 보는 내용이라던가 하는 부분은 없지만 자세히 살펴보면 그동안 알지 못했던 유용한 팁들이 많이 숨겨져 있다. 아무래도 이런 작은 부분에서의 차이가 일반 사용자와 GURU를 구분짓는 기준이 되지 않을까?



설명도 쉽게 되어 있고 man 페이지에는 나오지 않는 자잘한 팁들이나 실제 사용법은 아주 많은 도움이 된다. 사실 man 페이지는 각 명령의 역할에 대해서는 아주 자세히 설명되어 있지만, 막상 실제로 사용하려고 하면 어떻게 사용해야 할지에 대한 내용이 없어서 헤메게 되는 경우가 많다. 하지만 책에는 실질적으로 어떻게 사용을 해야 하는지에 대한 예제들도 자세히 나와 있어서 명령의 사용방법에 대한 감을 잡기에 좋다.



특히 시스템 관리자에게 도움이 될 것 같은 부분은 정규식과 셸 스크립트가 아닐까 싶다. 일반 사용자들도 그렇지만 특히 시스템 관리를 하다보면 같은 일을 반복적으로 해야 할 경우가 많은데, 정규식과 셸 스크립트를 잘 이용하면 일을 아주 간단하게 처리할 수 있기 때문이다. 게다가 책에는 실제로도 유용하게 쓸 수 있는 스크립트들이 다수 포함되어 있어 많은 도움이 된다.



이 책을 읽으면서 "작은 것이 아름답다"라는 유닉스의 철학을 다시 한번 생각하게 된다. 프로그램 하나는 아주 단순한 기능만 하지만 이것들이 조합했을 때 얻어지는 강력함에는 감탄을 하지 않을 수 없다. 30여년동안 계속 개발되고 개선되어온 유닉스의 강력한 유틸리티들을 보면, 더 이상 무엇이 필요하겠는가 라는 생각이 들기도 한다. 물론 GUI 환경에서는 몇 번의 마우스 클릭만으로도 같은 작업을 수행할 수 있는 것이 사실이지만, 유닉스에서는 이것보다는 직접 터미널을 띄워서 작업하는 것이 효율적일 경우가 많다. 게다가 X 도 뜨지 않는 최악의 상황에서 시스템을 복구하려면 콘솔에 붙어 작업을 해야 할 경우가 대다수이므로 명령 라인 유틸리티들에 대한 사용법을 숙지하고 있어야 할 것이다.



유닉스에 갓 입문한 새내기 사용자에게는 자세하고 쉬운 설명으로 각종 명령을 이해하거나 기초를 쌓는데 도움이 될 것이고, 중급 이상의 사용자들에게도 기초를 탄탄히 다지고 보다 고급 테크닉을 얻을 수 있는 디딤돌이 되리라 생각한다.



Happy Unixing! :)



*****



독자 리뷰



최고의 유닉스 툴

짜집기한 책!!

리눅스/유닉스 중급 서적.

가장 잘 짜여진 유닉스 중,고급서적

유닉스 파워 툴스를 보고

읽었습니다.

유닉스 파워 툴에 대하여

유닉스 명령어에 관한 최고의 책!



*****



『유닉스 파워툴』과 함께 보면 좋은 책



Learning the bash Shell, 2nd Edition

Learning Perl, 3rd Edition

Programming Perl, 3rd Edition

DNS and BIND, 4th Edtion

배시 셸 시작하기

Perl 제대로 배우기

Perl 프로그래밍

DNS와 BIND, 4판

마이크로소프트가 세계시장을 지배하는 가운데 소스가 공개된 유닉스인 리눅스, 그리고 리눅스보다 더 전통적인 유닉스의 모양을 닮은 공개 유닉스인 FreeBSD 등을 통해 유닉스는 점점 더 가깝게 다가오는 듯 합니다. 이책은 그런 유닉스를 더욱더 잘 다룰 수 있게 해준다고 자신합니다.



제목에서 알 수 있듯이 이 책은 Power Tool의 역할을 대단히 잘 수행합니다. 우리가 일상 생활 중 어떤 문제에 부딪히면 그에 해당하는 도구(tool)를 찾아 사용하듯이 이 책도 유닉스 체제 하에서 어떤 일을 하다가 문제를 겪거나 보다 나은 수행방법을 찾을 때 큰 도움을 줍니다. 이 책 자체가 하나의 유닉스 tool이 될 수 있습니다.



책에서도 밝히지만 내용이 특정 유닉스에 구속되지 않습니다. 리눅스나 FreeBSD나 상용 유닉스나 모두 1400페이지에 달하는 이 책을 필요로 할 것입니다. 단순한 유닉스 개론서가 아닌 실질적으로 도움을 주는, 제가 보아온 최고의 유닉스 서적입니다. 이제 불편하게 man 페이지를 출력할 일이 줄어들 것입니다.

역시 충분히 읽을만한 가치가 있는 책이다.

읽는 동안 지루하지 않고 재미있게 읽었다.



단편을 엮어서 엄청난 두께의 책이 되었지만

사실 오라일리 서적의 일부를 짜집어서 필자의 약간의 의견을 덛붙인 책이다.

의견을 포스팅한 많은 사람들이 이미 오라일리의 책을 한권이상 저술한 저자들이다.



이 책을 번역본으로 읽었는데 무난했다.

하드카바는 젤루 맘에 들었지만 필요없는 공백이 너무 많아 두꺼운 책을 더욱 두껍게 한점은 맘에 안든다.



풍부한 쉘 스크립트는 큰 도움이 되었다.

평점: ****

이제 리눅스 설치및 간단한 인터넷, 프린트 셋팅...따위를 마치고 나면 더이상 리눅스로

뭘해야 할지 모르게 된다.



컨맨드상에서의 명령어에 익숙하지 않은 초급자들이나 이제 중급자에서 고급사용자로 올라가려는 분들에게 적극적으로 추천합니다.



:-)



백과사전이라고 해도 과언이 아닐정도로 자세하고 모든(?)게 다 있습니다.

기초 서적이 넘쳐나는 서가에서 반연 눈에띄는 서적이다.



책의 내용이 다른 중급 수준이상의 서적에 비해서 일관되게 편집되어 있어서 배경지식이 부족한 경우 혼란을 격지 않도록 배려 되어있으며 각장을 순서대로 보거나 필요한 부분 부분을 따로 보아도 문제가 없도록 아주 잘짜여진 프로그램같은 서적이다.



LPI등의 리눅스 관련 인증이나 유닉스 인증을 준비하는 사람에게 꼭 권하는 책이며 실무에서 광범위하게 이용될수있는 내용을 실무자들이 편하게 이해하도록 설명 되어있다.... (이것만큼은 최고라고 말할 수 있다....)



그러나 어디까지나 기초적인 리눅스나 유닉스를 이해하는분을 대상으로 함으로 유닉스나 리눅스의 입문서로 착각하는 일은 없기릴 바란다.



평점: ★★★★★

몇 권의 유닉스 책들을 보았는데 방대한 유닉스의 규모를 다 감당하지 못하고 기초적인 명령어들에 대해 일반적인 사용법들만 나열되어 있더군요. <유닉스 파워 툴스>는 유닉스의 백과사전이라 할만큼 방대한 내용과 일반적인 명령어 사용법만에 그치지 않고 명령어의 성격, 역사, 특성 등에 대해서 친절히 설명하고 있다고 봅니다. 더불어 권위있는 저자들이 책에 대한 "신뢰감"을 주는 것 같습니다. 한 번에 독파하는 책이 아니라 두고 두고 펼쳐보는 책인 것 같습니다.

두꺼운 책!

그래도 반드시 읽어야할 책이라고 봅니다.

아직 읽고 있는 단계지만...

보면 볼수록 알차다는 생각이 드네요.

얼마 전에 유닉스 파워 툴을 구입을 했습니다. 비록 글로벌 리눅스 행사에 가서 구입을 했기 때문에 시중에서 사는 가격보다 훨씬 싼 가격으로 구입을 했습니다. 그리고 집에 돌아와서 책의 내용을 보니 정말 굉장하더군요. 내용이. 정말 유닉스 백과사전이라고 할만큼 방대하고 기술(팁)들이 많이 나열되어 있더군요. 솔직히 저는 아직 초보자의 단계지만 이 책으로 열심히 공부하면 정말로 전문가 아니 구루까지 가능하지 않을까 생각됩니다..



내용도 어려운 편이 아니고 목차도 잘 정리되어 있습니다. 그리고 특이할 만한 사항은 책에 링크개념을 도입해서 읽다가 어떤 내용이 나오면 그 옆에 관련 chapter의 숫자가 나와 있어

전체적인 내용을 이해하기 쉽도록 만든 것이죠. 그리고 책의 저자들(다방면에서 활동)이 굉장히 많습니다. 주된 저자가 3명이라고는 하지만 내용을 보면 굉장히 많은 사람들의 도움으로 이 책이 만들어졌다는 것을 알 수 있을 것입니다.

이 책은 널리 알려진 UNIX 명령 (또는 GNU software)를 사용하는 방법과 shell 프로그래밍 Tip에 관한 책이다. UNIX-like OS의 전반적인 개념 또한 다루고 있다. 이 책 전체를 다 마스터한다는 것은 방대한 분량으로 인하여 꽤 어렵게 느껴지지만 실제 각 주제별로 설명되어 있어 (사전식), 원하는 부분만 바로 보아도 전혀 어려움이 없이 원하는 정보를 찾을 수 있다. 또한 다른 UNIX 책과는 달리 단순히 많은 명령을 manual page식으로 열거한 책이 아니며, 한 명령에 관한 여러 배경 지식과 사용 방법을 예제를 들어 자세하게 설명하고 있다.



또한 대부분의 GNU version의 명령을 사용하고 있으므로 UNIX 뿐만 아니라 GNU/Linux, FreeBSD를 사용하고 있는 분들께는 특별히 유용할 거라고 생각한다.



- ctw -

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

배송료 안내

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

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

닫기

리뷰쓰기

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

* 리뷰 작성시 유의사항

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

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

오탈자 등록

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

도서 인증

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

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

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

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

닫기

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

자료실

최근 본 책0