Posted on 2008/09/08 13:04
Filed Under [1] IT 관련/6. ETC

핑을 써보면 핑을 쏜 서버의 운영체제를 알수 있습니다.

윈도우 계열
# ping 192.168.1.34
PING 192.168.1.34 (192.168.1.34): 56 data bytes
64 bytes from 192.168.1.34: icmp_seq=0 ttl=128 time=1.418 ms
64 bytes from 192.168.1.34: icmp_seq=1 ttl=128 time=0.814 ms
64 bytes from 192.168.1.34: icmp_seq=2 ttl=128 time=0.802 ms
64 bytes from 192.168.1.34: icmp_seq=3 ttl=128 time=0.810 ms
64 bytes from 192.168.1.34: icmp_seq=4 ttl=128 time=0.809 ms
64 bytes from 192.168.1.34: icmp_seq=5 ttl=128 time=0.807 ms
--- 192.168.1.34 ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max/std-dev = 0.802/0.910/1.418/0.227 ms

유닉스 계열
# ping 192.168.1.32
PING 192.168.1.32 (192.168.1.32): 56 data bytes
64 bytes from 192.168.1.32: icmp_seq=0 ttl=255 time=1.649 ms
64 bytes from 192.168.1.32: icmp_seq=1 ttl=255 time=0.657 ms
64 bytes from 192.168.1.32: icmp_seq=2 ttl=255 time=0.632 ms
64 bytes from 192.168.1.32: icmp_seq=3 ttl=255 time=0.635 ms
64 bytes from 192.168.1.32: icmp_seq=4 ttl=255 time=0.627 ms
64 bytes from 192.168.1.32: icmp_seq=5 ttl=255 time=0.634 ms
--- 192.168.1.32 ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max/std-dev = 0.627/0.805/1.649/0.378 ms
#

제가 핑을 쏘아 봤습니다.
34번의 경우는 윈도우 계열의 서버
32번은 리눅스 서버입니다.

어떻게 구별 할 수 있냐하면 ... 바로 TTL (Time To Live)

ttl 값이 255 는 유닉스 계열
ttl 값이 128 은 윈도우 계열입니다.
ttl값은 라우터를 하나 지날때 마다 1씩 감소 합니다.
그러므로 ttl값이 100번때이면 윈도우 계열
ttl값이 200번때면 유닉스 계열 이겠지요!
그럼 다음 서버에 한번 핑을 쏘야 봅시다.

다음
# ping www.daum.net
PING www.daum.net (211.233.28.115): 56 data bytes
64 bytes from 211.233.28.115: icmp_seq=0 ttl=247 time=24.399 ms
64 bytes from 211.233.28.115: icmp_seq=1 ttl=247 time=24.827 ms
64 bytes from 211.233.28.115: icmp_seq=2 ttl=247 time=28.171 ms
64 bytes from 211.233.28.115: icmp_seq=3 ttl=247 time=14.305 ms
--- www.daum.net ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/std-dev = 14.305/22.925/28.171/5.189 ms

ttl값이 247인것 으로 보아 유닉스 계열 이겠지요!
아마 프리비나 리눅스를 쓰는 것 같군요!
2008/09/08 13:04 2008/09/08 13:04
TAG : , ,

Posted on 2008/09/08 13:04
Filed Under [1] IT 관련/3. Windows

DNS의 정보가 변경이 되었는데 클라이언트PC에서

변경된 정보로 나오지 않을때 아래의 방법으로

간단히 DNS cache를 삭제하여 새로운 정보를

얻을 수 있다.


C:\>ipconfig /flushdns

위의 방법으로 기존에 클라이언트pc에서 담고있었던

DNS정보를 삭제하고 새로운 정보를 받아들이게 된다
2008/09/08 13:04 2008/09/08 13:04

Posted on 2008/09/08 13:03
Filed Under [1] IT 관련/2. Linux

출처는 channel.net의 산이형 홈페이지에서 퍼왔습니다.

#! /usr/bin/perl -w
# PERL Scripted by bando
# DATE : 20040805
# Mail : bando(0x40)bando.org
# MSN : bando(0x40)bando.org
# 특정 경로이하 또는 파일에서 특정 문자열을 원하는 문자열로 변경하는 펄 스크립트

if ( $#ARGV != 2 ) {
  &Usage();
}

$Chan_path = $ARGV[0];
$Chan_ch = $ARGV[1];
$Chand_ch = $ARGV[2];
$total = 0;

if ( ! -e $Chan_path) {
  print "$Chan_path 와 같은 파일이나 디렉토리는 없습니다!\n";
  exit 1;
}

@arry = `grep "$Chan_ch" -l -r $Chan_path`;
foreach(0..$#arry) {
  $arry[$_] =~ s/\&/\\&/g;
  $arry[$_] =~ s/\(/\\(/g;
  $arry[$_] =~ s/\)/\\)/g;
  chomp($arry[$_]);
  `perl -p -i -e 's/$Chan_ch/$Chand_ch/g' $arry[$_]`;
  print "$arry[$_] : $Chan_ch => $Chand_ch [OK]\n";
  $total++;
}

print "\nTOTAL : $total 개 변경됨!\n\n";
sub Usage {
print   "\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n";
print "사용법 : $0 [이 경로이하 또는 파일에서] [이 문자열을] [이 문자열로 변경]\n\n";
print "설명 : 일치하는 문자열을 특정 문자열로 변경한다.\n";
print "예제 : $0 /home localhost 127.0.0.1\n";
print "결과 : /home 디렉토리 이하의 모든 파일에서 localhost문자열을 127.0.0.1문자열로 변경한다.\n";
print "\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n";
exit;
}

