피드 구독하기: 글 (Atom)

2007-01-11

vi 명령어 일람

텍스트 삭제 명령어

작업설명

x

5x

dw

dd

5dd

db

D

:5,10d

커서가 있는 문자 삭제

커서가 있는 위치부터 5개의 문자를 삭제

현재 커서가 있는 한 단어 삭제

커서가 있는 라인 삭제

커서가 있는 라인부터 5개의 라인 삭제

커서의 위치에서 꺼꾸로 한 단어 삭제

커서 오른쪽 행 삭제

5-10번째 행 삭제

복사 및 이동 명령어

작업설명

yy

Y

P

p

:1,2 co 3

:4,5 m 6

행 yank 또는 복사

행 yank 또는 복사

yank되거나 삭제된 행 현재 행 위에 삽입

yank되거나 삭제된 행 현재 행 아래에 삽입

1-2행을 3행 다음으로 복사

4-5행을 6행 위로 이동

행 번호 설정 명령어

작업설명

:set nu

:set nonu

행 번호 표시

행 번호 숨기기

행 찾기 명령어

작업설명

G

21G

Ctrl + G

파일의 마지막 행으로 가기

파일의 21번째 행으로 가기

현재의 filename과 line수를 알려줌

탐색 및 대체 명령어

작업설명

/검색할 문자열/

?검색할 문자열?

n

N

:g/search-string/s/

/replace-string/gc

:s/str/rep/

:1,.s/str/rep/

:%s/str/rep/g

:.$/aaa/bbb/

오른쪽 아래 방향으로 문자열 검색

왼쪽 위 방향으로 문자열 검색

문자열의 다음으로 계속 검색

문자열의 이전으로 계속 검색

각 발생 탐색 후 확인하고 대체

현재 행의 str을 rep로 대체

1부터 현재 행의 str을 rep로 대체

파일 전체 str을 rep로 전부 대체

커서의 위치로부터 파일의 끝까지 있는 모든 aaa를 bbb로 대체

화면정리 명령어

작업설명

Ctrl + l

불필요한 화면정리 후 다시 표시

파일 명령어

작업설명

:r filename

:34 r filename

커서 다음에 파일 삽입

파일을 34번째 행 다음에 삽입

보관 및 종료 명령어

작업설명

:w

:w filename

:wq

:ZZ

:q!

:q

:e!

변경사항 보관

버퍼를 파일로 보관

변경사항 보관 후 vi 종료

변경사항 보관 후 vi 종료

변경사항 보관하지 않고 종료

수정한 파일을 저장하지 않고 vi 종료

수정한 것을 무시하고 다시 편집상태로

리눅스 명령어 모음

