출처 : http://blog.naver.com/fineformula/60179909237
1. find
파일 또는 디렉토리 검색
예) 현재경로에서 httpd.conf 파일 찾기, 하위경로 포함
# find ./ -name httpd.conf
|
예) 최근수정일 15일이 지나고 /home/backup 바로 아래있는 디렉토리 삭제하는 명령
# find /home/backup/ -maxdepth 1 -type d -mtime +15 -exec /bin/rm -rf {} \;
|
2. grep
원하는 패턴과 일치하는 줄 출력
예) 80번 포트가 물려 있는 세션 모두 출력
# netstat -ant | grep :80
|
grep 옵션 중 자주 쓰는 옵션
v : 패턴 제외한 부분을 출력 (역으로 출력)
i : 대소문자 무시
r : 하위디렉토리 포함
3. egrep
grep 과 같은 역할, 원하는 패턴이 두개 이상일 때 사용
예) 80번 포트가 물려 있는 세션 중 LISTEN 과 TIME_WAIT 가 있는 줄은 제외하고 출력
# netstat -ant | grep :80 | egrep -v "LISTEN|TIME_WAIT"
|
4. awk
특정 패턴 기준 n 번째 내용 출력, 옵션 안쓰면 공백을 경계로 사용
예) 위의 결과에서 왼쪽에서 5번째 내용만 출력, 빈칸을 경계로..
# netstat -ant | grep :80 | egrep -v "LISTEN|TIME_WAIT" | awk '{print $5}'
|
5. cut
awk 와 유사한 역할, 경계의 기준 문자를 설정하고 n 번째 내용 출력
예) 위의 결과에서 : 문자를 경계로 첫번째 내용 출력
# netstat -ant | grep :80 | egrep -v "LISTEN|TIME_WAIT" | awk '{print $5}' | cut -d : -f 1
|
6. sed
특정 패턴을 바꾸거나, 맨 앞이나 맨 뒤에 원하는 패턴 추가, ^ 은 맨 앞을 뜻하고 $ 는 맨 뒤를 뜻한다.
예) 위의 결과물에서 맨 앞에 IP : 패턴을 추가
# netstat -ant | grep :80 | egrep -v "LISTEN|TIME_WAIT" | awk '{print $5}' | cut -d : -f 1 | sed 's/^/IP : /g'
|
7. sort, uniq
정렬과 중복 제거, 패턴 검색과 같이 쓰면 효과적
예) 위의 결과물에서 순서대로 정렬하고 중복되면 제거
# netstat -ant | grep :80 | egrep -v "LISTEN|TIME_WAIT" | awk '{print $5}' | cut -d : -f 1 | sed 's/^/IP : /g' | sort | uniq
|
8. wc -l
출력된 내용의 라인 수를 출력
예) 위 결과물의 라인 수 구하기
# netstat -ant | grep :80 | egrep -v "LISTEN|TIME_WAIT" | awk '{print $5}' | cut -d : -f 1 | sed 's/^/IP : /g' | sort | uniq | wc -l
|
위에서 산출한 결과물은 현재 웹서버에 접속한 클라이언트 IP 수치다.
TIME_WAIT 세션까지 접속자에 포함 시키고 싶다면 해당 부분을 수정해주면 된다.
이처럼 패턴 검색 명령들을 잘 활용하면 다양한 결과들을 산출 할 수 있다.
합계 구하기
[oracle@mlcp02 tmp]$ ls -al 0805*
-rw-r--r-- 1 oracle oracle 1708 2015-08-05 12:07 0805_01
-rw-r--r-- 1 oracle oracle 5907 2015-08-05 15:53 0805_02
-rw-r--r-- 1 oracle oracle 5523 2015-08-05 16:09 0805_03
-rw-r--r-- 1 oracle oracle 238 2015-08-05 15:48 0805_04
[oracle@mlcp02 tmp]$ ls -al 0805* | awk '{sum += $5} END {print sum}'
13376
'LinuX' 카테고리의 다른 글
linux 프로세스 별 cpu 사용률 (0) | 2016.05.10 |
---|---|
sed 사용법 (0) | 2015.08.24 |
[Linux] sar 명령어를 통한 시스템 모니터링 (0) | 2015.02.12 |
split 명령어 (0) | 2014.10.13 |
고급 Linux 커맨드 마스터 가이드, 제 2 부 (0) | 2009.06.23 |