1. ps ( process )

- 현재 진행중인 프로세스의 정보를 출력합니다.


2. pstree ( process tree)

- ps 에 의해 출력되는 프로세스 정보를 트리 형태로 나타냅니다.


3. top

- cpu와 메모리를 사용하는 작업들에 대한 시스템 정보를 출력합니다.


4. arch (architecture)

- 현재 사용하고 있는 cpu의 모델을 출력합니다.


5. cal (calendar)

- 현재의 달을 출력합니다. (ex : 원하는 월 ,연도)

* -j :율리우스달력


6. clock

- CMOS 설정 시간의 출력, 변경을 합니다.


7. date

- 현재 시간과 날짜를 출력합니다.


8. df (disk free)

- 하드의 전체 용량, 남은 용량을 알기위해 사용합니다.

* -h(human) 바이트 단위 출력

9. du (disk usage)

- 각각의 디렉토리, 파일들의 디스크 용량을 출력합니다.


10. free (free memory)

- 현재 사용중인 시스템 메모리 상태를 출력합니다.

* -m(Megabyte) 메가 바이트 단위 출력

* -k (Kilobyte) 킬로 바이트 단위 출력


11. hostname

- 자신의 컴퓨터에 부여된 이름을 출력합니다.


12. lsdev (list devices)

- 현재 시스템에 연결되어 있는 하드웨어에 관한 입출력 정보, IRQ 값 등을 출력합니다.


13. quota

- 각각의 사용자들이 사용할 수 있는 디스크의 용량을 나타냅니다.


14. rdev (root device)

- 내부에 ramsize, swapdev, vidmode, rootflag의 프로그램이 구성되어 있습니다.


15. uname (unix name)

- 사용중인 운영체제에 대한 정보를 출력합니다.

* - a(all) 현재 사용중인 운영체제, 커널의 컴파일 정보 등을 출력


16. su

- 다른 사용자로 login합니다.


17. shutdown

- 시스템을 종료 합니다.

* - t n 옵션 t 뒤에 n 초 후에 경고 메시지와 kill 신호 보냄

* - h (halt) 완전히 닫음

* - r (reboot) 종료후 재부팅

* - f (fast) 빠른 리부팅(파일 시스템 검사 생략 )

* - c (cancel) 예약 되어 있는 종료 취소

* - k (kidding) 정상상태에서 종료 시간시 프로그램 정지


18. reboot

- 재부팅을 합니다.

* - q 현재의 실행프로그램을 종료하지 않고 재부팅


19. kill

- 프로세스 종료, 현재 실행중인 프로세스를 강제 종료시 사용합니다.

* -2 : 실행 중인 프로세스에게 인터럽트 키 신호 보냄

* -9 : 가장 확실하게 실행 중인 프로세스를 종료


20. tty

- 현재 사용하고 있는 단말기 장치의 경로명, 파일명을 알려줍니다.


21. whereis

- 실제 프로그램이 어떤 디렉토리에 존재하는지 모든 경로명을 보여줍니다.


22. fsck (file system check)

- 파일 시스템의 상태 검사하고 잘못된 것을 수정 합니다.

* - a : 검사도중 발견된 에러를 자동 복구

* - r : 검사도중 에러가 발견되면 복구 여부 확인

* - s : 순차적인 방법으로 검색

* - V : 검색 중 각종 정보 보여줌

* - N : 실제로 검사 작업 미 실시

═════════════════════════════

텔넷에서 FTP 리눅스 명령어 정리

┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉

→ ftp> quit or bye

:ftp를 종료시킨다

→ ftp> get

:다른 사이트에 있는 파일을 현재 로그인된 ftp 사이트로 복사

예) ftp> get 다른사이트의파일명 현재사이트로복사될파일명

ps) ftp>reget remote_file [local_file] local 디렉토리에 같은 이름의 파일이 있으면 부분적으로 전송된 파일로 간주되어 이어받기


→ ftp>put

: 현재 로그인된 ftp 사이트의 파일을 다른 ftp사이트로 복사할 때


→ ftp>cd

: 상대방 사이트의 디렉토리를 이동시킬 때

예) ftp>cd 상대방사이트의 절대경로명이나 상대의 패스


→ ftp>lcd

: ftp하에서 현재로그인한 디렉토리를 이동시킬 때 사용

예)lcd 현재사이트의 절대경로명이나 상대경로명


→ ftp>type

: 파일을 전송하기전 전송하는 데이터의 단위를 선택하는 것으로 binary와 문자(ASCII) 두 가지 방법으로 나뉜다.

Binary일 경우는 전송단위가   2진법으로 실행파일이나 압축파일의 경우 사용되고 보통문자일경우는  ASCII로 전송한다

예) ftp>type binary , ftp>type ascii


→ ftp>mget

: 상대방 ftp 사이트에 있는 특정 디렉토리에서 여러 개의 파일을 동시에  가져오고자 할 때 사용하는 것으로 파일명을 하나하나 입력할 필요가 없을  때 사용. 파일의 전송중 user에게 전송여부 확인메세지가 나타나는데 y 또는   n(no)를 응답

예) ftp>mget parameter

parametet -> 메타문자(혹은 wildcard문자)를 사용한 파일명으로 이들 문자는 특정 문자열이 공통으로 들어갈 부분만 명시하고 나머지는 아스티링(astrik)를 처리함으로써 같은 문자열을 찾아내기 위한 방법으로 사용한다.

즉 파일명이  cest, test1, est, testtest, esttt는 *est*로 표시될수 있다.


→ ftp>mput

: mget의 반대로 현재의 로그인된 사이트에서 다른 사이트로 파일을 전송하고자  할 때 메타문자를 이용하여 여러 개의 파일을 전송할 수있다. 파일의 전송중  사용자에게 전송여부를 확인하는 메시지가 나타나는데 전송여부에 따라 y 또는 n으로 응답

예) ftp>mput parameter

parameter -> 메타문자(wildcard문자)를 사용한 파일명


→ ftp>prompt

: 앞의 mget나 mput는 사용자로하여금 전송여부를 시스템이 확인하는데 이때  대량의 파일을 주고받을 때 사용자는 일일이 이를 y나 n로 응답하는 불편함이  있다. 응답을 주지않고 무조건 실행하려할 때 쓰이는 명령어

예) ftp>prompt parameter

parameter -> y일 경우는 응답에 따라 실행하라는 의미, n 일 경우 무조건 실행하라는 뜻. 본래 prompt는 y 값을 가진다.

–pr 이라고 해도 됨


→ ftp>ls

: 현재 디렉토리의 파일 확인

예)ftp>ls parameter

parameter 에 –l 을 주면 각 파일에 대해 파일명과 함께 부수적인 정보를 나열 parameter 에 –al을 주면 파일인지 디렉토리 인지의 여부 및 파일의 제반특성,  크기등을 보여준다


→ ftp>pwd

