서브메뉴

본문

셸 스크립트
셸 스크립트
저자 : Dave Taylor
출판사 : 에이콘출판
출판년 : 2005
정가 : 25000, ISBN : 8989975735

책소개


셸은 자신의 컴퓨터와 대화할 수 있는 효율적인 방법을 제공한다. 단지 몇 줄의 셸 코드로, 컴퓨터는 사용자가 원하는 일을 정확히 수행할 수 있다. 많은 사람들이 모르고 있는 사실은 파일과 시스템 오퍼레이션의 관리뿐 아니라 수많은 주요 업무에 셸 스크립트를 이용할 수 있다는 것이다. (그러나 안타깝게도 여전히 많은 사람들이 셸 스크립트가 파일과 시스템 오퍼레이션의 관리뿐 아니라 수많은 주요 업무에 사용될 수 있다는 사실을 모른다.)

쓸모 있고, 재미있고, 사용자의 필요에 맞게 바꿀 수 있는 셸 스크립트에 관해 자세히 설명하고 있는 이 책은, 자주 일어나는 문제점들에 대한 해결 방법과 컴퓨팅 환경을 자신에게 꼭 맞게 개선하는 툴을 제공한다. 각 섹션은 바로 사용할 수 있는 스크립트들과 스크립트의 동작 방식에 대한 설명, 각각의 용도와 장점, 스크립트를 변경하고 확장하기 위한 제안 사항들을 담고 있다.

파일 사용, 시스템의 유지보수, 웹사이트 관리 시 다음과 같은 스크립트를 사용하면 시간과 노력을 절약할 수 있다.

■ 문서의 오자나 입력 에러를 수정하는 대화식의 맞춤법 확인 스크립트
■ 시스템 충돌 시 파일들을 안전하게 보관하는 디스크 백업 유틸리티
■ 사이트의 트래픽을 측정하고, 가장 인기 있는 페이지를 파악하며, 에러를 보고하는 웹 로그파일 분석 툴
■ 현재 온도와 자외선 지수를 비롯해, 인구, 위도, 경도와 같은 정보를 알려주는 날씨 추적 유틸리티
■ 행맨 게임과 같은 셸 스크립트 게임

목차


1장. 코드 라이브러리
#1. PATH에서 프로그램 검색
#2. 입력 확인 : 알파벳과 숫자만으로 구성된 입력 허용
#3. 날짜 포맷 표준화
#4. 큰 숫자의 출력 형식 개선
#5. 정수 입력 확인
#6. 부동소수점 입력 확인
#7. 날짜 형식 확인
#8. 서투른 echo 구현 피하기
#9. arbitrary-precision 부동소수점 계산기
#10. 파일 locking
#11. ANSI 칼라 시퀀스
#12. 셸 스크립트 라이브러리 구축
#13. 셸 스크립트 디버깅

2장. 사용자 명령 개선
#14 길이가 긴 행 정리(formatting)
#15 삭제된 파일 임시 저장(archive)
#16 삭제 파일 아카이브 사용
#17 파일 삭제에 대한 로그 작성
#18 디렉터리 내용의 화면 출력
#19 파일명을 이용한 파일 검색
#20 다른 시스템 환경의 모방: DIR
#21 Man 페이지 데이터베이스의 활용
#22 다른 시간대(Time Zone)의 시간 표시


3장. 유틸리티 작성
#23. Reminder 유틸리티
#24. 대화식 계산기
#25. 개별 단어의 맞춤법 검사
#26. 대화식 맞춤법 검사 기능
#27. 로컬 사전의 추가
#28. 온도 변환
#29. 대출금 상환액 계산
#30. 이벤트 기록

4장. 유닉스 개조
#31 파일 행 번호 출력
#32 파일에 대한 추가 정보 출력
#33 긴 행 래핑(wrapping)
#34 Quota를 사용한 GNU 방식의 플래그 구현
#35 ftp와 유사한 형태로의 sftp 변경
#36 grep 수정
#37 압축 파일 사용
#38 최대로 압축된 파일 선택


5장. 시스템 관리 : 사용자 관리
#39. 디스크 사용량 분석
#40. 초과된 디스크 사용량 보고
#41. 사용 가능한 디스크 공간 계산
#42. df 출력 결과의 가독성(readability) 개선
#43. 안전한 locate의 구현
#44. 사용자 추가
#45. 사용자 계정 일시 중지
#46. 사용자 계정 삭제
#47. 사용자 환경 확인
#48. guest 로그아웃 후의 정리

6장. 시스템 관리: 시스템의 유지 보수
#49 Set User ID 애플리케이션 추적
#50 시스템 날짜 설정하기
#51 서비스의 활성화 여부 표시
#52 이름을 사용한 프로세스 죽이기
#53 사용자 crontab 항목 확인
#54 시스템의 cron 작업이 실행되도록 보장
#55 로그 파일 순환(rotation)
#56 백업 관리
#57 디렉토리 백업

7장. 웹과 인터넷 사용자
#58. 온라인 상태에서의 소요 시간 계산
#59. FTP를 사용하여 파일 다운로드
#60. lynx로 하는 BBC 뉴스 추적
#61. 웹페이지로부터의 URL 추출
#62. 온라인 상의 단어 정의
#63. 날씨 정보 추출
#64. 도서관에서 연체 도서 확인
#65. IMDb에서 영화정보 가져오기
#66. 통화 가치 계산
#67. 주식 포트폴리오 트래킹
#68. 웹페이지의 변화 트래킹

8장. 웹 마스터가 직면하는 문제
#69. CGI 환경 살펴보기
#70. 웹 이벤트의 로그
#71. 동적인 웹 페이지 구성
#72. 연락처 폼 처리
#73. 웹 기반의 포토 앨범 만들기
#74. 방명록 만들기
#75. 텍스트 기반 웹 페이지 카운터 만들기
#76. 무작위로 텍스트 보여주기

9장. 웹과 인터넷 관리
#77. 손상된 내부 링크 식별
#78. 손상된 외부 링크 보고
#79. 웹페이지의 맞춤법 확인
#80. Apache 패스워드 관리
#81. 디렉토리를 FTP와 동기화하기
#82. ftp를 사용한 리모트 디렉토리와의 동기화
#83. 파일을 SFTP와 동기화하기

10장 인터넷 서버 관리
#84 아파치 서버의 access_log 다루기
#85 검색엔진 트래픽의 이해
#86 아파치 서버의 error_log 다루기
#87 외부 저장 시스템 보호
#88, 웹 사이트 미러링(mirroring)
#89 FTP 사용량 체크
#90 네트워크 상태 모니터링
#91 프로세스의 이름으로 태스크의 우선순위 변경하기
#92 새로운 가상 호스트 계정 추가하기

11장. Mac OS X 스크립트
#93. NetInfo 사용자의 리스트
#94. Mac OS X 시스템에 사용자 추가
#95. 이메일 alias 추가
#96. 동적인 터미널의 타이틀 세팅
#97. iTunes 라이브러리의 요약 목록 생성
#98. open 명령어의 간편한 사용

12장. 셸 스크립트 게임
#99 암호 해독: 단어 게임
#100 제한된 시간 내에 단어 추측하기 :행맨 게임(Hangman)
#101 미국의 각 주의 수도(Capital) 맞추기 게임