addbib - 도서목록 형식의 데이터베이스를 만들거나, 확장
apropos - 사용설명서의 키워드 검색
ar - 라이브러리 만들기, 관리
at, batch - 원하는 시간에 원하는 명령을 실해하게 하는 명령
awk - 패턴 검색과 언어 처리
banner - 큰 글자(배너) 만들기
basename - 경로 이름에서 마지막에 있는 이름만 출력
biff - 자신에게 편지가 배달되면 알려주는 명령
bin-mail, binmail - 예전에 사용한 전자우편 프로그램
cal - 달력보기
calendar - 간단한 일정표
cat - 파일 병합과 내용 보기
cb - 간단한 C 프로그램 beautifier(?)
cc - C 컴파일러
cd - 작업 디렉토리 바꾸기
checknr - nroff 또는 troff 입력 파일 검사; 오류를 보여준다
chgrp - 파일의 사용자 그룹 바꾸기
chmod - 파일의 접근 권한 바꾸기
clear - 터미날 화면 깨끗이 하기
cmp - 두 파일을 바이트 단위로 비교
colcrt - troff 파일의 밑줄 속성 문자 처리
comm - 지정 두파일의 줄 단위 비교와 그 처리
compress, uncompress, zcat - 파일 압축관련 유틸리티들
cp - 파일 복사
cpio - copy file archives in and out
cpp - C 언어 전처리기
csh - C 문법과 비슷한 쉘 스크립트 문법과 기타 여러 기능이 내장된 쉘
ctags - ex 나 vi 편집기에서 사용될 tag 파일을 만드는 명령
date - 시스템 시간 보기나 지정하기
dbx - 소스 수준의 디버거
deroff - nroff, troff, tbl, eqn 관련 내용 지움
df - disk free: 디스크의 남은 용량 보기
diff - 두 파일의 차이점 비교
du - disk used : 디스크 사용량 보기
echo - 인자를 표준 출력으로 출력
ed, red - 기본 줄 편집기
eqn, neqn, checkeq - 수식 표현 포멧 도구
error - 컴파일러 오류 메시지 목록
ex, edit, e - 줄 편집기
expand, unexpand - TAB 문자를 공백문자로 바꿈, 또는 그 반대로
expr - 인자를 수식으로 처리
file - 파일 형식 알아보기
find - 파일 찾기
finger - 사용자 정보 알아보기
fmt, fmt_mail - 간단한 문서나, 편지 포멧 도구
fold - 긴 줄 출력 방법 지정
ftp - 파일 전송 프로그램
gcore - 실행 중인 프로세스의 core 이미지를 구한다.
gprof - call-graph profile data(?)를 보여줌
grep - 문자열 찾기
groups - 사용자의 그룹을 보여줌
history - 이전 명령 보기
hostname - 현재 시스템 이름을 보여줌
imake - makefile 만드는 프로그램
indent - C 프로그램 소스 파일을 들여쓰기 하는 포멧 도구
install - 파일 설치
join - 관계형 데이터베이스 연산자
kill - 프로세스 죽이기 - "마누라 죽이기"와 상관없음 :-)
last - 사용자가 마지막 접속 상태를 보여줌
ld, ld.so - 링크 편집기, 동적 링크 편집기
leave - 자신의 접속 종료 시간을 알려줌
less - more 명령의 확장
lex - 어휘 분석 프로그램 생성기
lint - C 프로그램 verifier
ln - 파일의 하드, 심벌릭 링크 명령
login - 시스템 접속 명령
look - 시스템 디렉토리나, 정열된 목록에서 단어 찾기
lookbib - 도서목록형 데이타베이스에서 찾기
lorder - 오브젝트 라이브러리의 관계 찾기
lp, cancel - 인쇄 시작, 취소
lpq - 인쇄 작업 상황 보기
lpr - 인쇄
lprm - 인쇄 작업 지우기
ls - 디렉토리 내용 보기
mail, Mail - 전자 우편 프로그램
make - 실행 파일을 만들거나, 특정 작업 파일을 만들 때 사용하는 도구
man - 온라인 사용자 설명서를 보는 명령
mesg - 메시지 수신 상태를 보거나 지정
mkdir - 디렉토리 만들기
mkstr - C 소스 파일을 참조로 오류 메시지 파일을 만듬.
more, page - 텍스트 파일 보기 명령
mv - 파일 이동이나, 이름 바꾸기
nawk - 패턴 검색과 언어 처리
nice - 낮은 우선권에서 명령 실행
nm - 심블 이름 목록 보기
nroff - 문서 포멧 도구
od - 8진수, 10진수, 16진수, ascii 덤프
passwd, chfn, chsh - 비밀번호, 핑거정보, 쉘 바꾸기
paste - 여러파일의 서로 관련 있는 줄 연결시키기
pr - 문서 파일 양식화 도구
printenv - 현재 환경 변수들의 내용과 그 값 알아보기
prof - profile 자료 보기
ps - 현재 프로세스 정보 보기
ptx - permuted(순열화된?, 교환된?) 색인 만들기
pwd - 현재 작업 디렉토리 보기
quota - 한 사용자에게 지정된 디스크 할당량보기
ranlib - archive를 random 라이브러리로 변화
rcp - 리모트 카피
rcs - RCS 파일 속성 바꾸기
rcsdiff - RCS revisions 비교
rev - 한 줄의 문자열 꺼꾸로
rlogin - 리모트 로그인
rm, rmdir - 파일, 디렉토리 지우기
roffbib - 도서목록형 데이터베이스 보기 또는 양식화
rsh - 리모트 쉘
rup - 로칼 머쉰의 호스트 상태 보기(RPC version)
ruptime - 로칼 머쉰의 호스트 상태 보기
rusers - 현재 접속자 보기 (RPC version)
rwall - 모든 사용자에게 알림(RPC)
rwho - 현재 접속자 보기
sccs - Source Code Control System (SCCS)
sccs-admin, admin - SCCS 사용 내역 파일을 만들고, 관리
sccs-cdc, cdc - SCCS 델타의 델파 주석을 바꿈
sccs-comb, comb - SCCS 델타 조합
sccs-delta, delta - SCCS 파일에 데해 델타를 만듬
sccs-get, get - SCCS 파일 버전확인
sccs-help, help - SCCS 오류나 경고 메시지 검색
sccs-prs, prs - SCCS 사용내역의 선택된 부분 보기
sccs-prt, prt - SCCS 파일에서 델타 테이블 정보를 봄
sccs-rmdel, rmdel - SCCS 파일에서 델타를 지움
sccs-sact, sact - SCCS 파일의 편집 상태를 봄
sccs-sccsdiff, sccsdiff - SCCS 파일들의 버전 비교
sccs-unget, unget - SCCS 파일의 미리 얻은 것(?)을 취소한다.
sccs-val, val - SCCS 파일 유요화
script - 화면 갈무리
sed - stream editor
sh - 유닉스 표준 쉘
size - 오브젝트 파일의 크기들을 보여줌
sleep - 지정한 시간 만큼 실행 보류
sort - 줄 정열과 검색
sortbib - 도서목록형 데이터베이스 정열
spell, hashmake, spellin, hashcheck - 맞춤범 검사(물론 영어겠지요)
split - 파일 나누기
strings - 오브젝트 파일이나, 실행 파일에서 문자열 찾기
strip - 오브젝트 파일에서 심벌 테이블과 중복된 비트 삭제
stty - 터미날 설정
su - super-user, 임시적으로 새 ID로 바꿈
symorder - 심벌 순서 바꿈
tabs - 터미날 tab 크기 지정
tail - 파일의 끝 부분 보기
talk - 다른 사용자와 이야기하기
tar - 여러 파일 묶기 또는 묶긴 파일 풀기
tbl - nroff 또는 troff의 도표 작성 도구
tee - 표준 출력으로 방향 전환
telnet - TELNET 프로토콜을 이용한 원격 리모트 호스트 접속
test - 주워진 환경이 참인지, 거짓인지를 돌려줌
tftp - 간단한 ftp.
time - 명령 실행 시간 계산
touch - 파일 날짜 관련 부분을 바꿈
troff - 문서 양식화 도구
true, false - 쉘 스크립트에서 사용되는 참/거짓을 리턴하는 명령
tsort - topological sort
tty - 현재 터미날 이름 보기
ue - MICROemacs
ul - 밑줄 속성 문자 표현
unifdef - cpp 입력 줄에서 ifdef 부분 바꾸거나 지움
uniq - 중복되는 빈줄 지우기
units - 프로그램 변환도구
uptime - 시스템 부팅 기간 보기
users - 현재 접속 사용자 보기
uucp, uulog, uuname - 시스템 간의 복사
uuencode, uudecode - 이진 파일을 아스키파일로 인코딩, 반대로 디코딩
uusend - 리모트 호스트에 파일 보내기
uux - 리모트 시스템 명령 실행
vacation - 자동으로 편지 답장하기
vgrind - grind nice program listings
vi, view, vedit - ex 바탕의 편집기
vtroff - 문서 양식화 도구
w - 현재 누가 접속해 있으며, 무엇을 하고있는지
wait - 프로세스가 마치기를 기다림
wall - 모든 사용자에게 알림
wc - 단어, 줄, 바이트 계산
what - 파일에서 SCCS 버전 정보 알아냄
whatis - 명령의 간단한 설명 보여줌
whereis - 찾는 명령의 실행파일, 소스, 맨페이지가 어디 있는지 경로를 보여