: 현재 위치를 알아보는 명령어


→ ftp>mkdir

: 특정 디렉토리를 만드는 명령어, 예) mkdir 디렉토리명


→ ftp>rmdir

: 특정 디렉토리를 제거하는 명령어, 예)rmdir 디렉토리명


→ ftp>verbose -> ver 라고도 함

: ftp명령어 수행중 전송중에 발생하는 정보를 화면에 보여줄 것인지에 대한 여부를 결정하는 명령어(시간과 파일사이즈)

예) ftp>verbose parameter

parameter -> on 또는 off 로 on일 경우에 화면에 보여주고 off일 경우는 보여주지 않는다.


→ ftp> delete

: 파일을 지우는 명령어, ftp>delete 파일명


→ ftp>user

: 현재 ftp 사이트에서 다른 사용자명으로 전환하고자 할 때 사용. 동일 사이트의 다른 계정으로 옮기고자 할 때 사용

예) ftp>user parameter

parameter -> 현재 사이트의 다른 계정의 사용자명


→ ftp>open

: 일반사용자가 ftp 명령어를 입력하고 return키를 누른다음 ftp>라는  프롬프트에서도 연결시키는 경우가 있을수 있는데 이때 open 이라는  명령어를 사용

예) ftp>open parameter

parameter -> 호스트명, 호스트명.도메인명, IP Address


→ ftp> close

: 현재사이트 연결끊고 다른사이트로 연결


→ ftp>rename

: ftp로 특정 사이트를 연결시킨 후, 사용자가 현재사이트에있는 파일명을  바꿀 때 사용

예)rename 현재파일명 바꾼후의파일명


++++정리++++

open(주소 또는 도메인) - ftp 서버에 연결

close -------------- 해당ftp 접속종료

bye --------------- ftp 프로그램 종료

ls ---------------- list, 목록보기

cd(디렉토리명) ------ 디렉토리 바꾸기

ascii -------------- 텍스트 파일 전송모드

bin --------------- 이진파일 전송 모드

get 파일명 -------- 하나의 파일 내려받기

mget 파일명 ------- 여러 개의 파일 내려받기, wildcard 문자 사용가능

put 파일명 --------- 하나의 파일 올리기

mput 파일명 ------- 여러 개의 파일 올리기, wildcard 문자 사용가능

pwd -------------- 현재 경로보기

hash ------------ 파일전송과정 보여주기(버터단위 ‘#” 표시

? --------------- 도움말

rstatus ----------- remote 시스템의 상황 표시

status ----------- 현재 연결된 ftp 세션 가지 모드에 대한 설정을 보여준다

dir ------------remote 시스템의 디렉토리 내용을 디스플레이



1. FTP 서버에 접속하기


●방법 1 : ftp (도메인 네임) 혹은 (IP)를 입력한다.

예) ftp ftp1.netscape.com


●방법 2 : ftp 후에 프롬프트가 “ftp>”로 뜨면 “open (도메인 네임) 혹은 (IP주소)”를 입력한다.

예) open ftp1.netscape.com


●프롬프트가 “ftp>”인 상태에서 여러 가지 명령을 입력할 수 있다.


2. 디렉토리(Directory) 보기와 바꾸기

FTP 서버에서 자료는 디렉토리 구조에 따라서 정리되어 있다. 따라서 사용자의 컴퓨터에서처럼 디렉토리의 내용을 보거나 원하는 디렉토리로 바꾸는 등의 작업이 필요하다. 이 작업들은 “ftp>” 프롬프트 상태에서 “ls”명령어로 확인하고, ”cd” 명령어를 사용하여 바꿀 수 있다.


●ls : list라는 의미로 FTP서버의 디렉토리 구조를 보여 준다. 예) ls -al (list all)

●cd (디렉토리) : Change Directory의 약자로 원하는 디렉토리로 이동한다. 예) cd hnc


3. 전송 모드

FTP에는 아스키(ASCII)와 이진(Binary)라는 두 가지 전송 모드가 있다.


●ASCII : 일반적인 텍스트 문서 전송

●BINARY : 그림이나 실행파일 등 모든 형식 파일 지원

●모드 전환

: ascii : ASCII 전송 모드로 바뀜

: bin : 이진 모드로 바뀜. 일반적으로 이진 모드를 사용하는 것이 편리하다.


4. 파일 받기

파일 받기 명령은 get과 mget이 있다.


●get 파일명 예) get test.doc

: 파일이름으로 지정된 파일을 전송 받으므로 정확한 이름(Full Name)을 저정한다.


●mget 파일명 예) mget *.doc

: Multiple get의 뜻을 가지고 있으며 여러 개의 파일을 동시에 전송받을 때 사용한다.

  명령어. 파일이름 부분에서는 ‘*’, ’?’과 같은 만능문자(Wild Card)도 사용할 수 있다.


5. 파일 보내기

파일을 보내는 경우에는 받는 경우와 달리 계정이 필요한 경우가 많다. 일반적으로   anonymous 계정은 특정한 디렉토리를 제외하고는 쓸 수가 없으며 이는 바이러스 등의 침입을 막기위한 것이다. 파일을 전송할 때에는 put과 mput명령어를 사용한다.


●put 파일명 예) put test.doc

: 파일이름으로 지정된 파일을 전송하므로 정확한 이름(Full Name)을 입력한다.


●mput 파일명 예) mput *.doc

: Multipe put의 뜻을 가지고 있으며 여러 개의 파일을 동시에 전송할 때 사용하는 명령어이다.

   Mget처럼 파일이름 부분에서 ‘*’,’?’ 과 같은 만능문자 사용도 가능하다


6.도스 FTP명령어

ftp cim ⇒ k8317610 ⇒ 4751 ⇒ ftp> ⇒ ls -l ⇒ bin, asc ⇒ get 가져오기 ⇒ hash

(파일전송 보여주기) ⇒ !dir a:( a드라이브 보기) ⇒ put a:money.html

════════════════════════════

그냥 쓸만한 리눅스 명령어들

┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉


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 - 압축 파일 내용보기

════════════════════════════

리눅스 기본 명령어

┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉

adduser 또는 useradd---사용자 추가


# adduser thkim

thkim란 아이디를 만든다.


# adduser -p world -g class -s '/bin/bash' -d '/home/thkim' thkim

비밀번호가 world이고 그룹은 class 쉘은 bash 홈디렉토리는 /home/thkim 인 thkim란 아이디를 만든다.


userdel ---사용자 삭제


# userdel thkim

thkim란 아이디를 삭제한다.


# userdel -r thkim

thkim란 사용자의 홈 디렉토리까지 삭제한다.


passwd ---비밀번호 지정


# passwd thkim

thkim란 아이디에 패스워드를 부여한다.


ls ---파일과 디레토리에 대한 정보를 출력한다.


# ls -al

-l: 파일의 모든 정보 출력

-c: 최근 변경한 시간 순서데로 출력

