Search Results for '전체 분류'


2064 posts related to '전체 분류'

  1. 2009/05/05 CMD 에서 GREP 명령어 사용하는 방법은? 도스창 정규식 문자열 찾기
  2. 2009/05/05 Vim VI 블럭 복사 핫키, 칼럼 카피하는 방법; Copy Block
  3. 2009/05/05 리눅스 메세지 정지 방법; 화면 출력 한페이지씩 멈추기; Linux pause
  4. 2009/05/05 VI 다른 이름으로 저장, 새이름으로 저장 명령어; Vim Vi Save As Command
  5. 2009/05/05 Unix echo 작은따옴표,특수문자 출력하기, 유닉스 Linux 리눅스 프롬프트에서
  6. 2009/05/05 시그윈 종료 명령어, Cygwin 끝내기 빠져나오기 halt 명령
  7. 2009/05/05 grep에서 별표 검색 방법, 그렙 애스터리스크 백설표 문자 찾기 Find Asterisk Char
  8. 2009/05/05 유닉스에서 텍스트파일 만드는 방법, 0바이트 빈 파일 생성 팁; Unix Linux Make Text Txt File
  9. 2009/05/05 tar.bz2 푸는법, tar사용법, 윈도우XP에서 1
  10. 2009/05/05 Vim 창크기 조절 방법, 핫키; Vi에서 창사이즈 Window Size Hotkey
  11. 2009/05/05 유닉스 명령어, 파일지우기 명령, 파일삭제; Unix File Delete Command
  12. 2009/05/05 [QnA] Cygwin(시그윈) 매뉴얼 있는 곳은?
  13. 2009/05/05 Cygwin 명령어 목록, 시그윈에서 사용 가능한 기본 명령 리스트 1
  14. 2009/05/04 [스크립트] 마우스 오른쪽클릭방지 해제 스크립트
  15. 2009/04/30 리눅스 간단 명령어 정리 모음
  16. 2009/04/30 GUI 저리가라!! 강력한커맨드 FTP - NCFTP !!
  17. 2009/04/30 find 명령어와 펄스크립트를 사용할 때 ' (홑따옴표) 의 처리.
  18. 2009/04/30 파일 내용 일괄 변경 및 파일 일괄 관리
  19. 2009/04/30 wget 활용 - 헤더정보 보기, 파일을 다운로드 하여 특정이름으로 저장
  20. 2009/04/29 Cygwin (시그윈) 다운로드/설치법 [윈도우에 리눅스/유닉스 환경 만들기]
  21. 2009/04/29 VanDyke SecureCRT / CRT/ AbsoluteFTP / FX 시리즈 모음집
  22. 2009/04/27 textarea 에 asp 코딩 편하게~ 1
  23. 2009/04/27 MSTSC (웹 터미널클라이언트)
  24. 2009/04/27 ASP로 테스트 해본 RSS Reader
  25. 2009/04/27 ASP용 로그 기록 클래스
  26. 2009/04/27 사진 업로드시 워터 마크 자동 입력 프로그램입니다.
  27. 2009/04/27 WireFrame.ASP 소개
  28. 2009/04/27 윈도우서버용 무료메일서버 hMail Server를 소개합니다.
  29. 2009/04/27 GeoIP 국가별 IP체크
  30. 2009/04/27 페이지 수행시간 체크 심플컴퍼넌트(백만분의1초 정확성)
유닉스, 리눅스 운영체제의 문자열 찾기 명령어인 grep 을 윈도우2000이나 윈도우XP 이상에서도 사용할 수 있습니다. 중요하고 유용한 명령어이기 때문입니다.

윈도우의 도스창 즉 CMD에서 FINDSTR 이라는 명령을 사용하면, 사실상의 grep을 사용할 수 있습니다.

findstr /?

이렇게 하면 도움말이 나옵니다.

그렇지만 윈도우의 findstr 은 grep 과 완전히 같지는 않고 엉성하게 만들어진 것입니다. 짝퉁이라고 보아도 좋을 것입니다.

윈도우에서 진짜 grep 을 사용하는 방법이 있습니다. 윈도우에 Cygwin(시그윈)을 설치하는 것입니다. 시그윈은 무료이고 리눅스와 같은 오픈소스이기에 부담없이 사용할 수 있습니다. grep.exe 가 시그윈 안에 들어 있습니다.

시그윈을 윈도우에 설치하고 CMD 도스창에서 grep 이라고 치면 진짜 오리지날 grep 을 윈도우에서도 사용할 수 있습니다.
2009/05/05 05:22 2009/05/05 05:22
Vim, Vi 에디터에서 텍스트 특정 구역을 블럭으로 잡아서 복사한 후, 다른 곳에 붙여 넣는 방법입니다. 현재, 문서를 편집 중이라면 Esc키를 한번 누릅니다.

* 소문자 v (브이) 키를 누릅니다.

* 상하좌우 화살표키를 눌러, 선택영역 블럭 즉 셀렉션을 잡아줍니다.

* 소문자 y (와이) 키를 누릅니다. 이것이 텍스트 복사 핫키입니다.

* 이제 Vim 에디터 화면을 스크롤하여, 방금 복사한 텍스트를 붙여 넣을 장소로 이동합니다.

* 소문자 p (피) 키를 눌러 붙여 넣습니다.


위의 경우는 행을 기준으로 복사하고 붙여넣기 방법입니다.

사각형 박스 모양으로 칼럼 블록을 잡거나 하는 방법은 다음 페이지에 있습니다:
2009/05/05 05:21 2009/05/05 05:21
리눅스나 유닉스에서 메시지 출력을 일시 중지시키려면 키보드의 Scroll Lock키를 누르면 됩니다. 한번 더 누르면 출력이 계속됩니다. 그런데 배포판에 따라서 다를 수도 있습니다. 우분투 리눅스에서는 확실히 됩니다. (MS-DOS에서는 "Pause Break" 키를 누르면 일시 중지되었습니다.)

메세지 출력을 완전히 중단시키려면 Ctrl+C키를 누르면 됩니다. Ctrl키를 누르면서 C키를 누르는 것입니다.


한편, 화면 출력을 한 페이지씩 나누어 출력하는 방법은 아래와 같습니다. 이 방법을 쓰는 것이 가장 좋습니다.

* 어떤 명령어 뒤에, 파이프 기호인 "|"를 찍습니다. 수직선 기호입니다. 키보드의 백슬래시 기호(한글 키보드에서는 원화 기호)인 "\" 이것을 Shift키와 함께 누르면 파이프 기호가 찍힙니다.

* 그런 후, 그 뒤에 소문자로 less 라는 명령어를 덧붙이면 됩니다.

* 예를 들어 ls 명령어의 도움말을 보기 위해 ls --help 이런 명령을 주면 메세지가 한꺼번에 출력되어 잘 읽을 수 없습니다. 이럴 때는 아래 빨간 부분인 | less 를 끝에 붙여 주면 "한 페이지씩" 나누어서 출력됩니다.

ls --help | less


* 엔터 키를 누르면 한 줄씩 스크롤되고, q (큐) 키를 누르면 즉시 프롬프트로 빠져 나갑니다.

* 오래된 유닉스에는 less 명령이 없을 것입니다. 이때는 more 명령을 대신 사용하면 됩니다.
2009/05/05 05:21 2009/05/05 05:21
VI 또는 Vim 에디터에서, 현재 문서를 "다른 이름으로 저장" 즉 "새 이름으로 저장"하는 명령어는 :w <파일명> 입니다.

* 문서를 현재 입력중이라면, 키보드의 Esc키를 누릅니다.

* 예를 들어 원본 파일명이 test.txt 일 때,

:w test2.txt

이런 명령을 사용하면, 현재 문서가 test2.txt 라는 새 이름으로 저장됩니다.


주의 사항:
위의 경우 test2.txt 라는 파일이, 원본 파일인 test.txt 가 있는 디렉토리와 다른 디렉토리에 저장될 수도 있습니다.

:pwd
라는 명령을 사용하면 Vim, Vi 내부의 현재 디렉토리명을 볼 수 있습니다. 그 디렉토리에 저장되어 있을 것입니다.


그리고 이미 test2.txt 라는 파일이 하드에 존재한다면 다른 이름으로 저장이 되지 않고 E13: File exists (add ! to override) 라는 에러가 납니다. 파일이 이미 존재합니다. 덮어쓰려면 ! 느낌표를 붙이세요 라는 뜻입니다.

