유닉스 파워 툴 - 셸리 파워즈 지음, 서환수 옮김/한빛미디어 |
평소 리눅스/유닉스를 주로 사용하다보니 명령어를 좀더 활용하기 위해 구매를 해서 읽어보았다.
일단 기초사용자에게 친절하게 알려주는 형식은 아니다.
처음 공부하는 거라면 차라리 다른 입문서를 보는게 나을 것 같다.
find, grep, diff, vi 와 같이 일반적인 명령어는 어느정도 사용할 줄 아는 상태라고 가정을 하고 봐야 볼만할듯 하다.
딱 메뉴얼을 보는듯한 느낌이랄까..
대부분 많이 사용하는 명령어들의 메뉴얼에 충실하며 시스템의 전반적인 설명에는 깊이 파고드는 부분도 있지만 좀더 알고싶지만 너무 간단히 끝낸 부분도 있어 조금은 아쉬운 감이 있긴 하다.
책 구매를 하기전에 꼭 목차를 읽어보고 구입에 대한 선택을 해야 하는 서적..
아래는 해당 서적을 보면서 응용을 한 부분도 있고 유용하다고 생각되는 명령어를 알게된 부분이다.
find 명령어 관련
링크: 많이 사용하지 않는 find 의 고급기능
sort, awk, uniq 명령어 관련
링크: WAS의 일일 페이지별 요청 카운트 집계하기 (통계)
파일 비교하는 방법: diff, sdiff 명령어
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 와 기본 명령어가 비슷하기 때문에 슬래시(/)를 이용하여 문자열 검색이 가능하며 치환도 가능하다.
출력불가 문자가 있을때에는 'cat -v' 명령어를 이용하자.
예전에 있었던 일인데 눈에 보이지 않는 글자 때문에 Tomcat 이 기동중에 "<xml~" 문자열로 시작하지 않는다고 했던적이 있었다. (아마 AIX 서버에서..)
UltraEdit 로 열어서 헥사모드로 보니 눈에 보이지 않는 이상한 문자가 들어있었다;;
일반적으로 출력불가 문자가 있는 경우에는 아래와 같이 파일을 확인해 보자.
터미널에 접속한 다른 사용자에게 메시지를 보내고 싶다면 write 명령을 이용하자.
분명히 who 명령어를 통해 확인해 보면 현재 접속하고 있는 사용자 인데 누가 접속했는지 모르는 상황이라면 꽤 도움이 될만한 명령어다.
Message 를 그만 보내고 싶다면 'Ctrl+C' 를 입력하면 된다.
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$
댓글
댓글 쓰기