-d: 디렉토리 명만 출력

-F: 파일의 특성을 출력( /디렉토리 *실행화일)

-a: dot(.)으로 시작하는 파일의 이름을 포함한 모든 내용을 출력

현재 디렉토리의 모든 파일을 상세히 본다.


cd ---디렉토리 사이를 이동한다.[현재 디렉토리 변경]


# cd -

방금 전의 디렉토리로 이동한다


# cd ~

홈 디렉토리로 이동한다


# cd ..

한 단계 위의 디렉토리로 이동한다


# cd /

최상위 디렉토리로 이동한다


# pushd .

현재 디렉토리를 기억한다


# popd

기억된 디렉토리로 이동한다[한 번만 가능]


cp ---파일을 다른 디렉토리로 복사하거나 다른 이름으로 복사한다.


# cp thkim /root

thkim란 파일을 /root 로 복사한다.


mv ---파일을 다른 디렉토리로 이동하거나 파일명을 변경한다.


# mv thkim hoho

thkim란 파일을 hoho로 바꾼다.


# mv thkim /work

thkim란 파일을 /work/로 이동 시킨다.


rm ---파일을 삭제한다.


# rm /root

/root 디렉토리를 지운다 :)


mkdir ---디렉토리를 생성한다.


# mkdir thkim

thkim란 디렉토리를 만든다.


rmdir ---디렉토리를 삭제한다.


# rmdir thkim

thkim란 디렉토리를 지운다


# rm -r tmp

tmp 디렉토리와 모든 내용을 지운다.


man ---지정한 명령어에 대한 설명 또는 도움말을 출력한다.


# man ls

ls에 대한 설명을 본다.


info ---man명령어 보다 자세히 나와 있음


# info ls

ls에 대한 설명을 본다.


more ---지정한 파일의 내용을 한 화면에 출력하면서 잠시 멈춘다.


# more thkim

thkim 파일을 본다

종료는 q


cat ---지정한 파일의 내용을 출력한다.


# cat thkim|more

thkim 파일을 한 화면씩 본다.


grep ---특정 파일내의 지정한 패터[문자열]과 일치하는 행을 출력한다.


# cat thkim|grep thkim

thkim란 파일에 thkim라는 문자열을 찾는다.


chmod ---파일의 접근권한[도스에서의 속성]을 변경한다.


# chmod go-rwx /root or chmod 700 /root

/root 디렉토리에 그룹과 기타 사용자의 읽기 쓰기 실행 권한을 없앤다.

u: 파일 소유자, g: 그룹, o: 기타 사용자, a: 모든 사용자

+: 사용허가부여, -: 사용허가박탈, =: 허가 취소

r: 읽기 허가, w:쓰기 허가, x: 실행 허가

r = 4, w = 2, x = 1


chown ---파일의 소유자를 변경한다.


# chown thkim file

file의 소유권을 thkim로 바꾼다.


df ---사용가능한 디스크의 용량을 출력한다.


# df

사용 가능한 디스크 용량을 출력한다.


du ---지정해준 디렉토리내의 파일이 차지하는 용량을 알아내는 명령어


# du -b /home

/home 디렉토리 밑의 용량을 바이트로 표시한다.


# du -sh /usr

/usr 디렉토리 밑의 용량을 메가바이트 단위로 보여준다.


cfdisk --- 디스크 정보를 출력한다.


# cfdisk


hdparm ---하드 디스크 인터페이스


# hdparm -c3 -d1 /dev/hda

hda드라이브 32bit전송 dma모드를 On 시킨다.


find ---주어진 파일명과 동일한 파일을 찾고, 그 경로를 출력한다.


# find / -name thkim -print

최상위 루트 디렉토리부터 검색하여 검색된 파일을 한 행에 하나씩 표준 출력


# find . -name thkim -print

현제의 작업 디렉토리에서 검색


# find / -size +1000 -print

최상위 루트에서 크기가 1000블록 이상인 파일 검색


# find . -size -1000 -print

현 디렉토리에서 크기가 1000블록 이하인 파일 검색


# find . -mtime +10 -print

10일 이전에 수정된 파일 검색


# find . -mtime -10 exec rm {} \:

10일 이내에 수정한 파일을 검색하여 모두 지운다


# find / -cmin 5 -print

5분전에 마지막으로 수정된 파일을 찾을 수 있다.


# find /home -empty -print

/home 디렉토리에 용량이 0인 파일과 디렉토리를 찾는다.


# find / -perm -4000 -print

퍼미션이 4000 이상인 파일을 모두 출력한다.


finger ---호스트에 사용자가 로긴했는지 검사


# finger thkim@thkim.com

thkim.com이란 호스트에 thkim란 사용자가 접속 했는지 검사하구 있다.


chfn --- finger 정보를 수정한다.


# chfn thkim

thkim의 finger정보를 수정한다.


file --- 파일에 대한 간략한 정보를 본다.


# file ls

ls파일에 대한 정보를 출력한다.


jops ---실행중인 프로그램을 확인한다.


# jops

실행중인 프로그램을 확인한다.


env ---현재 사용하고 있는 terminal 정보를 볼 수 있는 명령이다.


# env

현재 사용하고 있는 terminal 정보를 볼 수 있는 명령이다.


history ---최근에 사용했던 명령어를 기억하는 명령


# set history=100 set savehist=100

최근에 사용했던 100개의 명령어를 기억하기


whereis ---binary, source, manual page files의 위치를 찾을 수 있는 명령


# whereis ls

ls 파일의 위치를 찾아 그 경로를 표시한다.


which ---각 사용자가 정의한 ~/.cshrc 화일에서 정의 한 내용을 이용하여 사용자에게 명령의 위치를 알려줌


# which mail

which 명령이 활용하는 내용은 다음과 같다.

1 ~/.cshrc 화일의 경로를 따라 명령이 있는곳을 검색

2 ~/.cshrc 화일에서 정의한 alias의 검색


kill --- 실행중인 프로그램을 종료시킨다.


# kill -9 555

pid가 555인 프로세스를 종료 시킨다


mount ---기억장치 디렉토리에 붙여쓰기


# mount -t iso9660 /dev/cdrom/ /mnt/cdrom

시디롬을 /mnt/cdrom이란 디렉토리에 마운트 시킨다


tar ---파일들 묶기/풀기


# tar -zcvf thkim /etc

/etc 디렉토리를 thkim란 파일로 압축시킨다.


# tar -zxvf thkim /etc

압축된 thkim란 파일을 /etc디렉토리에 압축을 푼다.


# tar -zcvf thkimall thkim thkim2 thkim3

thkim thkim2 thkim3 파일을 thkimall 파일로 압축한다.


clear ---화면지우기


# clear

현재 화면을 깨끗이 한다


touch ---내용이 없는 빈 파일을 생성, 이미 생성된 파일의 수정 시간 갱신


