## REDIRECTION ##

1.표준출력 저장
 - ps > psout.txt
2.표준에러출력
 - cc -c src1.c 2> err.txt
3.표준출력과 표준에러의 저장
 -kill -1 1234 > killout.txt 2> killerr.txt
 -kill -1 1234 > killouterr.txt 2>&1

4.재지향 입력
 more < killout.txt

5.예제
 - ps -a | sort | uniq | grep -v sh | more

=> ps 명령의 결과를 sorting 하고서(sort) 중복 자료를 제거한후(uniq) 'sh'가 들어간 문자를 제외하고서(grep -v )  페이지단위로 봄(more)


재지향 2
cat > t.txt << AA

t.txt파일을 만들면서 AA 가 들어올때가지 stdin으로  입력받는다.
즉 입력으로 AA가 입력되면 t.txt 생성되는것이다.

-----------------------------------------------
현재 진행중인 프로세스의 pid 만 찾기
-----------------------------------------------
ps -ef | grep process | grep -v grep | awk '{print $2}' ( 2번째 컬럼만 취한다)
s -ef | grep susm022 | grep -v grep | awk '{print $2}'
-----------------------------------------------
현재 진행중인 프로세스의 pid 만 찾아 kill 하기
-----------------------------------------------
ls -ltr inar2*.pc | awk '{print $9}' | sort -k 1 xargs | so

------------------------------------------------------
파일 찾아서 문자열 찾기
find  ./ -name "inar*.pc" -print | xargs grep "aaaa" # 속도 훨씬 빠름,파일이름도 나옴

find . -name "파일명" | awk '{print $1}'

find / -name '*.*' -exec grep  'EXEC' {} \;  #속도 느림

find / -name '*.pc' -exec grep  'EXEC' {} \;  #처리할 범위(확장자등을 주면)속도 빠름

---------------------------------------------------
찾은 파일에서 문자열 찾기
find ./ -name "*.pc" | grep  "aaa"

---------------------------------------------------
*.eml  라는 파일을 다 지우고 싶을때.
rm -rf `find . -name "*.eml" `

find / -name "*.eml" -exec rm -f {} \;

---------------------------------------------------
디렉토리 크기 보기

du  #disk used

du -k #kilobyte단위로 보기

du -k | sort -n # 디렉토리크기를 정렬해서 보기

du -k | sort -rn #크키를 반대로 정렬해서 보기

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

가장큰파일찾기

ls -lR | sort +4n  # 파일록록 결과중 4포지션 뒤부터 정렬

ls -lR | sort -k 5 # 파일록록 결과중 5를 키로 해서 정렬

ls -al | grep "^d"  #디렉토리만 빠르게 검색(정규식을 이용한거임)
---------------------------------------------------

실행할 binary가 있는지 찾기

[prompt] whereis  bin_name  # bin_name 이 있으면 이름만 보여줌

[prompt] which  bin_name  # bin_name 이 있으면  경로도 보여줌

[prompt] whereis  bin_name  # bin_name 이 있으면 이름만 보여줌

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

무지큰 로그보기

vi 로그파일명.  실행시 로그파일이 수백메가씩이라면 무지느림 그럴땐 less를 사요

[prompt] less to_day001.log 

그상태에서 vi 쓰듯이 문자열 검색하면 됨

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

system 상태관련

[promt] uname -a   #유닉스의 현재 버젼과 종류 그리고 라이센스등을 알려주는 명령어

[prompt] netstat -an | grep LISTEN   #열려있는 포트 알아내기

[prompt] netstat -rn   # 라우팅설정된 상태확인

[prompt] netstat -rn  | grep 210.11.12.13(포트번호 9000)  #210.11.12.13  ip(포트9000)가 사용되는지 확인

 

[promt] w  #사용자가 어디에서 무엇을 하는지 알아내기

[promt] finger  #사용자와 사용자 ip 보기,보안땜에 보통 막아놈

[prompt]who   #현재 시스템에 접속한 사용자 계정과 tty 번호 로긴시간 ,ip정보

[prompt] who am i # 자신계정에 대한 정보를 보여줌,

[prompt] whoami   #자신의 계정만 보여줌

 

 

#############################################
▣내가 돌린 백그라운드 프로세스 죽이기

a.백그라운드로 작업돌리기

[mktmst1@mss1:/data4/mktmst/bin] tail.sh &
b. jobs 명령어로 확인
[mktmst1@mss1:/data4/mktmst/bin]jobs
[2] +  Running                 tail.sh > t &
[1] -  Running                 tail.sh > t &

c.죽이기( kill)
[mktmst1@mss1:/data4/mktmst/bin]kill %1
[mktmst1@mss1:/data4/mktmst/bin]kill %2

d. 확인
[mktmst1@mss1:/data4/mktmst/bin]jobs
[2] + Terminated               tail.sh > t &

e. 포 그라운드로 전환하기

[mktmst1@mss1:/data4/mktmst/bin]fg  %1  -> 1번 작업을 포그라운드로 전환한다.

f.nohup으로 작업돌리기

-일반적으로 터미널 화면을 종료하면 그 수행하던 작업은 종료된다.특정시간이나 긴 작업처리시 터미널이 종료되도 작업을 진행시킬 수 있다

[prompt:] nohup  tail.sh &  #  nohup 명령으로 tail.sh 작업을 백그라운드로 실행한다.
* 자세한 명령어는 유닉스 책 참고 하세요 *

▣  오라클 sql 실행하기.
#ptcn
. /mslb/mktdev2/.profile >/dev/null;    #null 파일로 출력을 보낸다.즉 아무것도 출력안한다는 뜻
sqlplus ptcn/ptcn @/mslb/rscy.sql `date +%y%m` # oracle sqlplus로 로긴해서  rscy.sql 를  당일 시스템날짜를 입력받아 실행시킨다.


츨처 : http://blog.daum.net/_blog/BlogTypeView.do?blogid=0JlXK&articleno=2804974&categoryId=331090&regdt=20080314135346#ajax_history_home

+ Recent posts