2008/09/08 13:03 2008/09/08 13:03

Posted on 2008/09/08 13:02
Filed Under [1] IT 관련/2. Linux

* 시나리오
- 웹호스팅을 이용하고 있습니다 (홈 디렉토리만 이용 가능한 조건이죠)
- 매일 홈디렉토리를 백업하고 싶습니다.
- 매일 tar로 백업하다보니 tar가 중복 백업됩니다.
- 그래서 이미 백업된 tar 파일은 빼고 나머지 순수한 홈페이지 파일들만 백업하고 싶을 때
  사용하면 좋습니다.
- 20050214와 같은 포맷을 얻기 위한 date 명령은 Shell 마다 조금씩 다릅니다.

---------------------------------< cut here >-----------------------------
#!/bin/sh
today=`date +%F` # BASH(Linux)
# today=`date +20"%y%m%d"` # C-Shell(AIX외)
find . -type f ! -name "*.tar" -print > ./flist
tar -cvpf $today-homepage.tar -L ./flist
---------------------------------< cut here >------------------------------

2008/09/08 13:02 2008/09/08 13:02

Posted on 2008/09/08 13:01
Filed Under [1] IT 관련/2. Linux

리눅스를 사용하다보면 가장 큰 용량을 찾아서 정리해야 할 경우 아래와 같이 하면
쉽게 구별해 낼 수 있습니다.

* 디렉토리에서 가장 큰 용량 찾기
du -x --exclude=/home | sort -g | tail -n 5

* 파일내에 특정단어 한번에 변경하기
perl -pi -e 's/home/home2/g' *
해설 : home이라는 단어가 있으면 home2로 변경하라는 뜻
2008/09/08 13:01 2008/09/08 13:01

Posted on 2008/09/08 12:57
Filed Under [1] IT 관련/2. Linux

리눅스 쉘상에서 특정파일이나 디렉토리를 찾는것을 알아보자!
의외로 간단하다.

공통된 문법(?)의 시작은
---------------------------------------
find [경로] -name [파일] -print
---------------------------------------

-----------------------------------------------------------------
옵션 기능
-----------------------------------------------------------------
- atime N n일 전에 액세스(access)된 파일을 찾습니다.
- mtime N n일 전에 수정(modify)된 파일을 찾습니다.
- newer USR file보다 늦게 수정된 파일을 찾습니다.
- size n n*512 바이트 길이를 가지는 파일을 찾습니다.
- name WORD 파일 이름으로 검색합니다. 이름에는 메타 문자(*, ?, [])를
  사용할 수 있습니다.
- perm MODE 퍼미션으로 검색합니다. (-perm +2000)
- type LETTER 파일형식으로 검색합니다. f는 보통 파일, d는 디렉토리
  파일을 의미합니다.
- user USR 사용자 이름이 usr인 파일을 찾습니다.
- nouser 파일 소유자 이름이 등록되어 있지 않은 파일을 찾습니다.
- nogrp 파일 소유 그룹 이름이 등록되어 있지 않은 파일을 찾습니다.
- exec CMD 명령(CMD)을 실행합니다. 명령행의 끝은 반드시 \; 로
  닫아 주어야 합니다. 현재 찾은 파일이름의 배열을 {}로 입력으로 사용할 수 있습니다.
  아래 명령은 확장자가 bak인 모든 파일을 찾아 삭제합니다.
   find ./ -name '*.bak' -exec rm -f {} \;
- ok CMD 명령을 실행하기 전에 사용자 입력을 기다립니다.
- print 표준출력(stdout)으로 출력합니다. 기본설정입니다.
- ptint0 -print와 같이 동작하지만 출력의 끝에 개행문자를 붙이지 않습니다.
- fprint FILE -print와 같이 동작하면서 출력을 지정한 파일로 보냅니다.
- printf FORM c 스타일의 포맷을 사용하여 출력합니다.
   man 3 printf
- ls ls -dils 형식으로 파일 정보를 자세히 출력합니다.
- fls -ls 와 같이 동작하면서 출력을 지정한 파일로 보냅니다.

-----------------------------------------------------------------
약간의 설명을 붙이자면 경로는 절대경로와 상대경로모두 사용할 수 있다.
그럼 아래 설명을 보자

* 현재 디렉토리에서 특정파일찾기
find . -name rsync -print
현재 디렉토리에서 rsync파일이름을 출력하라!.만약 없다면 아무것도 출력하지 않는다.
위에서 "."이 부분을 잘보자

* 홈 디렉토리 안에있는 파일찾기
find ~/ -name README -print
현재 자신의 홈 디렉토리와 그 하위모든디렉토리를 대상으로 README파일을 찾아서
그 결과를 보여준다.

* 현재 디렉토리에서 여러파일 찾기
find . -name '*.conf' -print
현재 디렉토리에서 .conf로 끝나는 파일을 파일을 찾아준다.

* 디렉토리 찾기
find /usr/local -name gnu -type d -print
/usr/local 디렉토리를 기준으로 그 하위 디렉토리인 gnu디렉토리를 찾는다
2008/09/08 12:57 2008/09/08 12:57

About

by Jaehun

Counter

· Total
: 51563
· Today
: 85
· Yesterday
: 106