# touch [option] [시간] [파일명]


who or w---현재 사용자 확인


# who

현재 리눅스를 이용하는 사용자를 확인한다.


ps ---프로세스 상태 보여주기


# ps ax|grep netscape

현재 netscape가 실행 되었는지 확인한다.


pwd ---현제 디렉토리 표시


# pwd

현재 디렉토리가 출력된다.


cal ---달력을 표시한다


# cal 9 1999

1999년 9월 달력을 출력한다.


date ---현재 시간과 날짜를 화면에 표시한다.


# date

현재 시간과 날짜를 화면에 표시한다.


alias ---자주 쓰이는 명령어를 쓰기 편하게 바꾸는 명령


# alias dir='ls -al'

ls -al명령어를 dir로 실행 가능하게 만든다.


# alias 복사=cp

자 이제 cp명령 대신 '복사'라는 명령을 내려도 된다.


whoami ---현재 사용자를 표시한다.


# whoami

유사 명령어 who am i


shutdown ---리눅스 시스템을 종료시 쓰는 명령어


# shutdown -h now

시스템을 종료 시킨다.


# shutdown -r now

시스템을 리부팅 시킨다.


# shutdown -r -t 12:00

시스템을 오전 12시에 리부팅 시킨다.


halt ---리눅스 시스템을 종료시 쓰는 명령어


# halt

시스템을 종료 시킨다.


reboot ---리눅스 시스템을 리부팅시 쓰는 명령어


# reboot or [ Ctrl + Alt + Del ]

시스템을 리부팅 시킨다.

════════════════════════════════════

비슷한 기능을 하는 linux / dos  명령어

┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉

list 보기                                ls          /          dir

디렉토리 생성                       mkdir        /          mkdir , md

디렉토리 삭제                       rmdir        /          rmdir , rd

디렉토리 트리                       ls -R         /          tree

파일 삭제                              rm          /          del , erase

파일 복사                              cp          /          copy

파일 이동                              mv         /          move

이름 변경                              mv         /          rename

change directory                   cd          /          cd

현재 디렉토리 표시                 pwd          /          cd

화면 정리                              clear       /          cls

명령어 해석기                    sh, csh, bash /          command.com

파일 내용 표시                      cat           /          type

도움말, 메뉴얼                      man          /          help

쉘 종료, 도스창 종료               exit           /          exit

시간 표시                             date         /          time

그대로 출력                          echo         /          echo

환경변수 표시                     set,env        /          set

경로 보기                        echo $PATH    /          path

버전 정보                         uname -a      /           ver


예전에 도스를 배울 때

내부 명령, 외부 명령 나눠서 배웠습니다.

제 기억에 위에 나열한 것은 내부 명령이 될 것이고

아래에 나열하는 명령은 외부 명령이 될 겁니다.

대부분 linux 에 있는 이름과 동일하거나 비슷하고 기능도 같거나 유사합니다.


< network 관련 프로그램 >

사용자 정보 출력                                           finger / finger

ping                                                      ping / ping

라우팅 테이블                                          route-n / route print

네임서버 쿼리 툴                                      nslookup / nslookup

telnet                                                   telnet / telnet

ftp                                                        ftp / ftp

네트워크 경로 trace                                traceroute / tracert


< 파일, 디렉토리, 문자열 관련 >

파일 안의 문자열 찾기                                    find / find

파일 안의 문자열 찾기                                   grep / findstr

긴 파일 한 화면씩 출력                                 more / more

2개 파일 내용 비교                                      diff / fc, comp

라인 에디터                                              ed / edlin

문자열, 라인별 정렬                                     sort /sort

하위 디렉토리까지 복사                                cp-R / xcopy

file 속성 표시                                        lsattr / attrib

현재 경로를 저장 후 이동                           pushd / pushd

pushd로 저장한 경로로 이동                         popd / pupd

화일 감추기                                 mv file .file / ATTRIB +h or -h

압축                                            tar, zip / pkzip

< 시스템 관련 >

프로세스 정보                                    ps, top / taskmgr

컴퓨터 호스트명                                hostname / hostname

scheduling                                       at, cron / at

프로세스 종료                                  kill, killall / tskill

시스템 종료                         shutdown, halt, init 0 / shutdown

file system 관련                                 mke2fs / format

ip표시,interface표시, 설정                        ifconfig / ipconfig

fdisk                                              fdisk / fdisk

디스크 검사                                        fsck /chkdsk

free memory 보기                              free, top / mem

scandisk                                  fsck, debugfs / scandisk


< 기타 >

파일 인쇄                                            lpr / print

프린트 큐 보기                                       lpq / print

윈도우즈 시작(windows 3.1),        X-window 시작 startx / win


[출처] http://adamtop.tistory.com/entry/


conf/web.xml 파일에 다음과 같이 추가


<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app>

...

...

 

  <!-- error page setup -->
 <error-page>
  <error-code>404</error-code>
  <location>/error/code404.jsp</location>
 </error-page>


 <error-page>
  <error-code>500</error-code>
  <location>/error/code500.jsp</location>
 </error-page>

...

...

</web-app>

 

 

설정하고 나서 code404.jsp , code500.jsp 페이지를 해당디렉토리에 만든다.

JSP 스크립트립 부분은 제외하고 나머진 알아서 디자인 하면된다.

 

code404.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%

response.setStatus(HttpServletResponse.SC_OK);

%>
<html>
<head>
<title>404 에러 페이지</title>
</head>
<body>
요청하신 페이지는 존재하지 않습니다.
</body>
</html>

 

code500.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%

response.setStatus(HttpServletResponse.SC_OK);

%>    
<html>
<head>
<title>500 에러 페이지</title>
</head>
<body>
서비스 과정에서 에러가 발생했습니다.<br>

빠른 시일안에 문제를 해결하겠습니다.
</body>
</html>

 

 

에러 발생 후 처리 예제

예) 로그인시 해당 아이디를 가진 사용자의 이름을 파싱하지 못하는 에러 발생.

 

infoForm.html


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form method="post" action="viewInfo.jsp">
 이 름 : <input type="text" name="name" size="20"> <br>
 나 이 : <input type="text" name="age" value="20"> <br>
<hr>
* P.S : 나이는 숫자만 입력해야 합니다. 
<hr>
<input type="submit" value="전송">
</form>

</body>
</html>

 

viewInfo.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page errorPage="error02.jsp" %>
<%! 
String s_name; 
int age;

%>   
<%
//post 전송 방식일 경우 파라메터에 대한 한글 처리
request.setCharacterEncoding("UTF-8");

s_name = request.getParameter("name");
age = Integer.parseInt(request.getParameter("age"));

%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3> 회원 정보 출력 </h3><hr>
당신의 이름은 <%= s_name %>입니다.<br>
당신의 나이는 <%= age %>살입니다.<br>
</body>
</html>

 