이때는
:w! test2.txt
w 뒤에 !(느낌표)를 붙이면 강제로, 새 이름으로 저장됩니다.
2009/05/05 05:21 2009/05/05 05:21
Unix나 리눅스에서 echo 명령으로 특수문자를 출력할 때에는, 반드시 그 출력하려는 문자열 전체를 작은따옴표(') 즉 홑따옴표로 둘러싸 주어야 합니다. 예를 들어 샤프 기호(#; 우물 정자)를 출력하려면

echo '#'

이렇게 하면 됩니다.

그런데 작은따옴표 자체를 출력하기 위해서는, 그 작은따옴표를

\047

이라는 코드로 바꾸어서 입력해야 합니다. 또한 echo 명령에 -e 라는 옵션도 붙여 주어야 합니다. 예를 들어, "늦어서 미안해요"라는 영문장을

I'm sorry. I'm late.

이렇게 작은따옴표(여기서는 아포스트로피 apostrophe 로 사용되었음)를 넣어서 출력하려면

echo -e 'I\047m sorry. I\047m late.'

이렇게 입력하면 제대로 출력됩니다.
2009/05/05 05:20 2009/05/05 05:20
리눅스에서는 halt 명령을 사용하면 시스템을 종료할 수 있습니다.

그런데 시그윈 Cygwin 은 진짜 리눅스가 아니고, 도스상에서 실행되는 가상 유닉스 시스템이기 때문에, halt 명령이 아닌 exit 명령을 사용해야만 종료가 됩니다. 또는 exit 대신에 logout 이라는 명령을 사용할 수도 있습니다.

또한 시그윈에서도 리눅스에서처럼 Ctrl+D키를 누르면 끝내기를 할 수 있습니다. 그러면 logout 이라는 문자열이 출력되면서 시그윈이 종료되고 도스 프롬프트로 빠져나올 것입니다.

업데이트:
소문자 q 도 되는군요.


한편 시그윈에는 리부팅하는 reboot 명령은 없습니다. 시그윈을 리부팅하려면 exit 명령으로 종료를 하고 나서, 시그윈을 다시 실행하면 됩니다.



시그윈을 언인스톨 즉 윈도우에서 완전히 제거하려면, 자동 언인스톨 기능이 없기 때문에 다음과 같이 수동으로 삭제해 주어야 합니다:
2009/05/05 05:20 2009/05/05 05:20
유닉스나 리눅스의 프롬프트에서, 별표(*; 백설표) 기호, 즉 애스터리스크(Asterisk) 문자 같은 특수문자를 찾으려면 그 문자를 작은따옴표('')로 둘러싼 후 검색을 하면 찾아집니다. 예를 들어

grep '*' *.txt

이렇게 하면, "모든 텍스트 확장자 파일"을 의미하는 *.txt 에서, grep이 별표가 들어 있는 파일 목록을 찾아줍니다.

grep '\*' *.txt

또는

grep \* *.txt

이렇게 백슬래시(\) 문자를 별표 앞에 붙여도 됩니다. 그렇지만 첫번째 방법이 가장 좋을 것입니다.


별표뿐만이 아니라, grep에서 파일 속의 문자열을 검색할 때는 그 문자열을 작은따옴표 즉 홑따옴표로 둘러싸 주어야 문제 없이 제대로 작동합니다.
2009/05/05 05:20 2009/05/05 05:20
유닉스나 리눅스의 프롬프트에서 텍스트 파일을 만드는 방법입니다. 우선, 0바이트짜리 파일 즉, 아무것도 들어 있지 않은 빈 파일을 간단한 방법으로 만들려면

>test.txt

이렇게 하면 "현재 디렉토리"에 test.txt 라는 파일명의 빈 파일이 생성됩니다. 새롭게 생성할 파일명 앞에 > 기호를 붙이는 것입니다.

다만, test.txt 라는 이름의 파일이 이미 "현재 디렉토리"에 있다면 그 파일의 내용이 날아가 버리기에 주의가 필요합니다. 즉 덮어쓰기가 됩니다.


그러나 vi 나 vim 에디터로 파일을 만드는 것이 가장 좋습니다. 자신의 시스템에 보면 vi 또는 vim 이라는 명령어가 있을 것입니다. 예를 들어

vi tt.txt

라는 명령을 실행하면, 현재디렉토리에 tt.txt 라는 파일이 없다면 새롭게 만들고, 있다면 tt.txt 라는 파일을 편집할 수 있습니다.

vi 에디터에서 소문자 아이(i) 키를 눌러 tt.txt 라는 파일에 글자를 적고, vi 에서 Esc키를 누른 후

:wq

라는 명령을 실행하면, tt.txt 파일의 내용이 하드에 저장되고, vi에서 빠져나와 다시 프롬프트로 돌아올 수 있습니다. 이런 식으로 텍스트 파일을 만들면 됩니다.
2009/05/05 05:19 2009/05/05 05:19

리눅스나 유닉스에서 tar.bz2 파일을 푸는 방법입니다. 그런데 윈도우에서는 tar 명령이 없기 때문에, WinRAR(윈라) 등의 프로그램을 설치하여 풀면 됩니다. 물론 Cygwin(시그윈)을 설치하면 윈도우의 도스창(CMD)에서도 tar 명령을 사용할 수 있습니다.

리눅스 프롬프트에서, tar.bz2 파일 압축 풀기는 다음과 같이 합니다.
tar -xvf <파일명>

예를 들어 test.tar.bz2 라는 파일을 풀려면 다음과 같이 합니다.
tar -xvf test.tar.bz2


tar.bz2 파일을 풀지 않고, 그 안에 무엇이 들어 있는지 목록만 보려면 다음과 같은 명령을 사용하면 됩니다.
tar -tvf <파일명>

예를 들어 test.tar.bz2 라는 파일 내용을 보려면 다음과 같이 합니다.
tar -tvf test.tar.bz2


그런데 tar 라는 명령은 사실은 파일을 압축하거나 푸는 명령이 아닙니다. 여러 개의 파일을 1개의 파일로 묶어주는 기능만 합니다. 실제 압축은 bzip2 라는 명령이 내부적으로 압축을 수행합니다.

2009/05/05 05:18 2009/05/05 05:18
Vim 이나 Vi에디터에서 여러 창을 열어서 동시에 편집할 때에, 각 창의 크기를 변경하려면 다음과 같이 합니다.

우선 여러창 중에서 어떤 창의 크기를 조절할지 선택해야 합니다. Ctrl+ww 핫키를 눌러서 창을 점프하면서 특정 창을 선택합니다.

Ctrl+ww

위의 핫키는 Ctrl키를 누르면서 w 키를 누르고, 다시 w키를 누르는 것입니다.


창 사이즈 확대하기:

Ctrl+w+
즉, Ctrl키를 누르면서 소문자 w 키를 누른 후, 플러스 기호(+) 키를 누르면 "현재 창" 사이즈가 1줄 확대됩니다.


창 사이즈 축소하기:
Ctrl+w-
즉, Ctrl키를 누르면서 소문자 w 키를 누른 후, 마이너스 기호(-) 키를 누르면 "현재 창" 크기가 1줄 축소됩니다.

키보드 우측 키패드에 있는 플러스 마이너스 키를 누르는 것이 좋습니다.
2009/05/05 05:18 2009/05/05 05:18
유닉스에서 파일을 지우려면, rm 명령어를 사용하면 됩니다. 만약 rm 명령어가 없는 경우에는 unlink 라는 명령을 사용하면 됩니다. "unlink"도 파일을 지운다는 뜻입니다.

예를 들어 "현재 디렉토리"에 있는 test.txt 라는 텍스트 파일을 삭제하려면

rm test.txt

이렇게 합니다. 또는

unlink test.txt

이렇게 해도 됩니다.

예를 들어 .tmp 라는 확장자를 가진 모든 파일들을 한꺼번에 지우려면 다음과 같이 별표(*) 와일드카드를 사용하여 파일명 부분을 대체해 주면 됩니다.

rm *.tmp

위의 명령을 실행하면, 현재 디렉토리에서 .tmp 라는 확장자로 끝나는 파일들만 모두 삭제됩니다.
2009/05/05 05:17 2009/05/05 05:17
저도  시그윈을 설치하고 매뉴얼이 어디 있는지 몰라서, 시그윈 사이트에 다시 가서 매뉴얼을 다운로드받았었는데, 알고 보니 시그윈을 설치할 때 매뉴얼을 같이 설치해주더군요.

Cygwin을 설치했다면, 윈도 시작메뉴의 Cygwin 이라는 곳에, 다음과 같은 '바로가기 파일'들이 있습니다:

Cygwin API Reference
Cygwin FAQ
Cygwin User's Guide
User's Guide (One file)
User's Guide (PDF)



User's Guide (PDF) 인, \cygwin\usr\share\doc\cygwin-doc-1.4\cygwin-ug-net.pdf <- 이 파일이 읽기에 편했습니다.
2009/05/05 05:16 2009/05/05 05:16
\cygwin\bin 디렉터리에, 201개나 되는 .exe 파일이 있습니다:
addftinfo.exe
ascii.exe
ash.exe
banner.exe
basename.exe
bash.exe
bunzip2.exe
bzcat.exe
bzip2.exe
bzip2recover.exe
cat.exe
chgrp.exe
chmod.exe
chown.exe
chroot.exe
cksum.exe
clear.exe
cmp.exe
comm.exe
conv.exe
cp.exe
crypt.exe
csplit.exe
cut.exe
cygcheck.exe
cygpath.exe
cygstart.exe
d2u.exe
date.exe
dd.exe
df.exe
diff.exe
diff3.exe
dir.exe
dircolors.exe
dirname.exe
dos2unix.exe
du.exe
dump.exe
dumper.exe
dumpgdbm-1.3.22.exe
dumpgdbm-1.5.2.exe
dumpgdbm.exe
echo.exe
editrights.exe
env.exe
eqn.exe
expand.exe
expr.exe
factor.exe
false.exe
find.exe
fmt.exe
fold.exe
gawk-3.1.5.exe
gawk.exe
getclip.exe
getfacl.exe
gkill.exe
grep.exe
grn.exe
grodvi.exe
groff.exe
grolbp.exe
grolj4.exe
grops.exe
grotty.exe
gzip.exe
head.exe
hostid.exe
hostname.exe
hpftodit.exe
iconv.exe
id.exe
indxbib.exe
info.exe
infocmp.exe
infokey.exe
install-info.exe
install.exe
ipcrm.exe
ipcs.exe
join.exe
kill.exe
less.exe
lessecho.exe
lesskey.exe
link.exe
lkbib.exe
ln.exe
loadgdbm-1.3.22.exe
loadgdbm-1.5.2.exe
loadgdbm.exe
locate.exe
login.exe
logname.exe
lookbib.exe
lpr.exe
ls.exe
makeinfo.exe
man.exe
man2html.exe
md5sum.exe
mkdir.exe
mkfifo.exe
mkgroup.exe
mknod.exe
mkpasswd.exe
mkshortcut.exe
mktemp.exe
mount.exe
msgtool.exe
mv.exe
nice.exe
nl.exe
nohup.exe
od.exe
passwd.exe
paste.exe
pathchk.exe
pfbtops.exe
pgawk-3.1.5.exe
pgawk.exe
pic.exe
pinky.exe
post-grohtml.exe
pr.exe
pre-grohtml.exe
printenv.exe
printf.exe
ps.exe
ptx.exe
putclip.exe
pwd.exe
readlink.exe
readshortcut.exe
realpath.exe
refer.exe
regtool.exe
rm.exe
rmdir.exe
run.exe
sdiff.exe
sed.exe
semstat.exe
semtool.exe
seq.exe
setfacl.exe
sh.exe
sha1sum.exe
shmtool.exe
shred.exe
sleep.exe
soelim.exe
sort.exe
split.exe
ssp.exe
stat.exe
strace.exe
stty.exe
su.exe
sum.exe
sync.exe
tac.exe
tack.exe
tail.exe
tar.exe
tbl.exe
tee.exe
test.exe
testdbm.exe
testgdbm.exe
testndbm.exe
texindex.exe
tfmtodit.exe
tic.exe
toe.exe
touch.exe
tput.exe
tr.exe
troff.exe
true.exe
tset.exe
tsort.exe
tty.exe
u2d.exe
umount.exe
uname.exe
unexpand.exe
uniq.exe
unix2dos.exe
unlink.exe
users.exe
vdir.exe
wc.exe
which.exe
who.exe
whoami.exe
xargs.exe
yes.exe
[.exe


위의 파일들이 명령어로서 실행됩니다.
2009/05/05 05:13 2009/05/05 05:13
javascript:function r(d){d.oncontextmenu=null;d.onselectstart=null;d.ondragstart=null;d.onkeydown=null;d.onmousedown=null; d.body.oncontextmenu=null;d.body.onselectstart=null;d.body.ondragstart=null;d.body.onkeydown=null; d.body.onmousedown=null;}function s(f){if(f.frames.length!=0){for(var i=0; i<f.frames.length; i++){s(f.frames[i]);}}try{r(f.document);}catch(error){}}s(window.top);


마우스 우클릭 방지된사이트가있다면 주소창에 주소바로앞에 위의 스크립트를

복사해서 넣으시면됩니다.

ex) 주소창 : 위스크립트 http://webarty.com

이제 당신도 응응한사진을 퍼갈수 있다!! 
2009/05/04 20:17 2009/05/04 20:17
리눅스 간단 명령어 정리 모음 입니다. 참고하세요

alias (명령어 간소화하기)
apropos (관련된 명령어 찾기)
arch (컴퓨터 종류 알기)
arp (같은 서브넷의 IP 보여주기)
at (작업 시간 정하기)
atd (계획성 있는 작업 실행하기)
awk (특정 패턴 문자 처리하기)
a2p (펄 파일로 바꾸기)
badblocks (배드 블럭 검사하기)
bc (계산기)
biff (메일 수신 소리로 확인하기)
bg (후면작업; 배경화면 설정)
bind (키나 함수 순서 결합하기)
break (루프 빠져나가기)
cal (달력보기)
builtin (내부 명령어 알아보기)
case (조건 처리하기)
cat (화면상에서 파일 보기)
cd (디렉토리 변경하기)
cfdisk (디스크 설정하기)
chattr (파일 속성 변경하기)
chfn (사용자 정보 변경하기)
chgrp (파일, 디렉토리가 속했던 그룹 바꾸기)
chmod (파일 권한 바꾸기)
chown (파일 주인 바꾸기)
chsh (지정된 셸 바꾸기)
cksum (CRC값을 점검한다)
clear (화면 청소하기)
clock (CMOS 시각을 조정하기)
cmp (파일 비교하기)
colcrt (문자 변환 필터)
colrm (열 삭제하기)
column (가로 정렬하기)
comm (파일 비교 출력하기)
command (명령어 알아보기)
continue (루프 계속돌기)
cp (파일 복사하기)
cpio (복사본 만들기)
crontab (cron을 관리한다)
csplit (파일에 서식, 규칙 정하기)
cut (필요한 필드만 출력하기)
date (날짜 보기)
dd (블럭장치 읽고 쓰기)
debugfs (ext2 파일 시스템 디버깅하기)
declare (변수 선언하기)
df (파일 시스템의 사용량 보기)
dirs (디렉토리 목록 표시하기)
dmesg (부팅 메시지 보기)
dnsdomainname (DNS 이름 출력)
domainname (NIS 이름 출력&설정)
du (디렉토리와 파일의 용량 파악하기)
dumpe2fs (파일 시스템 정보 보기)
echo (표준 출력하기)
eject (장치 해제하기)
elm (메일 관련)
enable (내부 명령어 지정)
env (환경변수 출력하기)
eval (인수 읽기)
exec (셸 명령어 실행하기)
exit (종료하기)
expand (탭을 공백으로 변환하기)
export (변수 지정하기)
e2fsck (파일 시스템 복구하기)
fc (지정된 편집기 받기)
fdformat (플로피 디스크 포맷하기)
fdisk (파티션 나누기)
fg (지정된 작업을 전면 프로세스로 시작하기)
file (파일 종류 보기)
find (파일 찾기)
finger (사용자 정보 알기)
fold (정형화하기)
fmt (정형화하기)
for (반복 실행하기)
free (메모리 사용량 알아보기)
fsck (파일 시스템 검사하기)
fstab (파일 시스템에 대한 고정적인 정보 저장하기)
ftp (파일 전송 프로그램)
fuser (프로세스 ID 출력)
getkeycodes (매핑 테이블 출력하기)
grep (특정 문자 (열) 검색하기)
gzexe (실행 파일 압축하기)
gzip (압축하기)
halt (시스템 종료하기)
hash (기억해 두기; index 역할)
head (파일의 앞부분 출력하기)
help (도움말 보여주기)
host (호스트 정보 보기)
history (사용 명령어 목록보기)
hostname (서버 이름 알기)
id (계정 정보 알기)
if (조건문 실행하기)
ifconfig (랜카드에 주소 할당하기)
imolamod (모듈 설치하기)
inetd (인터넷 서비스의 최상위 데몬)
init (실행 단계 정하기)
ispell (철자법 검사하기)
jobs (수행중인 프로세스 알기)
kbd_mode (키보드 모드 출력하기)
kill (프로세스 죽이기)
klogd (커널 로그 데몬)
ldd (공유 라이브러리의 의존성 알기)
less (페이지 단위로 출력하기)
let (정규식 표현하기)
lilo (부팅하기)
ln (링크하기)
locate (패턴에 맞는 파일 찾기)
login (로그인하기)
logger (시스템 로그 기록하기)
logname (사용자 로그인명 보여주기)
logout (로그인 셸 종료하기)
look (특정 단어 검색하기)
losetup (중복 장치 확인하기)
lpd (프린트 데몬)
lpq (현재 프린트 작업 상태 출력하기)
lpr (출력하기)
lprm (대기열에 있는 문서 삭제하기)
ls (디렉토리 내용보기)
lsattr (파일 시스템의 속성 보여주기)
lsdev (하드웨어 장치 출력하기)
lsmod (모듈 정보 출력하기)
mail (메일 관련)
make (컴파일하기)
man (매뉴얼 보기)
mattrib
mbadblocks
mcd
mcopy
mdel
mdeltree
mdir
mesg (메시지를 받을 수 있는지 확인하기)
mformat
minfo
mkdir (디렉토리 만들기)
mke2fs (파일 시스템 생성하기)
mkfs (파일 시스템 만들기)
mknod (특수 파일 만들기)
mkswap (스왑 영역 지정하기)
mlabel
mmd
mmount
mmove
mpartition
mount (장치 연결하기)
more (화면 단위로 출력하기)
mrd
mren
mtoolstest
mtype
mutt (메일 관련)
mv (파일 옮기기)
mzip
netstat (현재 네트웍 상황 보기)
nice (프로세스 우선 순위 변경하기)
od (8진수로 파일 보기)
passwd (암호 입력하기)
pidof (실행중인 프로그램의 프로세스 ID 찾기)
pine (메일 관련)
ping (네트웍 확인하기)
popd (pushd 취소)
ps (프로세스 纘?알기)
pstree (프로세스 상관관계 알기)
pwd (절대경로 보여주기)
quota (디스크 한계량 알기)
rarp (rarp 테이블 관리하기)
rcp (원격 호스트에 파일 복사하기)
rdev (루트, 스왑장치, 램 크기, 비디오 모드를 조사하고 설정하기)
rdate (네트웍으로 시간 설정하기)
reboot (재부팅하기)
rmmod (모듈 지우기)
readonly (읽기 전용으로 표시하기)
renice (프로세스 우선 순위 바꾸기)
reset (터미널 초기화하기)
restore (다시 저장하기)
rlogin (바로 접속하기)
rm (파일 지우기)
rmdir (디렉토리 지우기)
route (라우팅 테이블 추가/삭제하기)
rpm (프로그램 추가/삭제)
rpm2cpio (rpm을 cpio로 변환하기)
rsh (원격으로 명령어 실행하기)
rup (호스트 상태 출력하기)
rusers (호스트에 로그인한 사용자 출력하기)
rwall (호스트 사용자에게 메시지 뿌리기)
script (기록하기)
set (변수값 설정하기)
setup (시스템 관련 설정하기)
showmount (호스트의 마운트 정보 보여주기)
shutdown (전원 끄기)
sleep (잠시 쉬기)
source (스크립트 번역하기)
split (파일 나누기)
ssh (암호화된 원격 로그인하기)
stty (터미널라인 설정 보여주기)
su (계정 바꾸기)
suspend (셸 중단하기)
swapoff (스왑 해제하기)
swapon (스왑 활성화하기)
sync (버퍼 재설정하기)
syslogd (로그인 과정 설정하기)
tac (거꾸로 보기)
tail (문서 끝부분 출력하기)
talk (이야기하기)
tar (파일 묶기)
tcpdchk (tcp wrapper 설정하기)
tcpmatch (네트웍 요청에 대해 예측하기)
tee (표준 입력으로부터 표준 출력 만들기)
telnet (원격접속하기)
test (테스트하기)
times (셸에서의 사용자와 시스템 시간 출력하기)
top (cpu 프로세스 상황 보여주기)
tr (문자열 바꿔주기)
true (종료 코드 리턴하기)
type (유형 보기)
ul (밑줄 처리해서 보여주기)
ulimit (제한하기)
umask (매스크 모드 설정하기)
umount (장치 해제하기)
unalias (별명 제거하기)
uname (시스템 정보 보기)
unexpand (공백 문자를 탭으로 변환하기)
uniq (중복된 문장 찾기)
useradd (사용자 계정 만들기)
userdel (계정 삭제하기)
usermod (사용자 계정정보 수정하기)
unset (설정 변수 해제)
uptime (시스템 부하 평균 보여주기)
users (로그인된 사용자 보여주기)
w (시스템에 접속한 사용자 상황 알아보기)
wait (프로세스 기다리기)
wall (모든 사용자에게 메시지 보내기)
wc (문자, 단어, 라인수 세기)
whatis (명령어의 간단한 설명보기)
while (루프 명령어)
who (사용자 알기)
write (콘솔 상에서 간단한 메시지 보내기)
xcopy (반복적으로 복사하기)
XFree86
ypchfn (NIS에서 사용하는 chfn 명령어)
ypchsh (NIS에서 사용하는 chsh 명령어)
yppasswd (NIS에서 사용하는 passwd 명령어)
zcat (압축 파일 보기)
zcmp (압축 파일 비교하기)
zforce (강제로 gz 만들기)
zgrep (압축 상태에서 grep 실행하기)
zmore (압축 상태에서 more 실행하기)
2009/04/30 15:13 2009/04/30 15:13

GUI 저리가라!! 강력한커맨드 FTP - NCFTP !! [중급]


안녕하세요... 오늘 강좌할 내용은 커맨드라인 ftp프로그램인 ncftp입니다.

이프로그램은 원래 리/유닉스용으로 만들어진것입니다.

하지만 윈도우에는 포식스(POSIX)기반 프로그램을 실행할수가 있답니다.

그래서 유닉스의 명령어를 포팅할수가 있습니다...

윈도우의 기본 ftp인 ftp.exe는 말그대로 기초적인것만 제공합니다. 하지만

ncftp프로그램은 윈도우의 GUI기반의 FTP프로그램이 가진 기능 거의 모두를

지원하고 있습니다.... 이에따라 커맨드 명령이 몇개더 늘어낫지만,

천천히 시간을 두고  하나씩 배워가시게 되면 나중에 리눅스/유닉스를 공부

할때에도 별다른 어려움없이 ncftp를 사용하실수가 있습니다....

이전에도 말한바가 있었지만,  윈도우에서도 사용하면서 유닉스에서도

사용할수있는 프로그램을 배워두시면 어떤 운영체제에서도 당황함이 없이

자신이 할려는 작업을 할수가 있습니다... 이점을 생각해두시고 공부하시기

바랍니다......

ncftp프로그램의 전체적인 설명은 하지 못하였습니다만, 아래에 설명하는

명령어만 익히셔도 사용에는 지장이 없습니다.....!!!

원래는 매뉴얼로 제작할려고 하였으나, 너무 졸작이 되는것 같아서 이에

그림없이 강좌를 합니다. 이점 양해해주시면 감사하겠습니다..

먼저 프로그램의 홈페이지는 http://www.ncftp.com 입니다.

Download에 가셔서 win32용으로 설치하시면 됩니다..

아니면 여기!!

를 눌러서 설치하시기 바랍니다.


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

이름
NCFTP.EXE
NcFTP – 파일전송프로토콜용 검색프로그램

사용법
ncftp [ 호스트명 ]
ncftp [ ftp://호스트명/폴더명/ ]

설명
ncftp프로그램은 인터넷 표준 유틸리티인 ftp 프로그램과 100%호환된다.
또한, ncftp프로그램은 강력하고 유연한 명령어를 지원하고 있다.
ncftp프로그램은 커맨드라인 프로그램이다. 현재 그래픽환경의 프로그램이
지원하는 기능이상의 기능을 지원하고 있다.
파일명 자동완성기능
커맨드라인 에디팅
백그라운드 처리
자동이어받기 기능
즐겨찾기 기능
디렉토리 캐싱 기능
호스트 재접속 기능
방화벽, 프락시 작업
전체디렉토리 다운로드 기능
등등.. 수많은 기능을 지원하고 있다. 위의 기능들은 대표적인것일
뿐이다.
또한 표준 ftp명령어를 완벽히 지원하고 있다.

옵션
커맨드라인에서의 호스트명과 디렉토리의 URL을 지원한다
커맨드창을 열고 ncftp [ 호스트명 | 호스트명/디렉토리 ] 의
방식으로 사용할 수가 있다.
아래와 같은 옵션을 지원한다.
-u xx    : 사용자명을 지정하게 된다.(기본값:anonymous)
-p xx    : 사용자명에 따른 비밀번호를 지정한다.
-P xx     : 포트번호를 지정한다.(기본값:21번)
ncftp –u kpj666 –p 1234 –P 2100 ftp.bora.net
위와 같은 명령은 ftp.bora.net이란 서버에 사용자계정 kpj666과
비밀번호 1234와 서버의 포트번호 2100 으로 접속하는 경우이다.
중요한 것은 –u –p –P 옵션이 먼저 적은후에 서버명이 온다는것이다.
Ncftp ftp.bora.net      과 같이 입력하게 되면 기본값인
Anonymous / Email주소 가 자동으로 입력되게 된다.

커맨드 쉘의 소개
지금부터의 설명은 옵션이 없는 상태에서 단지 ncftp만 실행하였을경우
사용법을 간단히 설명한후에 명령어 의 전체적인 설명을 하겠다.
상대방의 컴퓨터에 접속하여서 자신의 컴퓨터로 파일전송을 하기 위해서
먼저 상대방의 서버에 접속하려면 상대방의 IP번호 또는 도메인이름을
사용하게 된다.
open ftp.bora.net   (도메인명으로 사용)
open 129.93.33.24     (IP번호 사용)
IP번호로의 접속은 정적IP에만 유효하다. 도메인으로의 접속은
매번 같은 이름으로 접속가능하게 된다.
상대방의 서버에 접속하게 되면 권한이 필요하게 된다. FTP프로토콜은
상당히 간단한 방식으로 계정을 확인하게 된다.
사용자 계정 / 계정에 따른 비밀번호
하지만 대부분의 서버들은 이러한 계정/비밀번호가 없이도 사용가능한
공개용 계정/비밀번호가 존재한다.
Anonymous / 이메일주소
ftp   /  ftp
위와 같은 방식으로 접속할수 있고 이런계정으로 접속하는 서버를
공섭이라고 부른다. (Public Server)
이메일주소에서는 @문자만 검사하므로 반드시 실제 이메일주소일
필요는 없다.  a@a.c    라고 해서도 지장이 없다.
이러한 공개섭들에서는 대부분 읽기만 허용해놓은경우가 대부분이다.
읽기권한은 곧 다운로드만 가능하다는 뜻이다. 해당 서버의 관리자가
설정하기 나름이다.
Open 명령어로 상대방의 서버에 접속이 되었으면, 서버의 현재 디렉토리를
보여주는 명령어 ls 또는 dir 을 입력해서 서버의 디렉토리를 확인한다.
서버에서의 디렉토리 이동은 cd 명령어로서 사용하게 된다.

서버에서 자신의 컴퓨터로 파일을 다운로드 할려면 get 파일명 과 같은
명령어를 사용하게 된다.
get README.txt
ncftp프로그램은 파일전송상황을 화면에 표시하게 된다.파일전송이 완료된후에 다른 명령어를 입력할수 있게 된다.
자신의 컴퓨터에 존재하는 파일을 서버에 업로드 할려면 put 파일명  과
같은 명령어를 사용하게된다.
put something.tar
더 이상의 작업이 필요없을 경우에는 quit 명령을 입력하여 ncftp를 종료
하게 된다. Ncftp를 종료하게 전에 현재 연결상태(서버명/계정/비밀번호..)를
저장할경우에는 bookmark 명령을 사용하게 된다.
Bookmark boranet

또한 북마크해둔 이름으로 접속할수있다.
Ncftp boranet      과 같이 하게되면 마지막상태로 접속하게된다.
명령어 레퍼런스
커맨드쉘상태에서 (접속된상태) 입력하게 된다.
help
현재 버전에서 지원하는 명령어를 표시하게된다.
Help 명령어 와 같이 입력하게 되면 해당명령어의 문법과
간단한 설명을 표시하게 된다.
Ex) help open 
ascii
파일전송시에 전송모드를 ascii모드(텍스트모드)로 변경한다.
도스 to 유닉스간의 텍스트파일전송시에 유용하게 사용된다.
보통의 ftp들은 기본값이 ascii이지만 ncftp의 경우는 기본값이
binary 로 셋팅되어 있다.
      Ex) ascii 
