Translate

2015년 3월 17일 화요일

[리뷰][서적] 유닉스 파워 툴(개정 3판)



유닉스 파워 툴 - 8점
셸리 파워즈 지음, 서환수 옮김/한빛미디어


평소 리눅스/유닉스를 주로 사용하다보니 명령어를 좀더 활용하기 위해 구매를 해서 읽어보았다.

일단 기초사용자에게 친절하게 알려주는 형식은 아니다.
처음 공부하는 거라면 차라리 다른 입문서를 보는게 나을 것 같다.

find, grep, diff, vi 와 같이 일반적인 명령어는 어느정도 사용할 줄 아는 상태라고 가정을 하고 봐야 볼만할듯 하다.

딱 메뉴얼을 보는듯한 느낌이랄까..
대부분 많이 사용하는 명령어들의 메뉴얼에 충실하며 시스템의 전반적인 설명에는 깊이 파고드는 부분도 있지만 좀더 알고싶지만 너무 간단히 끝낸 부분도 있어 조금은 아쉬운 감이 있긴 하다.

책 구매를 하기전에 꼭 목차를 읽어보고 구입에 대한 선택을 해야 하는 서적..





아래는 해당 서적을 보면서 응용을 한 부분도 있고 유용하다고 생각되는 명령어를 알게된 부분이다.



find 명령어 관련
링크: 많이 사용하지 않는 find 의 고급기능




sort, awk, uniq 명령어 관련
링크: WAS의 일일 페이지별 요청 카운트 집계하기 (통계)




파일 비교하는 방법: diff, sdiff 명령어


1004lucifer@1004lucifer:~/test/unix$ cat test1
1
2
3
5
6
7
8
10
11
12
15
1004lucifer@1004lucifer:~/test/unix$ 
1004lucifer@1004lucifer:~/test/unix$ cat test2
1
3
4
5
6
8
9
10
12
15
1004lucifer@1004lucifer:~/test/unix$ 
1004lucifer@1004lucifer:~/test/unix$ diff -c test1 test2
*** test1 2015-03-16 23:02:42.462257100 +0900
--- test2 2015-03-16 23:02:57.022329304 +0900
***************
*** 1,11 ****
  1
- 2
  3
  5
  6
- 7
  8
  10
- 11
  12
  15
--- 1,10 ----
  1
  3
+ 4
  5
  6
  8
+ 9
  10
  12
  15
1004lucifer@1004lucifer:~/test/unix$ 
1004lucifer@1004lucifer:~/test/unix$ sdiff test1 test2
1 1
2      <
3 3
     > 4
5 5
6 6
7      <
8 8
     > 9
10 10
11      <
12 12
15 15
1004lucifer@1004lucifer:~/test/unix$







큰 파일을 읽어들일때에는 vi가 아니라 less 명령어를 사용하자

vi 의 단점
1. 용량이 큰 파일을 열게된다면 시간이 오래걸리며 시스템 리소스가 너무많이 할당된다.
    (파일을 처음부터 끝까지 모두 읽은 후 파일을 열게되므로 2GB 의 파일을 열게된다면 실제 메모리의 2GB가 vi 프로그램에 할당이 된다.)

less의 장점
1. head 와 같이 일부분만 읽어오기 때문에 용량이 큰 파일을 불러들이더라도 금방 열 수 있다.
2. vi 와 기본 명령어가 비슷하기 때문에 슬래시(/)를 이용하여 문자열 검색이 가능하며 치환도 가능하다.


1004lucifer@1004lucifer:~/test/unix$ less test1








출력불가 문자가 있을때에는 'cat -v' 명령어를 이용하자.

예전에 있었던 일인데 눈에 보이지 않는 글자 때문에 Tomcat 이 기동중에 "<xml~" 문자열로 시작하지 않는다고 했던적이 있었다. (아마 AIX 서버에서..)
UltraEdit 로 열어서 헥사모드로 보니 눈에 보이지 않는 이상한 문자가 들어있었다;;

일반적으로 출력불가 문자가 있는 경우에는 아래와 같이 파일을 확인해 보자.


1004lucifer@1004lucifer:~/test/unix$ cat -v test.xml








터미널에 접속한 다른 사용자에게 메시지를 보내고 싶다면 write 명령을 이용하자.

분명히 who 명령어를 통해 확인해 보면 현재 접속하고 있는 사용자 인데 누가 접속했는지 모르는 상황이라면 꽤 도움이 될만한 명령어다.
Message 를 그만 보내고 싶다면 'Ctrl+C' 를 입력하면 된다.


1004lucifer@1004lucifer:~/test/unix$ who
1004lucifer  tty7         2015-03-16 22:51 (:0)
1004lucifer  pts/4        2015-03-17 00:23 (:0.0)
1004lucifer  pts/7        2015-03-17 00:23 (:0.0)
1004lucifer@1004lucifer:~/test/unix$ 
1004lucifer@1004lucifer:~/test/unix$ write
usage: write user [tty]
1004lucifer@1004lucifer:~/test/unix$ 
1004lucifer@1004lucifer:~/test/unix$ write 1004lucifer pts/4
who are you?
call me: 010-000-0000        
^C1004lucifer@1004lucifer:~/test/unix$

===========================================================


1004lucifer@1004lucifer:~/test/unix$ 
Message from 1004lucifer@1004lucifer on pts/7 at 00:33 ...
who are you?
call me: 010-000-0000
EOF

1004lucifer@1004lucifer:~/test/unix$ 
1004lucifer@1004lucifer:~/test/unix$ tty
/dev/pts/4
1004lucifer@1004lucifer:~/test/unix$




댓글 없음 :

댓글 쓰기