error02.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page isErrorPage="true"%>   
<% 
response.setStatus(HttpServletResponse.SC_OK);
%>     
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table align="center">
<tr bgcolor="#aaaaaa">
다음과 같은 에러가 발생하였습니다
</tr>
<tr>
<%= exception.getMessage() %>
</tr>
<table>
</body>
</html>

 [출처] http://www.cyworld.com/everysons/2352294

escape(), encodeURI(), encodeURIComponent() 차이

비슷하면서도 다른 함수들 입니다.
세가지 함수 모두 ASCII문자로 바꿔주는데, 그럼 각각의 차이점을 알아 보겠습니다.

1. escape() : unescape()

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 1234567890 @*-_+./

위에서 열거된 문자가 아니면 모두 변환을 합니다. 1바이트문자는 %XX 형태로 2바이트 문자는 %uXXXX 식으로 변환합니다.

2. encodeURI() : decodeURI()
escape()와 같이 변환을 하지만, 인터넷 주소에서 쓰는 특수 문자 : ; / = ? & 는 변환을 하지 않습니다.

3. encodeURIComponent() : decodeURIComponent()
인터넷 주소에서 쓰는 특수 문자 : ; / = ? & 까지 변환을 합니다. 인터넷 주소를 하나의 변수에 넣을때 쓸 수 있습니다.

★ 덧붙임 : encodeURIComponent() 는 UTF-8 로 인코딩 하는 것과 같음

예제)

1<script type="text/javascript">
2var url = "http://yesyo.com/?retrun=고고";
3document.write('<p><b>URL :</b> ' + url + '</p>');
4document.write('<p><b>escape() :</b> ' + escape(url) + '</p>');
5document.write('<p><b>encodeURI() :</b> ' + encodeURI(url) + '</p>');
6document.write('<p><b>encodeURIComponent() :</b> ' + encodeURIComponent(url) + '</p>');
7</script>

결과 :
URL : http://yesyo.com/?retrun=고고
escape() : http%3A//yesyo.com/%3Fretrun%3D%uACE0%uACE0
encodeURI() : http://yesyo.com/?retrun=%EA%B3%A0%EA%B3%A0
encodeURIComponent() : http%3A%2F%2Fyesyo.com%2F%3Fretrun%3D%EA%B3%A0%EA%B3%A0


출처 : http://yesyo.com/mintbbs/bbs/board.php?bo_table=javascript&wr_id=163&sfl=&stx=&sst=wr_datetime&sod=desc&sop=and&page=1

추가 사항 1.

URL을 통째로 인코딩할 때는 encodeURI(),

URL의 파라메터만 인코딩할 때는 encodeURIComponent()를 쓰면 된다.

escape()/unescape()는 잊어버려라.

추가 사항 2.

자바의 java.net.URLEncoder는 어떨까?

결론은 이녀석은 자바스크립트의 encodeURI()와 동일하다.

주의할 점은 java.net.URLEncoder의 두개의 함수 중의 파라메터가 두개인 녀석(캐릭터 인코딩을 지정해주는)을, 두번째 파라메터를 "UTF-8"로 지정해서 사용해야 한다.

추가 사항 3.

적용 예) CharSet="UTF-8" 인 JSP에서 AJAX(XMLHttpRequest)로 한글 파라미터 전송시,

JSP : &param=encodeURI(encodeURIComponent("한글")); 와 같이 한글 파라미터 처리.

JAVA : URLDecoder.decode(request.getParameter("param"), "UTF-8"); 와 같이 디코딩 처리.

참고 :

http://d.hatena.ne.jp/kskyuny/20090304/1236145944

http://blog.naver.com/akrsg/140118242329

그리고 내 경험!

고생하시는 개발자 분들 도움 되시길~


[출처] http://mtkwn.blog.me/40112707174

오라클용 쿼리에  ROWNUM 를 MYSQL용으로 변환시에 아래 처럼 간단하게 적용하면 된다.

Oracle용 쿼리::::

SELECT A.* FROM ( 
  SELECT ROWNUM NUM,  *
     FROM WCM_CONTENT_SET cs 
  )A WHERE NUM >= ? AND NUM <= ?

 

MYSQL용 쿼리::::

SELECT A.* FROM ( 
  SELECT (@ROWNUM := @ROWNUM + 1) AS NUM, *
   FROM WCM_CONTENT_SET cs, 
(SELECT @ROWNUM := 0) rr 
  
)A WHERE NUM >= ? AND NUM <= ?

자료들이 알차게 많이 있다.
=============================================================


네이버 여성 개발자분 여러 소스들을 잘 해놓으셨다.

=============================================================



웹 개발자는 Markup, Javascript, CSS를 기초부터 다시 시작해야 합니다.
그간 알고 있던 불분명한 근거에 바탕을 둔 지식은 대부분이 쓰레기인것이 많습니다.
그럼, 이제 어떻게 해야 새롭게 정확하고 확실한 지식을 준비 할 수 있을 까요?

요즘엔 시중 서적도 품질이 많이 좋아 졌고, 외국의 유명인의 번역서적도 많아서
제법 공부하기가 쉬워졌습니다.
그러나, 현장에서 바로 써먹을 수 있는 지식과 기술, 그리고  매일매일 새로워 지는 
새로운  기술적 접근들을 책을 통해서만 얻는데는 한계가 있습니다.
그래서,  제가 Web Front-End를 적응해 나가면서 가장 도움이 되었던 방법이자,
지금도 매일매일 새롭게 터져나오는  영문 문서를 읽어야 하는 수고를 덜어 주시는
한국 고수들의 블로그를 소개합니다.

여기 소개되는 블로거들은 이미 유명하신 분들이라서, 많은 분들이 이미 잘 알고 계실거라 생각되지만,
이제 처음 발을 딛는 입문자들에게는 중요한 단서가 될거라 생각됩니다.


 

http://xguru.net 
http://twitter.com/xguru
KTH의 에반젤리스트로 활동 중 이신데 인터넷 분야의 다방면에 새로운 지식과 기술
특히, 모바일환경에서의 웹에 대한 활동이 많습니다.


http://firejune.com
http://twitter.com/firejune
디자인적인 요소를 많이 다루시다가 최근에는 거의 javascript와 관련된 블로그 활동이 많고,
외국의 유명 개발자의 새로운 활동을 소개하는것에 이분 만큼 빠른분은 없습니다.
처음 웹을 재발견 할 당시 이분의 블로그를 첫글 부터 일독 하면서 많이 배웠습니다.


http://ajaxian.kr
http://twitter.com/andrwj
"javascript가 만만한게 아니구나!"라고 느낄 무렵 이분의 블로그를 접했습니다.
제가 아는한 국내에서는 이분 만큼 Javascript의 구석구석까지 알고 계신분은 별로 없을것 같습니다.