bgget, bgput
이들 명령어들은 get명령과 put명령어들과 사용법이 같다.
하지만 작업처리를 후면처리(백그라운드)로 하게 된다.
후면처리로 업/다운로드 작업을 주게되면 다른작업을 할 수가
있게된다. 보통의 get/put명령어는 이들 명령이 완료될때까지
입력을 할 수가 없지만 bgget/bgput명령어는 곧바로 다른
명령을 입력할 수가 있게 된다.
다운로드/업로드작업을 하면서 서버를 탐색할수도 있는것이다.
Ncftp의 강력한 기능중 하나이다.
 
bgget / bgput  명령어는 전송스케쥴링을 지원한다.
-@  문자뒤에 YYYYMMDDhhmmss 와같이 시간을 지정할수있다.
2001년 12월 20일 새벽2시정각에 파일을 다운로드할려면,
bgget -@ 20011220020000 /pub/kpj666/test.zip
      위와 같이 기입하게 되면 된다. 
binary
전송방식을 이진수방식에 맞게끔 세팅하게 된다.ncftp의 기본값이다.
일반적인 ftp의 기본값은 ascii이다.
 
bookmark
현재 세션을 저장하고 나중에 재사용할 수가 있다. 원격서버의
각종 설정값을 모두 기억하게 된다.
      Ex) bookmark test