which - 명령만 찾음.
who - 시스템에 접속되어 있는 사람만 보여줌
whoami - 현재 사용하고 있는 자신이 누군지 보여줌
write - 다른 사용자의 화면에 특정 내용을 알림
xargs - 명령행 인자 처리 명령
xstr - extract strings from C programs to implement shared strings
yacc - yet another compiler-compiler: 파싱(형태소분석) 프로그램 생성기
yes - 항상 yes만 응답하는 명령
zcat - 압축 파일 내용보기

2007-01-09

Unable to compile class for JSP 에러

error: Unable to compile class for JSP 파일위치\파일.java:1: The source file encoding may be different with this platform encoding. Please use -encoding option to adjust file encoding, or apply native2ascii utility to make source file ASCII encoding.

위에 에러가 난다면 클래스 속에 한글이 포함되어 있는지 살펴 보아야 한다.
만약 클래스 속에 한글이 있다면 컴파일시 옵션에 -encoding 8859_1을 추가 하여 보라.

2006-12-11

인생


인생[人生] :
1 사람이 세상을 살아가는 일.
2 어떤사람과 그의 삶 모두를 낮잡아 이르는 말.
3 사람이 살아가는 기간.

주노의 인생:
1 가느다란 생명줄로 찔기게 버텨나가는것.

2006-12-06

css div,pre,p,span 자동 개행

pre, p, div, span {

white-space: pre-wrap; /* css-3 */

white-space: -moz-pre-wrap; /* Mozilla, since 1999 */

white-space: -pre-wrap; /* Opera 4-6 */

white-space: -o-pre-wrap; /* Opera 7 */

word-wrap: break-word; /* Internet Explorer 5.5+ */

}

2006-12-05

css 모서리 라운딩

대류커뮤니티 CSS로 둥근 모서리 구현하기

2006-12-01

C 언어셋 및 코드 변환

#include "stdafx.h"
#include <Windows.h>
#include <stdlib.h> //malloc
#include <math.h>