http://hyeonseok.com
http://twitter.com/hyeonseok
Opera 재단에 근무 하셨던것 같고,
웹표준과 웹접근성에 대한 활동이 가장 많은것 같습니다.
최근 jQuery 강의용 PDF문서를 만드셨는데,
깔끔하고 군더더기 없는 문서를 보며 그 능력을 부러워하고 있습니다.


http://naradesign.net
http://twitter.com/naradesign
NHN에 근무 하시고 계시며, HTML 마크업 요소와 CSS를 이용해서 
얼마나 다양한 View를 만들 수 있는지 그리고 내가 어떻게 해야하는지를
이분의 블로그를 통해 알았습니다.



http://blog.outsider.ne.kr/
http://twitter.com/Outsideris
웹에서 최신 트렌드를 계략적인 소개를 하는 블로거들은 많습니다.
하지만, 기술자로서  필요한 접근을 명확하게  잘 소개하는 블로거는 많지 않습니다.
최근 제가 가장 좋아하는 블로거입니다.


http://blog.creation.net
http://twitter.com/channyun
다음에서 일하시고 계시며, mozilla firefox에 대한 일도 하시는 분인데,
기술적인 내용보다는 트렌드에 대한 이야기를 많이 하시는 편입니다.


http://frends.kr/
Front-End 개발자들이 모여 활동하는 단체입니다.
앞서 소개해 드린 블로거 중 많은 분들이 여기에서 활동하고 계십니다.
웬만한 해외 유명 사이트 보다 좋은 글들이 많습니다.


http://www.clearboth.org
앞서 소개한 frends.kr 과 비슷하게 여러명이 함께 활동하는 단체입니다.
frends.kr는 개발자,  javascript 같은 단어를 먼저 떠올리게 한다면,
clearboth.org는 퍼블리셔, css 같은 단어를 먼저 떠올리게 하는 느낌이 있습니다. 

여기에 소개하지 못한 더 많은 웹 고수 블로거 들이 계시겠지만,
저에게 영향을 주었거나, 주고 계신 분들을 소개해 봤습니다.

소개 당하신 블로거님들께는 사전에 양해를 구하지 않았으니,
제가 본 시각이 마음에 안들지도 모른다는 불안감이 들긴 합니다.

끝으로, 댓가없이 많은 정보와 지식을 제공해 주시는 블로거님들께 감사의 말씀 전하고 싶습니다.



oracle
((날짜 함수))



[ SYSDATE ]
sysdate
-현재 시스템의 날짜 데이터를 반환
select to_char(sysdate, 'yyyymmddhh24mmss') from dual

[ ADD_MONTHS ]
add_months(date, integer)
-지정한 날짜에서 해당 월에 일정한 정수 (혹은 마이너스 정수)값을 더한 날짜를 반환
select to_char(add_months(sysdate, -2), 'yyy-mm-dd') from dual

[ LAST_DAY ]
last_day(date)
-해당 월의 마지막 날짜를 반환한다


[ MONTHS_BETWEEN ]
months_between(date_1, date_2)
-date1과 date2의 사이의 기간을 월로 나타내 준다.


((변환 함수))


[ TO_CHAR ]
to_char(number, "format")
-number형 데이타 타입을 문자열로 변환


[ NVL ]
nv(ex1, ex2)
-ex1값이 null이 아니라면 ex1값의, null이라면 ex2 값을 반환

SimpleDateFormat sb = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
sql문에서 add_day = TO_DATE('"+sb.format(new Date())+"','MM-DD-YYYY HH24:MI:SS')
또는 add_day = sysdate


mssql
((날짜 함수))

[ GETDATE ]
-getdate는 현재 시간을 표시해 준다


[ DATEADD ]
-dateadd함수는 날자에 지정한 만큼을 더한다
dateadd(날짜형식, 더할 값, 날짜)


[ DATEDIFF ]
-datediff는 두날짜 사이의 날짜 형식에 지정된 부분을 돌려준다.
datediff(날짜형식, 시작날짜, 끝날짜)


[ DATENAME ]
-datename는 지정날짜의 날자형식의 이름을 돌려준다.
datename(날짜형식, 날짜)


[ DATEPART ]
-datepart는 날짜에서 지정한 날짜형식부분만 추출해줍니다.
datepart(날짜형식, 날짜) : 주일은 일요일부터 1로 시작해서 토요일날 7로 끝나게 된다


((변환 함수))

[ CONVERT ]
-문자열 형태로 변환(varchar,datetime,number)
convert(varchar, 컬럼명)


mysql
((날짜 함수))


[ NOW() ]
[ CURRENT_TIMESTAMP ]
[ CURRENT_TIMESTAMP() ]
[ LOCALTIME ]
[ LOCALTIME() ]
[ LOCALTIMESTAMP ]
[ LOCALTIMESTAMP() ]
-현재 시간을 리턴합니다


[ SYSDATE() ]
-'YYYY-MM-DD HH:MM:SS' 또는 'YYYYMMDDHHMMSS' 형식으로 현재 날짜나 시간을 리턴한다
- SYSDATE()는 실행 시점의 시간을 표시하므로 NOW()와 차이점이 있다


[ CURDATE() ]
[ CURRENT_DATE ]
[ CURRENT_DATE() ]
-'YYYY-MM-DD' 또는 'YYYYMMDD' 형식으로 현재 날짜를 리턴합니다.


[ CURTIME() ]
[ CURRENT_TIME ]
[ CURRENT_TIME() ]
-'HH:MM:SS' 또는 'HHMMSS.uuuuuu' 형식으로 현재 시간을 리턴합니다.


[ DATE_FORMAT(date,format) ]
-date로 지정된 날짜른 format에 의해 표시합니다.

기호 설명
%a Sun, ..., Sat와 같은 요일의 약어 표시
%b Jan, ..., Dec와 같은 달이름 약어 표시
%c 1 ~ 12 사이의 월 표시
%D 1st, 2nd, ... 와 같은 형식의 달의 날짜 표시
%d 00, ..., 31 형식의 달의 날짜 표시
%e 0, ..., 31 형식의 달의 날짜 표시
%f 마이크로초 표시
%H 24시간 형식의 시간 표시(00, ..., 23)
%h, %I 12시간 형식의 시간 표시(01, ..., 12 )
%i 분 표시(00, ..., 59)
%j 년의 날짜 표시(001, ..., 366)
%k 24시간 표시(0, ..., 23)
%l 12시간 표시(1, ..., 12)
%M 달 이름 표시(Jenuary, ..., December) 3
%m 달 순서 표시(00, ..., 12)
%p AM, PM 표시
%r 12시간제 표시(HH:MM:SS AM or PM)
%S, %s 초 표시(00, ..., 59)
%T 24시간제 표시(HH:MM:SS)
%U 일요일을 시작으로 년의 몇번째 주인가를 00, ..., 53으로 표시한다.
%u 월요일을 시작으로 년의 몇번째 주인가를 00, ..., 53으로 표시한다.
%V %X와 함께 쓰여 일요일을 시작으로 년의 몇번째 주인가를 01, ..., 53으로 표시한다.
%v %x와 함께 쓰여 월요일을 시작으로 년의 몇번째 주인가를 01, ..., 53으로 표시한다.
%W 요일명 표시(Sunday, ..., Saturday)
%w 요일의 순서를 표시(0=Sunday, ..., 6=Saturday)
%X %V와 함께 쓰이며 일요일을 시작하는 주를 기준으로 YYYY 형태의 년도를 표시한다.
%x %v와 함께 쓰이며 월요일을 시작하는 주를 기준으로 YYYY 형태의 년도를 표시한다.
%Y YYYY 형식으로 년도를 표시한다.
%y YY 형식으로 년도를 표시한다.
%% % 문자를 표시한다.