bookmarks
현재 저장되어있는 북마크(즐겨찾기)를 사람이 이해할 수 있는 문자로
리스팅해준다. 전체설치를 하였다면 GUI환경이 나타나게 된다.
즐겨찾기 관리툴이라고 생각하면 된다.
 
cat
유닉스의 cat툴과 유사하다. 원격파일에만 사용가능하다.
다운로드받은 파일을 화면에 덤프하는 명령어이다. 파일의 내용을
볼려고 할 때 주로 사용하게 된다.
      Ex) cat Readme.txt 
cd
원격서버의 디렉토리를 변경하는 명령어이다
cd pub
cd news
cd comp.sources.d
위와 같은 명령은 아래와 같이 한번에 할수 있다.
cd /pub/news/comp.sources.d
또한 마지막 디렉토리로 이동하는 명령어도 존재한다.
cd –

chmod
유닉스의 chmod툴과 동일하다. 원격서버의 파일의 퍼미션을
수정하는 명령어이다. 물론  수정할 권한이 있어야 한다.
 
close
원격서버에 접속을 끊는다.
 
debug
내부테스트용 명령어이다. 디버깅모드라는 것이 존재한다.
서버의 모든메세지를 화면 혹은 파일에 저장하는 명령어이다.
서버의 작동원리를 알고자 할 때 사용하며 , 서버의 오작동
유무도 파악할 수가 있다.
 
