어떤 명령을 실행한 결과에서 일정패턴을 찾아 그 결과중 일정부분을 찾으려고 했을때
다음과 같이 입력하는 경험을 해본적이 있을 것이다.
물론 나도 그랬으니까...

$ command | grep PATTERN | awk '{ print $3 }'

위의 문장은 awk의 특성을 이용하여 다음과 같이 줄여 쓸 수 있다.

$ command | awk '/PATTERN/{ print $3 }'

-------------------------<원문>-------------------------
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                             UNIX GURU UNIVERSE
                                UNIX HOT TIP
                       Unix Tip 3171 - October 11, 2008
                   http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

REGEXP MATCHING IN AWK

If you ever find yourself typing "command | grep pattern | awk '{print $3}'
you can shorten this by using the regexp matching in awk, like this:

command | awk '/pattern/{print $3}'

신고
Posted by She쥐포s

※ lynx란?
요즘처럼 Graphical한 Browser가 나오기 전에 사용하던 Text Browser로 배치작업으로 웹페이지의
내용을 가져올때 사용하면 편리하다.

※ 원하는 작업
한 회사의 FTP 서버로 FTP 접속을 초당 수십회 정도 로그인 시도를 한다면 이는 분명 누군가가
해당 사이트에 대해 공격을 하는 것으로 볼 수 있으며, 해당 아이피가 어디에 속해 있는지 알고 싶다.

- FTP Log에서 Login 시도 IP를 걸러내는 작업은 각자에게 맡기고..

- IP가 포함된 파일이 hack.txt라면

################## 시작 ##################
for a in `cat hack.txt`
do
echo "IP Address : $a"
# 다음 두줄로 보이는 내용은 한줄에 입력해야 한다.
echo "whoistype=I&domain=$a&x=33&y=8" | lynx -post_data -source http://WHOIS서버주소/검색URL |
         egrep "(기관명|Org Name)"|grep ":"
# 위의 두줄로 보이는 내용은 한줄에 입력해야 한다.
echo "=="
sleep 10
done
################## 끝 ##################

한줄로 입력해야 한다는 줄의 "whoistype~y=8" 부분은 Proxy Tool을 이용하여 POST로 넘겨주는 데이터의
일반형을 구해야 한다.

※ 내용이 약간 설렁 설렁 한 것 같은데... 사용법을 잘 연구해 보시길...
※ 중요한 것은 echo "POST DATA" | lynx -post_data -source... 이 부분이다.

신고
Posted by She쥐포s

○ 아스키 파일 암호화 하기

아스키 파일은 쉽게 암호화및 복호화될 수 있다.

암호화하기 위해서는 간단히 파일의 표준출력을 파이프를 이용해 "crypt" 명령의 입력으로 넘겨주고
새 파일명으로 redirect 시키면 된다. "Enter key:" 라는 프롬프트가 나오면 패스워드를 입력한다.

$ cat foo | crypt > foo.e
Enter key:

복호화하기 위해서는 간단히 암호화된 파일의 표준출력을 파이프를 이용해 "crypt" 명령의 입력으로
넘겨주고 새 파일명으로 redirect 시키면 된다. "Enter key:"라는 프롬프트가 나오면 패스워드를 입력한다.

$ cat foo.e | crypt > foo.new
Enter key:

=========== 원문 ===========
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                             UNIX GURU UNIVERSE
                                UNIX HOT TIP

                       Unix Tip 3144 - September 14, 2008

                   http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

CRYPT AN ASCII FILE

An ascii file can be easily encrypted and
decrypted.

To encrypt simply pipe the STDOUT of
the file to "crypt" and redirect it to
a new file name. Enter a passowrd when
prompted with "Enter key".

$ cat foo | crypt > foo.e
Enter key:

To unencrypt simply pipe the STDOUT of
the encrypted file to "crpyt" and
redirect it to a new file name. Enter
a passowrd when prompted with
"Enter key".

$ cat foo.e | crypt > foo.new
Enter key:

신고
Posted by She쥐포s
o 단순히 빈라인(※ 스페이스나 탭을 사용하지 않은 순수한 빈라인)의 수를 알아내기 위해서는
   다음의 명령을 사용하면 된다.