[ DATEDIFF(expr1,expr2) ]
-expr1과 expr2 사이의 일 수를 리턴합니다.


[ TIMEDIFF(expr1,expr2) ]
-expr1과 expr2 사이의 시간을 time 형식으로 리턴합니다.


mysql
new date();

오라클의 sysdate 와 같은?


 [출처] http://blog.naver.com/tei2434/130108256625

indexOf는 문자열을 포함하는지 여부를 확인하여

있으면 위치를 int형으로 반환하고,

없으면 -1을 반환합니다.

   String[] sArry = new String[]{"a","b","c"};

   for(int i = 0 ; i < sArry.length ; i++){

      if(sArry[i].indexOf("a") == -1) 

      // sArry[i]에 a라는 값이 존재하지 않는다면

   }

 

startsWith는 문자열로 시작하는 지의 여부를

boolean형으로 반환합니다.

   String a = "aaa";
   System.out.println( a.startsWith("a") );

라고 하면 아마도 true가 리턴..(a로 시작이 되지 않는다면 false가 리턴.)

'프로그래밍 > JAVA' 카테고리의 다른 글

전자정부 프레임워크 3.2 공통 콤포넌트  (2) 2016.11.21
자바 정규식 표현 정리  (0) 2012.08.31
HashMap, HashTable의 비교  (0) 2012.08.13

1. HashMap 

        1) Map interface를 implements 한 클래스로 중복 허용 안함.

        2) key, value 쌍으로 이루어지며 null 허용

        3) 가장 처음 넣은 데이터가 index 0 (FIFO : First in First out)

 

import  java.util.HashMap;

import  java.util.Iterator;

 

HashMap  hashmap = new HashMap();

 

hashmap.put("a", "2");

hashmap.put("b", "3");

 

//방법1

Iterator  iter =  hashmap.keySet().iterator();

while( iter.hasNext()) {

        String  key = (String) iter.next();

        Object value = hashmap.get(key);

}

 

//방법2

java.util.Set  keySet = hashmap.keySet();

Object[] hashKeys = keyset.toArray();

 

for int i = 0; i < hashKeys.length; i++) {

         String key = (String)hashKeys[i];

         Object value = hashmap.get(key);

}

 

 

 

 

2. HashTable

         1) Map interface를 implements 한 클래스로 중복 허용 안함.

         2) key, value 쌍으로 이루어지며 null 허용 안함.

         3) 가장 마지막에 넣은 데이터가 index 0 (FILO : Fitst in Last out)

 

import  java.util.Hashtable;

 

Hashtable  hashTable  =  new Hashtable();

 

hashTable.put("a", "2");

hashTable.put("c". "5");

 

//방법1

Iterator  iter =  hashTable.keySet().iterator();

while( iter.hasNext()) {

        String  key = (String) iter.next();

        Object value = hashTable.get(key);

}

 

//방법2

java.util.Set  keySet = hashTable.keySet();

Object[] hashKeys = keyset.toArray();

 

for int i = 0; i < hashKeys.length; i++) {

         String key = (String)hashKeys[i];

         Object value = hashTable.get(key);

}

'프로그래밍 > JAVA' 카테고리의 다른 글

전자정부 프레임워크 3.2 공통 콤포넌트  (2) 2016.11.21
자바 정규식 표현 정리  (0) 2012.08.31
indexOf와 startwith 의 차이  (0) 2012.08.13



Insert title here



	
//name 속성으로 가져오기 힘들거나 어려울때 id값으로 가져오는 방법으로 //id는 유일무이 해야 가능하다.

톰켓 6.0 버젼


여러 방법이 있을 수 있겠지만, 손쉬운 방법으로는 conf/server.xml 중


대략 96줄에 있는 <Host> 태그의 appBase를 변경해주거나,


<Host> 태그 내에 <Context> 태그를 추가해주면 된다


말은 쉬우나, 따라하는 것은 쉽지 않기 때문에 예를 들어보면,


우선 톰켓이 기본적으로 보고 있는 루트 컨텍스트는 webapps/ROOT 이다


96:  <Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">


appBase는 ${catalina-home} 밑의 상대경로를 인자로 받으며,

기본적으로 보안과 context의 통일적인 적용을 이유로 컨텍스트의 루트는 ROOT 디렉토리 밑이 된다.

따라서, 톰켓이 설치가 되면 웹루트는 ${catalina-home}/webapps/ROOT 가 되는 것


보다 쉬운 이해를 위해 이를 3가지 별로 변경을 해본다


1. webapp 자체를 웹루트 디렉토리로 만들고 싶을 때,


    단지, <Host> 태그 내에 아래와 같은 컨텍스트를 추가하면 됩니다.

    <Context path="" docBase="." reloadable="true"/>


   사실 컨텍스트는 더 많은 옵션이 있으나 여기는 최소한의 사항만 적었습니다. 

   실서버에 적용할 때는 log 부분도 신경을 써주셔야 합니다. 더 자세한 사항은 웹을 검색해 보시기 바랍니다.


2. webapp/test/ROOT를 웹루트 디렉토리로 만들고 싶을 때,


96:  <Host name="localhost"  appBase="webapps/test"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">


3. d:/env/home/my 를 웹루트 디렉토리로 만들고 싶을 때,


96:  <Host name="localhost"  appBase="d:/env/home/my"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">


    <Context path="" docBase="." reloadable="true"/>

    </Host>


     또는, 


96:  <Host name="localhost"  appBase="d:/env/home/"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">


    <Context path="" docBase="my" reloadable="true"/>

    </Host>


두설정의 차이는  Context 를 빼먹으면 ROOT를 자동으로 웹루트로 쓴다


톰켓 5.0부터 추가적인 <Context>는 server.xml에 추가하지 않고,

각 웹어플리케이션 디렉토리 별로 META-INF 밑에 context.xml을 추가하게 된다.


웹루트를 appBase와 같이 하려면 이의 설정을 server.xml에서 설정해도 상관없지만

webapps를 루트로 쓰는 것은 특별한 경우가 아니면 지양하는 게 좋으며,

꼭 필요하다면 apache의 redirect를 쓰는 방법 등으로 해결가능