dir
유닉스의 ls –l 과 같은 효과를 내는 리스팅 명령어이다.
도스사용자를 위한 명령어이다.  Ls와 같은 명령어이다.

get
원격서버의 현재 디렉토리에서 로컬컴퓨터의 현재 디렉토리로 다운로드 하는 명령어이다.
Ex) get Readme.txt
파일명을 공백으로 분리해서 여러 개를 줄수 있다.
Ex) get Readme.txt test.bin document.doc
또한 와일드카드문자를 사용할수도 있다.
Ex) get Read*
-z 플래그와 사용하게 되면 원격파일을 다운로드할 때 로컬컴퓨터에 다른파일명으로 저장할수도 있다.
Ex) get –z Readme.txt README
자동이어받기기능은 기본값으로 세팅되어있다. 이어받기기능은 물론
서버에서 지원해야 사용가능하다. 200메가 파일을 다운로드중에
100메가다운로드 중에 끊어졌다면 get명령은 다시 100메가부터
다운로드를 하게 된다.
      기존에 존재하는 파일에 추가할려면 –A 플래그와 사용하게 된다.
get -A log.11
위의 명령은 로컬컴퓨터에 log.11파일이 존재하면 추가하게된다.
get –DD
위의 명령은 서버파일을 다운로드후에 삭제하는 플래그이다.
      Get –R
      위의 명령은 서브트리를 포함하는 모든 디렉토리를 다운로드하게된다.
 
jobs
후면작업으로 처리되는 작업리스트를 보여주게된다. 유닉스의 jobs
명령과 동일하다.
 
lcd
lcd 명령에서 처음문자인 l 은 local을 뜻한다. 즉 현재 로컬컴퓨터의
디렉토리를 이동하게 한다.
get,put명령들은 현재 로컬디렉토리를 기준으로 하기 때문에                 로컬디렉토리를 이동할경우 사용하는 명령어이다.
lchmod
로컬컴퓨터의 파일의 퍼미션을 수정하는 명령어이다.
 
lls
로컬컴퓨터의 리스팅 명령어이다.

lmkdir
      로컬컴퓨터의 디렉토리 생성시에 사용하는 명령어이다. 
lookup
ncftp의 내장된 lookup명령어이다. 즉 인터넷의 이름풀기서버인
DNS서버를 질의 하는 명령어이다.
Ex) lookup openserver.co.kr
lpwd
로컬컴퓨터의 현재 작업디렉토리를 표시하게 된다.
 
lrename
로컬컴퓨터의 파일명을 변경하는 명령어이다.
유닉스의 mv 명령어와 동일하게 사용된다.
 
lrm
로컬컴퓨터의 파일을 삭제하는 명령어이다.
유닉스의 rm과 동일하게 사용된다.
 
lrmdir
      로컬컴퓨터의 디렉토리를 삭제하는 명령어이다.
      유닉스의 rmdir과 동일한 명령어이다. 