///ANSI 문자열에서 유니코드로 변환
LPWSTR  AnsiToUnicode(LPSTR szAnsi)
{
 LPWSTR szUniStr;
 
 // 유니코드로 변환 전 return 되는 길이얻기
 int nLen = MultiByteToWideChar(CP_ACP, 0, szAnsi, -1, NULL, NULL);

 nLen = nLen * sizeof(WCHAR);
 
 szUniStr = (LPWSTR)malloc(nLen+1);// 메모리를 할당한다.
 memset(szUniStr,0,nLen+1);
 
 // 이제 변환을 수행한다.
 MultiByteToWideChar(CP_ACP, 0, szAnsi, -1, szUniStr, nLen);
   
 return szUniStr;
}

//유니코드에서 ANSI 문자열로 변환
LPSTR UnicodeToAnsi(LPWSTR szUniStr)
{
 LPSTR  szAnsi;
 int nLen = WideCharToMultiByte(CP_ACP, 0, szUniStr, -1, NULL, 0, NULL, NULL);

 szAnsi = (LPSTR) malloc(nLen+1);
 memset(szAnsi,0,nLen+1);

 WideCharToMultiByte(CP_ACP, 0, szUniStr, -1, szAnsi, nLen, NULL, NULL);

 return szAnsi;
}

//유니코드에서 UTF8 문자열로 변환
LPWSTR UnicodeToUTF8(LPWSTR szUniStr)
{
 int idx=0;
 WCHAR uc;
 LPWSTR  szUtf8;

 int nLen = sizeof(WCHAR) * wcslen(szUniStr);

 nLen = nLen*3+sizeof(WCHAR); //최대 값
 szUtf8 = (LPWSTR) malloc(nLen);

 memset(szUtf8,0,nLen);
 LPSTR pszUTF8 = (LPSTR)szUtf8;

 for(int i=0;szUniStr[i];i++)
 {
  uc = szUniStr[i];
  if (uc <= 0x7f)
  {
   pszUTF8[idx++] = (char) uc;
  }
  else if (uc <= 0x7ff)
  {
   pszUTF8[idx++] = (char) 0xc0 + uc / (wchar_t) pow(2, 6);
   pszUTF8[idx++] = (char) 0x80 + uc % (wchar_t) pow(2, 6);
  }
  else if (uc <= 0xffff)
  {
   pszUTF8[idx++] = (char) 0xe0 + uc / (wchar_t) pow(2, 12);
   pszUTF8[idx++] = (char) 0x80 + uc / (wchar_t) pow(2, 6) % (wchar_t) pow(2, 6);
   pszUTF8[idx++] = (char) 0x80 + uc % (wchar_t) pow(2, 6);
  }

 }

 return szUtf8;

/**  //Win95에서만 안되는 코드
    //http://support.microsoft.com/default.aspx?scid=kb%3Bko%3B601368
 LPWSTR  szUtf8;
 int nLen = WideCharToMultiByte(CP_UTF8, 0, szUniStr, -1, NULL, 0, NULL, NULL);
 szUtf8 = (LPWSTR) malloc(nLen+1);
 memset(szUtf8,0,nLen+1);
 WideCharToMultiByte(CP_UTF8, 0, szUniStr, -1, (LPSTR)szUtf8, nLen, NULL, NULL);

 return szUtf8;
**/
}

//유니코드에서 UTF8 문자열로 변환
LPWSTR UTF8ToUnicode(LPWSTR szUtf8)
{
 LPWSTR  szUniStr;
 int nLen = sizeof(WCHAR) * wcslen(szUtf8);

 nLen = nLen+sizeof(WCHAR);
 szUniStr = (LPWSTR) malloc(nLen);
 memset(szUniStr,0,nLen);

 LPSTR src = (LPSTR)szUtf8;

 int p = 0;
    int q = 0;
    WCHAR d;
    while( src[p] )
 {
        if( (src[p]&0xE0)==0xE0 )
  {
   d = ((src[p]&0x0f)<<12) | ((src[p+1]&0x3F)<<6) | (src[p+2]&0x3F);
   p+=3;
        }
  else if( (src[p]&0xC0)==0xC0 )
  {
   d = ((src[p]&0x1F)<<6) | (src[p+1]&0x3F);
   p+=2;
        }
  else
  {
   d = src[p]&0x7F;
   p++;
        }
        szUniStr[q] = d;
        q++;
    }
    szUniStr[q] = NULL;
    return szUniStr;
}

int main()
{
 LPSTR s="한글";
 LPWSTR szUniStr   = AnsiToUnicode(s);
 LPWSTR szUtf8     = UnicodeToUTF8(szUniStr);
 LPWSTR szUniStr2  = UTF8ToUnicode(szUtf8);
 LPSTR szAnsi     = UnicodeToAnsi(szUniStr);

 free(szUniStr);
 free(szUtf8);
 free(szUniStr2);
 free(szAnsi);
 return 0;
}