ex)

* -  여기서 DocBase를 잡는 다는 것은

자신이 원하는 위치의 폴더를 작업 공간으로 잡는 것을 말한다.

 

1. 만약 C:\안에  Happy라는 폴더를 작업공간으로 만들고 싶을 경우

 -  자신의 tomcat이 설치되어 있는 폴더 안에 conf\Catalina\localhost 에 Happy.xml 파일을 만들어 준다.

(여기서 xml 파일은 자신이 만들고자 하는 폴더 이름과 같게 한다.)

- localhost 폴더 안에 있는 xml 파일 중 하나를 복사하여 Happy.xml 파일에 붙여 넣기 한다.

- Happy.xml파일을 열고

  <Context path="path로 적을 것" docBase="작업공간 위치"

         privileged="true" antiResourceLocking="false" antiJARLocking="false">

     이 부분만 고쳐주면 된다.

예) <Context path="/Happy" docBase="C:\Happy"

         privileged="true" antiResourceLocking="false" antiJARLocking="false">

 \- 수정이 끝난 후 tomcat을 재시작 한다.

- Happy폴더 안에 HTML 파일을 아무거나 넣는다.

- 재시작 후 Internet Explorer를 열고 주소창에  

   http://localhost:지신의 포드번호/Happy/HTML파일명.html 을 입력하여

   그 파일의 내용이 보인다면 성공한 것이다.

[출처] Tomcat DocBase 잡는 법|작성자 하얀아이


html 이나 jsp 파일의 인코딩그리고 DB에서도 인코딩을 모두 셋팅 해주었지만

파일의 인코딩이 깨질경우 WAS에서 불러올 때 부터 인코딩을 설정해주는 방법



catalina.bat 를 편집으로 열어서 대략 110번째 줄 마지막에

-Dfile.encoding=utf8 입력



set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties" 

-Dfile.encoding=utf8 


utf8은 하나의 인코딩 설정이므로 자신 프로젝트에 맞는 인코딩 형식을 써준다




 - 1개의 행을 실행 할때 

insert into 테이블명 (컬럼1, 컬럼2,...) values(값1, 값2,...)

on duplicate key update 업데이트 할 컬럼명1 = 값1, 컬럼명2 = 값2....;

 - 복수개의 행을 실행 할때 

insert into 테이블명 (컬럼1, 컬럼2,...) values (값1, 값2,...), (값1, 값2,...), (값1, 값2,...)....

on duplicate key update 업데이트 할 컬럼명 = values('value');


TCP : 한쪽 노드에서 다른 쪽 노드로 파일을 보내는 녀석// 여러개로 잘라서 보낼 수도 있다.

IP : 한 호스트에서 목적지 호스트 까지 패킷을 옮기고 이동하기 위한 베이스 프로토콜

(웹에서만 사용하는 프로토콜)

HTTP 는 TCP/IP를 기반으로 하는 프로토콜



웹 서버(Web Server)

 - 클라이언트의 요청을 받아 HTML이나 오브젝트를 HTTP 프로토콜을 이용해 전송하는 것.

   사용자가 클라이언트로 요청을 보내오면 그 명령에 대한 처리를 실행하고 다시 사용자에게 답변을 보내준다.

 - 사용자가 요청한 것들 중에 웹 서버 자체적으로 처리할 수 없는 것들을 톰캣과 같은 컨테이너나 PHP 모듈과

   같이 처리할 수 있는 곳으로 넘겨 처리 결과를 받아와서 사용자에게 넘겨주는 역할도 수행한다.

 - 웹 서버만 구축된 서버는 웹 페이지, 이미지 등 정적인 페이지를 생성하지만,

   JSP 컨테이너가 탑재되어 있는 WAS는 JSP 페이지를 컴파일 해 동적인 페이지를 생성한다.

 - 웹 서버는 웹 문서를, WAS는 JSP 페이지 등을 양분하여 서버 부담을 줄이는 것이 가능하다.

 - Apache, IIS(Internet Information Server), WebtoB 등



웹 어플리케이션 서버(Web Application Server / WAS)

  : 웹과 기업의 기간 시스템 사이에 위치하면서, 웹 기반 분산 시스템 개발을 쉡게 도와주고

    안정적인 트랜잭션 처리를 보장 해주는 일종의 미들웨어 소프트 웨어 서버

    3계층 웹 컴퓨팅 환경에서 트랜잭션 처리 및 관리와 다른 기종 시스템 간의 애플리케이션 연동등을 주된 기능으로함


 -  웹 서버 + 웹 컨테이너.

 -  웹상에서 사용하는 컴포넌트들을 올려놓고 사용하게 되는 서버

 - EJB 와 같은 빈들이 올라가게 되며, 서버에 따라 웹에 필요한 많은 기능들을 포함하고 있다.

 - J2EE 스펙을 구현한 서버(JSP / Servlet Container와 EJB Container 로서의 기능)

 - 가장 많이 사용하는 WAS는 BEA사의 Web Logic, IBM사의 Web Sphere, T-max사의 Jeus, Tomcat, Redhot사의 JBoss 등이 있다.)

 - Tomcat은 JSP / Servlet Container의 기능을 구현했으나 EJB Container로서의 기능은 없다.

    따라서 Tomcat은 Was가 아니라는 사람들도 있다.



컨테이너(Containner)

 - JSP와 서블릿을 이용하는 웹 응용 프로그램은 자바 언어를 이용해서 작성할 수 있는데,

   JSP와 서블릿을 실행시킬 수 있는 소프트웨어를 웹 컨테이너(Web Container) 혹은 서블릿 컨테이너(Servlet Container)라고 한다.

 - Servlet 컨테이너, JSP 컨테이너, EJB 컨테이너 등의 종류가 있으며, 대표적인 웹 컨테이너로는

   자카르타 톰캣(JSP), RESIN, Web Logic, WebtoB 등이 있다.

 - 웹 서버에서 JSP를 요청하면 톰캣에서는 JSP 파일을 서블릿으로 변환하여 컴파일을 수행하고,

   서블릿의 수행결과를 웹 서버에서 전달하게 된다. 

 

웹 서버와 WAS의 차이점

 - 웹 서버와 WAS를 구별 짓는 것은 동적 서버 콘텐츠를 수행하는가? 만약 수행한다면 WAS로 보면 된다.

 - 웹 서버 : 정적인 HTML이나 이미지를 제공하는 서버.

   WAS : 동적인 처리를 담당하는 서버. 


웹 서버와 WAS의 일반적인 구성

 - 사용자가 브라우저에서 요청을 하게 되면 다음과 같이 웹 서버와 WAS 서버를 거쳐 응답이 돌아오게 된다.

   사용자 요청(웹 브라우저) -> 웹 서버 -> WAS(동적 처리) -> 웹 서버 -> 사용자 응답 메세지(웹 브라우저)

+ Recent posts