ls
원격서버의 디렉토리 리스팅 명령어이다. 유닉스의 ls –CF와 동일하게 리스팅하게 된다.
ls –rt    명령은 유닉스 시스템에서는 ls –CFrt 와 같이 된다.
Ncftp는 디렉토리 리스팅시에 디렉토리 캐시를 지원한다.
디렉토리 캐시는 작업속도를 빠르게 만들어주게 된다.
 
mkdir
원격서버에 디렉토리를 생성하는 명령어이다.
 
open
원격서버에 접속하는 명령어이다. 원격서버에 anonymous로 접속을
시도 하게 된다. 계정으로 접속하기를 원할경우에는 여러 플래그를
사용하게 된다.
-u         Anonymous 대신에 계정을 사용하게 된다.
-p          계저에 따른 패스워드를 지정하게 된다.               
-P         기본포트인 21번포트이외의 포트번호를 지정한다

page
원격서버의 파일의 내용을 화면에 페이지단위로 표시한다.
 
put
로컬파일을 원격서버에 복사하는 명령이다.(업로드)
put xx.zip yy.zip
위의 명령은 로컬파일인 xx.zip을 서버에 yy.zip파일로 업로드한다.
put *.zip
위의 명령은 로컬파일중 모든 zip파일을 서버에 업로드 한다.
put -z kpj666 KPJ666.ZIP
위의 명령은 로컬파일인 kpj666 이란 파일을 서버에 KPJ666.ZIP파일로 업로드 하는 명령이다.
put명령은 위에서 기술한 get명령의 플래그들과 동일하게 작업한다.
  pwd
원격서버의 현재 작업디렉토리를 표시하는 명령어이다.
 
quit
      ncftp프로그램을 종료하는 명령어이다.  
quote
FTP서버의 명령을 전송하는 명령어이다. 클라이언트명령이 아닌
서버의 명령을 전송하게된다.
rename
      원격서버의 파일명을 변경하는 명령어이다.
rhelp
원격서버의 명령어의 도움말을 볼수 있게 하는 명령어이다.
rhelp NLST
위의 명령은 서버의 NLST란 명령어의 도움말을 표시하라는 명령이다.
Syntax: NLST [ path-name ]
      이에 위와 같은 응답을 하게 된다.
rm
원격서버의 파일을 삭제하는 명령이다. 삭제 권한이 있을경우에만
사용가능하다.
 
rmdir
원격서버의 디렉토리를 삭제하는 명령어이다. Ncftp의 rmdir명령은
원격서버의 디렉토리가 비록 비어있지 않더라도 삭제되므로
사용에 주의를 요망한다.
set
ncftp프로그램의 기본값을 세팅할수있게 하는 명령어이다.
set
위와 같은 형식으로 사용하게 된다.예를 들어 anonymous의 비밀번호인 기본이메일주소를 변경하기 위해서는 아래와 같이
입력한다.
set anon-password kpj666@hanmail.net
show
set명령으로 설정할 수 있는 기본값을 표시한다.
Show anon-password   명령 또는 show 명령과 같이 사용한다.
모든값을 표시하려면 show all    과 같이 all옵션을 주면된다.
type
파일전송모드를 변경할 때 사용하는 명령어이다. 아래와같이
3가지의 명령이 존재한다. 각각 텍스트,2진파일,이미지파일전송시에
사용한다.
type ascii     = type a
type binary    = type b
type image     = type i
umask
유닉스의umask와 동일한 명령어이다. 서버에서 지원해야 사용가능
한 명령어이다. umask값이란 디렉토리/파일이 생성될 때 기본
퍼미션을 잡아주는 명령어이다.
version
현재 자신의 시스템에 설치되어있는 ncftp프로그램의 버전정보를
표시한다.

디렉토리명은 TAB 키를 누르게 되면 자동완성 까지 시켜주게 된다.

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


실제 사용예는 마땅히 표현할것이 없기에.... 생략하였습니다...

ftp를 사용하셨던 분이시라면 충분히 이해하리라 생각합니다.....

그럼 한겨울로 접어드는 날씨에 감기 조심하시구요, 새해에 복 많이 받으세요!!

******************************
******  Make by KPJ666 ******
******************************

2009/04/30 13:38 2009/04/30 13:38
find 명령어를 사용하여 파일의 내용을 일괄적으로 특정 내용으로 변경하는 방법. 라는 글에서 find 명령어로 파일의 내용을 일괄변경하는 방법에 대해서 언급한 적이 있는데요. 오늘도 수천개의 파일의 내용을 동시변경할 일이 있어서 하던대로 했더니 이상한 문법 에러를 밷으면서 안되더군요.

그래서 뭐가 달라졌나 봤더니.. 바꿀 대상 문자열에 ' (홑따옴표) 와 % 기호가 있다는 것이 달라진 점이더군요. 일단 /, ", % 는 앞에 \ 를 붙여주니 해결이 되었는데, ' 는 앞에 \ 를 붙여주어도 해결되지 않았습니다. 조금 삽질을 하다가.. 아마 전체 문자열을 둘러싸고 있는 기호가 홑따옴표라서 그렇지 않을까.. 하고 생각하고 대상 문장을 둘러싸는 기호를 홑따옴표에서 겹따옴표로 바꿔주고 ' 앞에 \ 를 붙여주니 잘 실행되네요.

find ./ -name "*.htm" -exec perl -pi -e "s/원본문자열/바뀔문자열/g" {} \;

혹시나 같은 이유로 삽질하시는 분이 계실까봐 올려봅니다. 바뀔문자열에 ' (홑따옴표) 가 포함되어 있다면 문장 전체를 둘러싸는 기호를 " (겹따옴표) 로 바꾸면 됩니다.
2009/04/30 13:25 2009/04/30 13:25

파일 내용 일괄 변경 기능

- perl을 사용합니다.

- 현재 디렉토리아래의 모든 html 파일안의 "www/zenon" 이라는 문구를 "www/dev/zenon"이라는 문구로 대체


find ./ -name "*.html" -exec perl -pi -e 's/www\/zenon/www\/dev\/zenon/g' {} \;



특정 파일 일괄 관리 기능
find . -name "*.pc" -print | xargs -l {} -t mv {} [옮길 폴더명]


조금 빠른 복사
tar cf - . | ( cd [옮길 폴더명] && tar xBf - )

2009/04/30 13:23 2009/04/30 13:23
C:\>wget --spider -S http://www.naver.com --> 헤더정보를 console에 뿌린다.
--15:04:28--  http://www.naver.com/
           => `index.html'
Resolving www.naver.com... done.
Connecting to www.naver.com[202.131.30.82]:80... connected.  --> IP는 202.131.30.82 다.
HTTP request sent, awaiting response...
 1 HTTP/1.1 200 OK
 2 Date: Fri, 30 Nov 2007 06:04:21 GMT   --> 메인페이지는 오늘 아침 6시 4분 21초에 업데이트 되었다.
 3 Server: Apache --> Naver는 메인페이지용 웹서버로 Apache를 쓰고 있다
 4 Cache-control: no-cache, no-store, must-revalidate
 5 Pragma: no-cache
 6 P3P: CP="CAO DSP CURa ADMa TAIa PSAa OUR LAW STP PHY ONL UNI PUR FIN COM NAV INT DEM STA PRE" --> P3P를 쓰고 있다
 7 Connection: close
 8 Content-Type: text/html; charset=euc-kr  --> 캐릭터셋으로 euc-kr로 쓰고 있다.
200 OK

C:\>wget -O good.jpg http://www.hikr.org/files/33971.jpg --> url에서 파일을 다운로드 하여 good.jpg로 저장한다.
--15:08:51--  http://www.hikr.org/files/33971.jpg
           => `good.jpg'
Resolving www.hikr.org... done.
Connecting to www.hikr.org[88.198.38.81]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 121,292 [image/jpeg]

100%[====================================>] 121,292       44.08K/s    ETA 00:00