cat FILENAME | awk '/^$/ { ++x } END { print "No. of Blank line = " x }'
신고
Posted by She쥐포s

vi로 파일 역순출력

Unix 2008.05.05 17:37

o 일반적인 Linux System 또는 tac가 깔려있는 경우라면 손쉽게 파일내용을 역순으로 출력할 수 있다.

그러나 tac가 없는 경우 vi를 이용하여 파일의 내용을 거꾸로 바꾸는 방법을 소개한다.

vi에서 다음을 입력한다.

:g/.*/m0


신고
Posted by She쥐포s
o vim을 hex editor로 사용하기

:%!xxd
신고
Posted by She쥐포s
TAG linux, UNIX, Vim,

cpio로 파일옮기기

Unix 2008.03.30 22:07

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                             UNIX GURU UNIVERSE
                                UNIX HOT TIP

                       Unix Tip 2965 - March 19, 2008

                   http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

cpio로 파일 옮기기

한 디렉토리 또는 파일시스템에서 다른 디렉토리 또는 파일시스템으로
옮겨야 할 대량의 파일이 있을 경우 다음의 명령을 이용하라.

# find /old_directory -depth | cpio -pdmv /new_directory

이 명령은 소유자와 권한, 디렉토리 구조를 유지하면서 지정한
old_directory 밑의 모든 파일을 new_directory로 옮길 것이다.

---------------------------------------------------------------------

MOVING FILES WITH CPIO

If you have a multitude of
files to move from one
directory or filesystem to
another, here's a one liner:

# find /old_directory -depth | cpio -pdmv /new_directory

This will move all of the
files under the specified
old_directory to the
new_directory, keeping the
same ownership, permissions,
and directory structure.

신고
Posted by She쥐포s

man 페이지 매핑

Unix 2008.03.30 19:58

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                             UNIX GURU UNIVERSE
                                UNIX HOT TIP

                       Unix Tip 2976 - March 30, 2008

                   http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

man 페이지 매핑

Solaris에서 man 페이지를 색인(index)하기 위해서는

1. 색인할 모든 man 페이지를 포함하는 MANPATH 변수를 설정한다.

   Eg.  #> MANPATH=/usr/man:/usr/dt/man:/opt/VRTSvxvm/man; export MANPATH

2. man 페이지를 색인하기 위해 catman 명령어를 사용한다.

   #> catman -w

이제 whatis 명령을 이용하여 명령어가 무엇을 하는지와 'man -k' 명령으로
man 페이지의 키워드를 검색할 수 있다.

------------------------------------------------------------------------

MAPPING MAN

In Solaris, indexing the man pages:

1. Set your MANPATH variable to include all your man pages to be indexed:

    Eg.  #> MANPATH=/usr/man:/usr/dt/man:/opt/VRTSvxvm/man; export MANPATH

2. Use catman command to index the man pages:

    #> catman -w

Now you can use 'whatis' command to know what a command does and
'man -k' commands to search for a keyword in man pages.

신고
Posted by She쥐포s
TAG Solaris, UNIX,
어디선가 알게 된 기능인데 나름 정리를 해본다.
gvim을 이용해 여러 파일을 편집하다보면 화면을 나누어 편집하는 방법도 있지만
탭을 이용해 편집을 하는 것이 더 깔끔하다는 생각이 든다.
 
명령어 모드에서 tabnew를 입력하면 아래 그림과 같이 탭이 열리게 된다.
다음 탭(오른쪽)으로 가려면 tabn, 이전 탭(왼쪽)으로 가려면 tabp를 입력하면 된다.
사용자 삽입 이미지
신고
Posted by She쥐포s

윈도우에서 gvim을 사용하기 위해 다운로드 후 설치를 하면
기본 바탕색이 흰색이어서 여간 눈이 아픈게 아니다.
이럴 때 설정을 추가 함으로써 간단히 이 문제를 해결할 수 있다.

일반적으로 설정파일은 다음의 위치에 있다.
C:\Program Files\Vim\Vim70\vimrc_example.vim

이 파일에

let colors_name = "torte"

를 추가해주고 "torte" 부분에 원하는 바탕에 대한 지시어를 넣어주면
원하는 바탕으로 지정할 수 있다.

신고
Posted by She쥐포s


티스토리 툴바