'command'에 해당되는 글 6건
- 2008/09/08 Ping을 이용한 서버의 운영체제 알아내기
- 2008/09/08 DNS의 변경된 정보가 적용이 안될때
- 2008/09/08 특정 경로 이하의 모든 파일의 문자열을 원하는 문자열로 변경하는 펄 스크립트
- 2008/09/08 파일은 빼고 나머지만 tar로 묶기
- 2008/09/08 큰 용량 찾기 + 특정단어 한번에 변경
- 2008/09/08 find 명령어를 배워봅시다
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인것 으로 보아 유닉스 계열 이겠지요!
아마 프리비나 리눅스를 쓰는 것 같군요!
Posted on 2008/09/08 13:04
Filed Under [1] IT 관련/3. Windows
변경된 정보로 나오지 않을때 아래의 방법으로
간단히 DNS cache를 삭제하여 새로운 정보를
얻을 수 있다.
C:\>ipconfig /flushdns
위의 방법으로 기존에 클라이언트pc에서 담고있었던
DNS정보를 삭제하고 새로운 정보를 받아들이게 된다
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;
}
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 >------------------------------
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로 변경하라는 뜻
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디렉토리를 찾는다