15:08:55 (44.08 KB/s) - `good.jpg' saved [121292/121292]
2009/04/30 11:21 2009/04/30 11:21
< Cygwin 홈페이지 > 이 주소의 시그윈 홈에 보면

Install or update
now!
(using setup.exe)


이런 곳이 있습니다. 'setup.exe를 사용해 인스톨/업데이트'하는 메뉴입니다. 그곳을 클릭하면 setup.exe 라는 조그만 파일이 다운로드됩니다. setup.exe 를 실행하면 인터넷 서버에서 실시간으로 파일을 받아오며 인스톨이 시작됩니다.

※ 시그윈은 무료이고 오픈소스입니다


인스톨 과정



* Install from Internet (인터넷으로부터 인스톨; 다운받은 파일들은 나중에 다시 사용할 수 있도록 지우지 않음)

* Download without Installing (필요한 파일을 다운로드만 하고, 인스톨은 하지 않음)

* Install from Local Directory (하드에 이미 다운받아 놓은 파일로 설치)

이런 옵션 대화상자가 나오는데, 처음 설치라면 Install from Internet (인터넷으로부터 인스톨) 을 선택합니다.



Select Root Install Directory (인스톨할 루트 디렉토리를 선택하세요) 라는 곳이 나오는데, 하드의 어디에 시그윈을 설치할지 물어보는 것입니다. 저의 경우
D:\cygwin
여기로 지정했습니다. 나머지는 기본값이 좋습니다.



Select Local Package Directory (설치 파일을 보관할 곳을 정하세요)

다운받은 시그윈 설치파일들을 지우지 않고 계속 보관할 폴더를 지정하는 곳입니다. 저의 경우에는
D:\Warehouse\cygwin_install_files
이런 폴더를 만들어서 지정해 주었습니다. 시그윈도 일종의 유닉스이기에, 디렉토리/파일명에는 공백문자가 들어가지 않는 것이 좋을 것 같습니다.



Select Your Internet Connection (인터넷 연결 방식을 선택하세요)

Direct Connection (직접 연결)을 선택했습니다.



Choose A Download Site (다운받을 사이트를 고르세요)

설치 파일들은 시그윈 홈페이지가 아닌 세계 각곳의 FTP 서버에 올려져 있습니다. 그래서 골라야 하는데, 서버에 따라 아주 느리거나 아예 다운로드가 안되는 경우가 많습니다.

예전에는 한국의 "리눅스사랑" 서버가 좋았는데 지금은 보이지 않습니다.

"초고속연구망 KREONET": ftp://ftp.kreonet.re.kr
여기가 속도도 빠르고 잘 되는군요. 아무튼 한국 서버에서 받는 것이 빠릅니다.



Select Packages (설치할 패키지를 고르세요)

이 부분이 좀 어렵습니다. 리눅스에 익숙하지 않다면 무엇을 설치해야 할지 알 수가 없을 것입니다. 시그윈은  Vim (VI; 빔)같은 에디터조차도 기본적으로는 설치해 주지 않습니다.

필요한 것이 있으면 나중에 추가 설치하면 되기에 그냥 기본값으로 설치하는 것이 좋습니다. "다음" 버튼을 누릅니다.


최소한의 파일만 설치했는데도 D:\cygwin 폴더가 50MB나 됩니다.


바탕화면에 만들어진 시그윈 아이콘을 클릭하면 시그윈이 실행됩니다.


실행 결과:
Administrator@chessman-dsjf2pe ~
$


이런 아주 썰렁한 프롬프트 한 개가 나올 것입니다. 그러나 이것이 정상입니다. 정확히 말하자면 이것은 Cygwin의 Bash Shell 입니다. 윈도우의 cmd.exe 와 같은 명령어 처리기입니다.

프롬프트를 이루는 Administrator 는 현재 사용자의 로그인 ID이고, chessman-dsjf2pe 는 컴퓨터 이름입니다. 이런 프롬프트는 변경할 수 있습니다.

아무튼 이것으로 설치는 완료되었습니다.

2009/04/29 21:35 2009/04/29 21:35
사용자 삽입 이미지
2009/04/29 21:16 2009/04/29 21:16
못말리는 삽질본능 !!!

textarea 에 VS수준의 인텔리센스 기능을 탑재시켜주는
야심찬 계획의 프로토타입 입니다

<%
set db = server.createobject("adodb.connection")
db.open application("connectionstring")
set rs = db.execute("select getdate() as current_time")
....
정도 구문은 무난하군요
2009/04/27 19:49 2009/04/27 19:49
간단히 설명드리자면 원격지의 컴퓨터를 컨트롤할 수 있는 툴입니다.
윈도우 2000부터 지원이 되기 시작 했고요 그냥 이것만 있으면 안되고 터미널서비
스가 설치 되어 있어야 원격지 컴퓨터를 컨트롤할 수 있습니다.
2009/04/27 19:47 2009/04/27 19:47
춘잡니다.

질문에 대한 해결책으로 만들다 보니 간략한  RSS리더가 되버렸네요.

RSS의 출력 XML형식은 표준이니 RSS리더 공부하시거나 원격지 서버의 XML Data를

핸들링 하는 법이 포함되어 있습니다.

지극히 간단한 코드이며 Javascript로 변환도 가능하지만 Javascript로 변환하게되면 IE전용으로 변쉰합니다.

DOM 선언 부분이 FF, IE, Opera 각가 다른 방법을 사용합니다.

일단 ASP로 리더를 한번 구현 해보시고 싶으시다면 참고해보시기 바랍니다.

소스에 있는 내용이 꼭 정답은 아닙니다.

XML DOM을 핸들링 하는 방법은 여러가지가 있기 때문이죠.

ChildNode, document.getElementTagName 와 같이 혼용할 수도 있습니다.

그럼~

PS. .net로 가게되면 거의 표준으로 코딩해야 합니다. ^^
2009/04/27 19:44 2009/04/27 19:44
ASP용 로그 기록 클래스

많은 개발자들이 개발을 하면서 중간 중간 소스에 Response.Write 변수 를 추가 합니다.

이유는 디버깅 용이죠! ^^

하지만, 개발 완료 후 삭제도 해야 하고 혹여나 깜빡하고서 누락하는 경우가 있는데요.

누락한 것 중 지저분 해지기만 하고 문제가 되진 않지만 어떤 사람들은 dB 커넥션 문자열을 찍어서

노출이 되는 경우도 있기도 합니다. ㅎㅎㅎ

공개 소스 중에는 Log4J라는 모듈이 있습니다만, 이건 JSP, Ruby, .Net 용으로만 있고 ASP용은 없지요.

그래서 아쉬운 대로 만들어 봤습니다.

제가 생각했을 때 이 클래스를 사용하므로서 얻을 수 있는 이득을 나열해 보죠.


1. 운영 중에도 에러나 기타 정보를 기록하여 디버깅 및 유지보수에 용의합니다.
2. 실수로 중요 정보가 외부에 노출되는 것을 방지합니다. (예: Response.Write에 의해)
3. 확장 함수를 이용하여 받아들인 파라미터 등을 기록하는 것이 가능합니다.
4. 로그 레벨을 이용 하여 기록 기준을 정의 할 수 있으므로 성능이 나빠지는 것에 대응 할 수 있습니다.
5. 파일에 기록이 되므로 언제든 역 추적이 가능합니다. ( 1번과 비슷 한 내용이네요 ^^ )

다음은 사용 예입니다.

<!--#include virtual="ClsLogger.asp"//-->
<%On Error Resume Next%>
<%
'// Logger
Dim oLog : Set oLog = New ClsLogger

'// Request Log
TraceRequestParameter oLog

'//      FATAL : 치명적 에러
oLog.Fetal "치명적 에러!!! 관리자 빨리 보삼. : " & Err.Description

'//      ERROR : 수행 가능한 정도의 에러
oLog.Error "또 에러냐!!! : " & Err.Description

'//      WARN : 문제를 일으킬 가능성의 정보
oLog.Warn "이건 귀찮아서 처릴 안했단 말이오!!! : "

'//      INFO : 정보를 나타낼 때 사용
oLog.Info "게시판 목록 시작"

'//      DEBUG : 상세 정보를 나타낼 때 사용
oLog.Debug "지금은 개발 중..."

If ( Err.Number = 0 ) Then
   oLog.Debug "완료"
Else
   oLog.Error Err.Description
End If


'------------------------------------------------------------------------------------
'// Request 객체의 파라미터 값을 로그에 기록한다.
'// 이 함수는 ClsLogger에 포함 시킬지 말지 고민중 ... ㅠㅠ
'------------------------------------------------------------------------------------
Sub TraceRequestParameter(ByRef pLog)

   On Error Resume Next

   Dim pContentType : pContentType = LTrim(Request.ServerVariables("CONTENT_TYPE"))

   If ( InStr(pContentType, "multipart/form-data") > 0 ) Then
      Exit Sub
   End If

   If ( Not IsObject(pLog) ) Then
      Exit Sub
   End If

   Dim z
   Dim pKeyName
   pLog.Debug "============= FORM PARAMETER ============="
   For z = 1 To Request.Form.Count
      pKeyName = Request.Form.Key(z)
      pLog.Debug "Dim " & pKeyName & " : " & pKeyName & " = RequestForm(""" &
pKeyName & """)"
   Next

   For z = 1 To Request.Form.Count
      pLog.Debug Request.Form.Key(z) & " : " & Request.Form(z)
   Next

   pLog.Debug "========== QUERYSTRING PARAMETER ========="
   For z = 1 To Request.QueryString.Count
      pKeyName = Request.QueryString.Key(z)
      pLog.Debug "Dim " & pKeyName & " : " & pKeyName & " = RequestQuery(""" &
pKeyName & """)"
   Next

   For z = 1 To Request.QueryString.Count
      pLog.Debug Request.QueryString.Key(z) & " : " & Request.QueryString(z)
   Next  
   pLog.Debug "=========================================="

   Err.Clear

   On Error GoTo 0

End Sub
%>

저의 경우 주로 .Error와 .Debug를 사용합니다.

일단 속는 셈 치고 한번 사용해보셔요. ^^

많은 분들이 자기가 원하던 거라고 하시더군요. 다행 다행.

아 그리고 로그뷰어는 "mtail" 이라는 프로그램을 이용합니다. 네이년에서 mtail로 검색을 하시면 쉽게 구 할 수 있어요.

간단하게 소개하면
   기록되는 로그를 실시간으로 모니터링 할 수 있고,
   필터링도 가능합니다. 이 필터링을 이용하면 Error만 볼수도 있고 Debug만 볼수도 있습니다.

유용한 프로그램이에요 ^^
 
그럼 사용해보시고 부족한 부분은 리플 달아주세요~
2009/04/27 19:43 2009/04/27 19:43
사진을 업로드 하면 ASP상에서 해당 이미지에 워터 마크를 입혀 주는 프로그램입니다.
서버에 설치되어서 돌아가는 응용프로그램인 관계로 서버 호스팅 받는 분들만 가능하네요.

아래는 원본 설명입니다.
====================================================
원본글 주소 :
http://dodam.egloos.com/1819734


워터마크 생성 프로그램


워터 마크를 생성해 넣는것이 다 유료라서..
그냥 하나 간단하게 만들어 버렸다.

기능 설명
1. 첨부파일을 서버에 설치한다.
2. 설치된 프로그램을 실행한다. WaterMak.exe
3. 워터 마크용 이미지를 불러온다. (투명처리될 부분은 0, 255, 0 칼라로 맞추어 놓는다. => 연두색)
- 투명처리될 부분은 ASP상에 업로드한 이미지가 보이며, 그이외의 부분은 워터마크의 이미지가 보여지게 된다.
4. dodamSocket.DLL파일을 서버에 등록한다. (구성서비스 이용해서 등록할것.)
4. ASP상에서 파일을 업로드 한다.
- 워터마크가 생성될 이미지를 만든다. (나누미 이미지 플러스 등 활용)
<%
set SendMSG = server.createobject("dodamSocket.SendMsg")
SendMSG.GetConnection = "10299" '// 워터마크 프로그램이 해당 포트로 접속대기중이다.
For i = 0 To 1000
If SendMSG.skState = "T" Then
SendMSG.Str = "MI¥c:\web\test.jpg£"
SendMSG.Str = "MI¥c:\web\test2.jpg£"
Exit For
End if
Next
Set SendMSG = Nothing
%>

이런식으로 웹페이지 상에서 호출을 해 준다.
set SendMSG = server.createobject("dodamSocket.SendMsg") => DLL객체를 생성한다.
SendMSG.GetConnection = "10299" => 서버에 설치해서 띄워 놓은 워터마크 생성 프로그램에 접속한다.
If SendMSG.skState = "T" Then => 소켓 연결이 되었다면...
SendMSG.Str = "MI¥c:\web\test.jpg£" => 워터마크를 넣을 업로드된 이미지의 경로를 넘겨 준다.
MI => MakeImage 명령어
¥ => 구분자
c:\web\test.jpg => 워터 마크를 넣을 원본 이미지 경로
£ => 전송 문자열의 끝임을 알려준다.

위의방식으로 호출을 하게 되면, 원본 이미지는 삭제가 되며
파일명은 동일하며, 확장자는 jpg인 파일이 동일 경로상에 생성이 된다.
ex)
test.jpg업로드시 => test.jpg (워터마크 없는 원본 이미지) 삭제 => test.jpg생성 저장(워터 마크 있는 이미지)
test.gif 업로드시 => test.gif (워터마크 없는 원본 이미지) 삭제 => test.jpg 생성 저장 (워터 마크 있는 이미지)

혹시 사용상의 문제점이 있으면 덧글 달아 주세요.....

2009/04/27 19:37 2009/04/27 19:37

WireFrame.ASP

asp.net 이 아닌 classic asp 용이며,
http://yoursite.com/?action/param1/param2 와 같은 형식의 url 을 분석하여,
Controller 에 등록된 Action Method 를 자동으로 실행해주는 간단한 Framework 입니다

vbscript 와 jscript 를 혼용했으며, mssql 기반의 간단한 Model 을 지원하며
DB 상의 Table 과 1:1 매치하는 Model 을 Table 명만으로 손쉽게 생성할 수 있습니다

js eval기반의 Template 을 지원합니다

WireFrame 이라는 이름이 말해주듯, Table 목록 조회 위주의 간단한 프로토타입 제작용으로 사용가능하며, 실서비스 개발에는 무리가 있습니다

저조차도 진짜 사용할지, 기능개선은 언제가 될지 모르겠습니다만, 오랜만에 재미있게 코딩한 것 같아서, 이곳에 올려둡니다

출처

2009/04/27 19:36 2009/04/27 19:36

사용자 삽입 이미지
무료메일서버를 찾는 많은 분들에게 쓸만하다 싶어 소개해 봅니다.

hMail Server는 SMTP, POP3, IMAP을 지원하는 윈도우 서버용 메일서버 이다.
윈도우용 무료 메일서버로 국내에는 알려지지 않은 메일서버이다.

홈페이지 : http://www.hmailserver.com/
다운로드 : http://www.hmailserver.com/?page=download
라이센스 : Freeware
플랫폼  : Windows, MySQL, MS SQL

아래 오픈소스 관련 사이트에서 설치 및 관리에 대한 간단한 설명 페이지를 볼수 있다.
http://www.jopenbusiness.com/mediawiki/index.php/HMail_Server_4.4.1

최신버전 5에서는 한글 지원이 아직 안되니 참고 하세요~.

사내 메일이나 소규모 에이전시등에서 사용한다면 최상의 메일서버가 아닐까 생각해본다.
hMail Server + MySQL + SquirrelMail(다람쥐메일php) 을 설치하면 웹메일도 운영가능하다.

PHP기반 관리자 사이트도 제공하고 있어 웹에서 메일서버 관리도 가능하다.
메일서버 소스 또한 제공하고 있고 메일관리툴이 VB로 제작되어 있다.
VB메일관리툴의 소스를 활용한다면 ASP에서도 관리 가능할것으로 생각된다.

ASP 관리모듈 또는 사이트, ASP 웹메일등 개발해 보면 재미 있지 않을까 생각해 본다.

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

2009/04/27 19:34 2009/04/27 19:34
GeoIP 국가별 IP체크
http://www.maxmind.com/

국가별 IP체크 꼭 필요한 사항은 아니나 사이트 접속정보 구성시 고려해볼 만한 사항이며
로그분석 업체에서는 이미 사용중인 기능이기도 합니다.

로그분석에 어떤 국가의 IP인지 확인할 수 있다면 악의적인 IP의 접근 차단도 할수 있을것이며
인젝션 공격등 방어를 위해 특정 국가의 접속을 막을수도 있을 것입니다.

위 사이트에서는 데모 버전이 올라와 있습니다.
ASP 버전으로 데모버전에는 데모데이터를 활용하고 있습니다.
데모데이터를 실제 마지막으로 업데이트된 데이터로 교체하여 사용하시면 된답니다.

첨부파일에는 2009년 2월 데이터와 예제 프로그램이 있으니 필요하신 분은 첨부파일을 받아 사용하세요~

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

사용법
1. GeoIPCOM.dll을 system32 폴더에 복사
2. regsvr32 GeoIPCOM.dll - 레지스트리에 DLL등록
3. ASP 프로그램에 적용

set geoip = Server.CreateObject("GeoIPCOM.GeoIP")

geoip.loadDataFile("C:\Program Files\GeoIP\GeoIP.dat")
country_code = geoip.country_code_by_name(hostname)
country_name = geoip.country_name_by_name(hostname)

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

위 내용은 웹짱닷넷(www.webjjang.net) 자료실에도 등록되어 있습니다.
2009/04/27 19:32 2009/04/27 19:32
직접만든 컴퍼넌트입니다. 궁금한점은.. 그냥.그냥그냥.입니다.

안에 asp파일도 같이 있습니다.
페이지의 수행시간을 체크하는데 유용합니다. 무지 무지 가벼운 컴퍼넌트

Tm.setTimeStart() 시작
    <프로그램수행>
Tm.setTimeEnd() 끝

Tm.getTimeResult() 시작과 끝을 정확하게 계산한뒤에 값을 리턴합니다.

정확성 때문에 doubl값으로 넘어오는데
그냥 결과를 출력하면 1.02656598-3E 이렇게 출력되기 때문에
다음과 같이 해줬습니다.
FormatNumber(Tm.getTimeResult(),7)

그럼 ...
2009/04/27 19:31 2009/04/27 19:31