영원한사랑

인터넷정보 +1252
embed - 음악, 동영상, 플래시 파일

자신의 컴퓨터 아이피 주소보기

<TD>를 간단하게하는 <COL>태그

페이지여백

MYSQL 의 root 비밀번호 변경

그라데이션 (Gradient)

동영상+자막나오는 소스

행간/자간 간격 조정

해상도에 따라 레이어 위치 바뀌는 것 고정하기

input, textarea 마우스 포커스시 테두리 하일라이트

embed 태그 다양한 옵션 효과

국가코드

설치가 필요없는 ftp, telnet 프로그램

윈도우 XP SP2 소스보기

특정 사이트 차단하기 - 유해사이트 차단 및 성인사이트 차단

이미지태그를 통해 동영상을 재생하기!

홈페이지 제작시 사용되는 스타일시트(CSS) 정리

내컴퓨터에 설치된 플래시 버젼 확인하기

css로 만든 메뉴입니다.

셀렉트박스(SelectBox) 마우스오버시 크기 늘리기

이미지 없는 라운드테이블 만들기

입력폼 대문자만 적용하기

인증서없는 액티브엑스(ActiveX) 설치하기

blank.gif 대용

IEToy를 이용해서 링크 던지기

페이지 내에서 링크 자국 안남게 하는 법

CSS 레이어 수직중앙정렬

input 타입별로 CSS 처리..

MS 자바가상머신(JVM) 제거 삭제 방법

CSS 로 DIV 모서리 라운드 처리

textarea 스크롤바 생성 없이 자동 줄 늘이기

링크 포커스 (점선) 없애기..

폰트 정리

이미지 테두리에 점선 두르기

줄번호 넣기

글씨 크기 진하게 또는 굵게

특수문자 읽는 법

트랙백이란? 예를 들어 설명하기..

테이블 크기 더 이상 안넘어가게 하기

음악 태그 필터 적용

그림이 아래로 떨어지게 하는 효과2

그림이 아래로 떨어지게 하는 효과1

이미지 랜덤 모드

브라우저 크기 조절 안되게 하고 자동 풀 스크린으로 열기

하단 상태바 애니메이션 효과

물고기가 날아가는 스크립트

자그마한 별이 커지는 소스(대문 같은 곳에 사용하면 좋을 듯)

이미지에 마우스 오버시 사운드가 나오는 태그

이미지 랜덤 모드로 변화합니다.

마우스 주위를 빙글 돌면 흩어지는 이미지

마우스 주위를 빙글빙글 도는 텍스트(커졌다/작아졌다)

스타일을 이용한 양끝맞추기

구글 검색엔진이 해킹툴?

TD에서 한글이 위로 치우치는 문제 해결 트릭

CSS text-indent

text 관련 CSS 태그들입니다.

이미지와 글씨 정렬

한칸띄기 태그 - 사이띄기

css로 만든 메뉴

HTML 4.01 엔티티(Entities)

한국 전통 표준색

웹사이트 특정 부분만 출력하기

ftp 업로드시 아스키모드 / 바이너리모드란 ?

퍼미션이란 ? 퍼미션 설정하는 방법.

국제 표준 배너 규격(CASIE & IAB) 사이즈 참고규격입니다.

input/textarea 한.영키 사용않고 한글이나 영문 자동으로 나오게...

URL / 절대경로 / 상대경로란 ?

404 Not Found 국가별 에러메시지

div 중앙에 나열하기

레이어를 셀렉트박스, 자바애플릿 위에 오게 하는 방법

이미지 물결 효과

좌측에서 위 아래로 흐르는 이미지와 문자/링크지원

마우스 커서에 스크롤되는 문자가 쫓아다님

text 타이핑 효과

원하는 글이 좌측으로 흐르는 텍스트로 링크지원(body)에 삽입

문자가 순간 적으로 변하면 링크 지원

3차원으로 돌아가는 글자 무자게 신기.

폼 안에 문자가 스크롤 되는 소스

문서의 자동 스크롤 소스

하단의 상태바에 날짜/시간/년도/요일 표시

방문자의 방문 횟 수를 알려주는 소스입니다.

페이지에 접근시 간단한 패스워드 설정

하단의 상태바에 깜박이는 효과 주기

하단의 상태바에 메세지가 타이핑 되는 소스

떠있는 레이어 이미지

엔터키 제어하기

네온사인 테이블 만들기

페이지 로딩시 공지창 띄우기

즐겨찾기 추가하는 소스

타이틀바 타이핑되는 소스

오른쪽 마우스 클릭시 뒤로가기 스크립트

내 홈에 머무르는 시간 상태바에 표시

새로 열릴 창을 최대화하는 스크립트

한단의 상태바에 메세지가 왔다 갔다

클릭하면 사라지는 공지창

브라우저 창 종합

브라우저 돌리기..

브라우저 돌리기

작은 그림 클릭시 큰 그림이 나오게하자.(갤러리방)

크로스마우스 만들기

초간단 타이핑 소스

텍스트 글자에 마우스 오버시 컬러가 변합니다.

확장자의 모든것

링크된 곳 주변 점선 없애주는 태그

이미지 필터 효과 총 집합

커서를 문장에 가져가면 배경 컬러가 바뀌는 소스

불어펜으로 쓴듯한 글씨

배경이미지 고정시키기

클릭하면 커지는 이미지

각종 커서 모양

인터넷 기본 페이지를 변경해주는 태그

페이지에 들어각고 나갈때 즐겨찾기 추가하는 소스

문서에 들어가고 나갈때 인사말 창

귀여운 창퍽

마우스 오버시 이미지가 흑백으로 변하는 태그

마우스 오버시 글자 테두리 배경 컬러가 변하는 태그

마우스 오버시 테이블 컬러가 변하는 태그

클릭하면 예쁜 꽃과 낙엽들이......

이쁜 공지창

새로고침 / 뒤로가기 / 앞으로가기

글자 위에 조그맣게 주석다는거..(익스 전용)

프레임 문서에서 경계선 테두리 두르기

글씨를 세로로 써봅시다...^_^

스크롤바 생성시 x축 / y축 원하는 곳 감춰보자.

텍스트 링크시 이미지를 사용하지 않고 롤오버 기능을 넣어보자.

a 링크 태그 말고 다른 태그로 링크해보장.

음악파일 동영상을 내가 원하는 부분만 재생시켜보자.

필터를 적용한 칼라버튼.[ie5.5 sp2이상]

페이지마다 타이틀 변경하기

프레임셋 / 아이프레임 / 테이블 등의 border(테두리) 모양바꾸기

iframe / 투명 아이프레임 / 불투명 아이프레임

이미지 하이퍼 링크시 border=0을 스타일시트로....

SELECT 메뉴의 배경색 및 폰트색상을 다르게

그림문자

스타일 시트의 개념과 사용법

테이블 프레임(frame) 형태 지정하기

글자/단어 간격을 입맛대로 바꾸자.

링크를 새창 or 현재창으로 선택해서 열게하자

인풋태그에 지정된 텍스트 글자수 이상이 되면 다음 인풋태그로 커서가 이동.

프레임,타겟(Tartget),윈도우URL처리법~

소스 한줄로 만들기

이전글 응용태그(테이블 테두리 롤오버 효과?)

테이블에 마우스 배경컬러 롤오버 효과

마우스 오버시 이미지가 컬러가 변합니당!

SUBMIT 버튼을 이미지로 바꾸기

테이블 자체에 링크 걸기

테이블 투명하게 하기

스크롤바를 좌측으로 꾸미기

문서의 수정된 날짜 자동으로 표시하기

Textarea란?

반짝이는 버튼과 꼬마 버튼

div와 span의 차이점

absolute 와 relative의 차이점

윈앰방송 시작시 방송 시그널 넣기

텍스트 박스에 이미지 넣기

페이지 여백 없애기

리스트태그의 리스트아이템을 이미지로 바꾸기

CSS(Cascading Style Sheet)의 구성요소

세로로 글쓰기

플래시 백그라운드 투명처리

폼에서 한글만 입력받기

BMP / JPG / GIF / PNG / PCX

뒤로가기 금지!

버튼 클릭으로 숫자를 증가/감소 시킵니다

폼에서 숫자만 입력받기

이뿐거...

IE6.0에서 추가된 스타일

순서대로 포커스 주기

한글로 된 파일이 다운로드가 안됩니다. 또는 이미지가 X로 보일경우.

마우스 오버시 소리나게 하기(사운드)

음악재생시 윈미플에서 나오는 시각화 효과

알아두시면 유용한 간단한 스타일 시트

IE6.0 이상 이미지 툴바 기능 막기 (이미지 도구 모음)

글자 또는 배경등에 그라데이션 적용하기.

글자 사이 중간 점 찍기 (ex. O·S·T)

input 태그에 공지글 미리 넣기

감췄다... 보여줬다... -_-;; - display:hidden / display:visibility

이미지를 문서에 삽입하지 않고 새창으로 띄우기.

inupt 태그에 밑줄만 넣는 방법입니다.

원본 이미지 링크해제시, 이미지가 깨진경우 이미지의 에러처리..

그림자 글자 예제..

HTML을 이용한 세로로 글씨 쓰기

이미지 없이 모서리 없는 둥근 테이블 만들기 3

다량의 파일 이름 한번에 바꾸기

키보드의 특수문자 읽는 방법

윈도우 미디어 클래스아이디(classid)

그림자 필터 의 효과

각국 화폐 단위

HTTP 1.1 분류 코드 & HTTP 에러 코드표

html문서 object로 불러들이기

폼의 자동완성 기능 끄기

스타일시트로 TEXTarea 자동으로 늘리기.

체크 박스와 라디오 버튼 무지 크게 만들기...-_-

embed 필터 태그를 이용해서...

이쁜 테이블 태그

텍스트 글자스타일 정리

메타태그, 페이지가 스르륵~ 바뀝니다.

텍스트 정렬 팁 - 양끝 맞춤

위로 흐르는 이미지, 텍스트(마우스대면 멈춤)

그림의 위치 설정하기 - 정렬

ajax를 이용한 파일 탐색기

File Formats - 이미지 오픈시 64color 인지 128color 인지 알수 있는 프로그램

PHP RSS Reader [RSS 2.0]

양파가 몸에좋은 54가지 이유...

잠을 잘 자기 위한 행복 제안...

생활의 지혜

커피를 이용한 생활의 지혜

구글 애드워즈 클릭단가 지출 비용 낮추는 방법

[랭키순위 상승방법] 랭키툴바로 순위 높이는 방법

픽픽(PicPick) v1.7.2 Release

날개셋 c 입력기

온라인 타자연습기, 웹타자연습, 타이핑연습, 웹 타자연습, 영타연습, 영문타자, 한타, 영타

폴더 안에 들어있는 목록을 텍스트로 저장(서브 폴더까지...)

컴퓨터 증상별 컴퓨터 수리법

자연어 처리연구실 모음

형태소 분석 관련 링크 모음

객체지향 기법과 코드의 재사용

명령 프롬프트 창에서 폴더 이름을 쉽게 적는 방법

수퍼 유저를 위한 효율적인 리눅스 서버 관리 실전 테크닉

qmail로 메일서버 구축

큐메일을 이용한 웹호스팅용 POP + SMTP 메일서버 구축하기

잡다한 자료들..

태그피아 데이타베이스 자료 리스트 15

태그피아 데이타베이스 자료 리스트 14

태그피아 데이타베이스 자료 리스트 13

태그피아 데이타베이스 자료 리스트 12

태그피아 데이타베이스 자료 리스트 11

태그피아 데이타베이스 자료 리스트 10

태그피아 데이타베이스 자료 리스트 9

태그피아 데이타베이스 자료 리스트 8

PHP로 DB 사용용량, 남은용량 알아내기.

PHP로 사용용량, 남은용량 알아내기

gd 추가하기

php 재컴파일시.. make distclean

iconv 함수 사용가능토록

get_magic_quotes_gpc()

table_sql 을 엑셀파일로 다운받기.

session_save_path() 2

디렉토리..class.sh_dir_cls.inc

파일업로드 삭제 클래스

문자열 내의 HTML 태그를 모두 없애는 방법

파일네임 금지

mysql query 관련 class

호스팅 받는 업체들 용량체크하는법

Error Page Code

IFRAME 삽입 방법

textbox의 값을 오른쪽부터 채우기.

style:bgColor scrollbarFaceColor

한글로된 색상표

nowrap 과 break-all 로 테이블 안의 줄바꿈 제어

브라우저 내장객체 - select, option

웹상에서 음악/동영상 재생 코드 파헤치기

제목 길이 맞추기 위해 substring를 사용하기..

프레임 페이지 새로고침[F5] 후에도 현재 페이지 계속 보이기

접속시 마다 배경 이미지 랜덤으로...

메모장으로 파일 볼때 줄이 붙어 나올때 해결방법 - 개행문자

제멋대로 사용하는 코맨트와 트랙백의 한글 명칭

filemtime - 파일의 마지막 수정 시간을 구함

[PHP] 현재일 또는 특정일 부터 즉, 틀정 날짜에 특정일을 더한 날짜 구하기

이메일 헥사코드 인코딩 - 로봇 추출 방지

문서에 테두리 두르기

이쁜 공지창(fieldset)

아이콘 모음 ( 고문편 )

마퀴 태그를 이용한 테이블 공지창

화면 캡쳐하는 방법

iframe(아이프레임) 태그

글자 주변 번지는 컬러

마우스를 올리면 배경화면 색상이 바뀝니다.

이미지와 문자 정렬하기

백그라운드에 배경 이미지 넣기

소스보기 금지태그 1

이미지에 여러가지 효과 주기

잼나는 퍽 소스

마우스 오버시 뜨는 경고창

마우스를 대면 커지는 글씨

얼굴문자 이미지

링크된 곳 밑줄/컬러/배경/크기 지정하는 태그

테이블에 간단한 라인효과주기

익스플로러 창 조절하기 - resize, 리사이즈

라디오 버튼을 이용한 alert 창

배경이미지가 보이는 투명한 아이프레임 만들기

천사가 날아가는 간단한 마퀴태그

투명한 스크롤바 만들기

게시판 글 목록 테이블을 투명하게(배경 이미지 적용시)

홈 들어갈 때와 나갈 때 인사말창 띄워주기

배경음악 삽입하기 - bgsound/embed

음악 플레이 멈춤 기능

dotted 이미지 없이 링크에 점선 밑줄 나타내는 태그

vml을 이용한 풍선 툴팁 만들기

마퀴태그를 이용해서 텍스트 멋지게 꾸미기

fieldset로 테이블 만들기

테이블 공지 멈춤 / 시작 기능

칼라테이블

페이지 링크걸때 iframe이 아닌 다른 방법!!!

마퀴 태그를 이용한 공지 소스

이쁜거

마퀴태그 응용

글씨 한 줄로 흩날리기 - 마퀴, marquee

배경음악 다른 곡으로 연속해서 듣기 - asx

반 투명 테이블(은은한 분위기)

PHP 구구단 만들기

PHP 원의 넓이 구하기

PHP 입력받은 값이 짝수인지 홀수인지 구분

PHP 큰 값 구하기

파일을 찾아내고 속성 알아내는 구문

파일 및 디렉토리 작업에 필요한 함수모음

자주 쓰는 연산자 보기

파일의 존재유무

PHP 유용한상수들 SID 라는 상수

설문조사 등등 로딩바 구현

AJAX를 이용한 메모보드(포스트잇)

PHP로 작동하는 RSS 읽는 함수

심플한 라이트박스 효과 (이미지, 아이프레임, html 지원)

HTTP 인증(Basic타입)이 걸린 URL을 fsockopen에서 여는 방법

픽셀단위 문자열 자르기 (한글자르기)

설치가 필요없는 ftp, telnet 프로그램

파폭에서 익스플로러를 쓰자

상하 좌우 롤링 소스

로깅(Logging) 하기

인기도 점수 뽑아오는 클래스(추천 비추천 코멘트 히트수)

레이어를 셀렉트박스, 자바애플릿 위에 오게 하는 방법

로또( lotto ) 번호생성기

페이징

게시판의 꽃 페이징을 아십니까?

함수와 클래스 생성 방법론

모르면 답답하고 알면 편리한 파일 확장자의 A to Z

특정 폴더 내 모든 파일 리스트 불러오기 함수

PHP 변수 속도 테스트

웹하드 - webHard

음성게시판 모듈

텍스트 카운팅

텍스트 확대 축소 소스

퍼즐 게임 - puzzle

타이틀바..

웹브라우저, 언어, 운영체제 보여주기

클립보드로 카피하기

최근 업데이트 시간을 자동으로 나타내 보자!

해상도별 다른 페이지 보여주기

OS 별 페이지 이동하기

레이어의 상대위치 지정 방법(position:absolute에서...)

마우스 주위에 3D 처럼 원을 그리며 도는 글자

테두리가 스믈스믈..

깜박거리는 문자

강한 인상을주는 (?) 환영메세지

텍스트 지진(?)효과 내기

두문장을 blur 효과주며 보여주기

셀 블렌딩

키보드 글씨가 그대로 화면에 나타나는 스크립트

매일 매일 다른 메세지를 보여줍니다

오늘 날짜와 요일

홈에 머문시간을 제목표시줄과 상태바에 실시간으로 알려줍니다

마우스 커스 이동,클릭만으로 배경색상을 바꾸어보자

창을 열면 인사하는 간단한 스크립트 - 프롬프트

자바스크립트로 변수처리하기!

마우스 오버시 그림이 선명해지는 스크립트

페이지마다 타이틀 변경하기

스크립트로 쿠키 굽기

블라인드 효과 스크립트

사용자 해상도 알아내는 스크립트

링크 클릭시 상단으로 이동하지 않게..

소켓을 이용한 랭킹(검색어,음악,영화,도서) 소스입니다.

소켓을 이용한 miniRss Reader 소스입니다.

인기 동영상 박스 소스 입니다.

날씨 박스 소스 입니다.

웹용 라디오 플래이어 입니다.

레이어 여러개 반투명하게 교차하기

작은 사이즈의 아이콘(pixel icon) 사이트 모음

플래시로 된 파이 그래프

Web 2.0 서비스 리스트 및 로고 정보 사이트

무료 이미지 사이트

디자인을 공부하는 분들에게 추천하고 싶은..

html coding guideline, coding convention

플래시를 이용한 다중업로드

font(폰트) 정리 이미지 모음

썸네일생성,워터마크 삽입..손쉽게 하기

클립보드로 텍스트 복사하기

하일라이트 슬라이드 - highslide-2.0.2

이미지 태그로 음악파일이나 동영상 재생하기

싸이월드 랜덤일촌을 타보자! - CYko (1.1)

레이아웃 - 홈페이지 소스 입니다. (구성파일+이미지파일)

윈도우에서 삭제되지않는 파일 지우기 Unlocker

컨트롤키 기능 모음, 콘트롤, ctrl

담배의 역사

SimpleChat - 개인 홈페이지에서 사용가능한 1:1 상담 채팅

GChat

오른쪽 마우스 해제

firefox 주소창, 검색창에서 한글주소 바로가기 구현

클릭 한번으로 창 여러개 띄우기 - 팝업, 새창 두개 이상

absolute positioning

팝업 타이머 - 새창 타이머

자바스크립트 에러 상태창에 표시

글씨의 색을 자동으로 변환시켜주는 함수

라운드, 라운드박스, 테이블 둥글게

array_map을 활용한 배열 통째로 stripslashes

내 USB를 컴퓨터로 만들어주는 포터블 프로그램

개인용 무료 PDF 변환 솔루션

HTML 하드코더

cut - 문자열 자르기

TD에서 한글이 위로 치우치는 문제 해결 트릭

잘못된 테이블 소스 보정 하기

이미지 크롭

CSS text-indent

image mapping 프로그램, 이미지맵, 이미지매핑

자바스크립트 라이브러리 목록

이미지와 글씨 정렬

SSH 공격 아이피 필터링 스크립트(recent IP 기반) - 아이피 차단

자바스크립트로 플래시 메뉴처럼

윈도우의 바로가기 모음을 내 맘대로

한칸띄기 태그

Cold Night for Alligators

Tiranti Solid LET체

!백묵 수진체 - 손글씨 폰트

홈페이지 레이아웃 - 씨리우스

css로 만든 메뉴

AJAX URL

[LINKVIEW] 링크된 사이트를 미리 볼수 있게끔 해줍니다.

달력, calendar

pcount, 카운터, counter

웹용 라디오 플래이어 가로버전 입니다.(프레임용)

소켓을 이용한 멀티박스(검색,사전,로또,주식) 소스 입니다.

지정 또는 특정 년도의 특정 달,월의 주 계산

오픈마켓 갤러리 광고..

실시간 채팅 대화방 - ajax

check_agent - 방문자의 os와 browser를 체크하는 함수

갤러리(최근 or 랜덤) 슬라이드 + 새창(이미지크기로..) + 해당글 이동

19금 - 성인인증 소스

제로보드4 에 무료 휴대폰 알림기능 추가

특정한 달의 생일인 사람 리스트 가져오기

히라가나/가타카나를 한글 발음으로 변환/일본어 번역/일본어 한국어 번역/한국어 일본어 번역

이미지 리사이즈(resize) 및 새창

PHP의 sleep()과 비슷한 함수

날짜 시작일~종료일 출력

배경 이미지 랜덤으로..

스타일을 이용한 양끝맞추기

JS 체크

timestamp 를 date 형식으로 보여주기(as like php date())

네비게이터 객체

아크로벳리더가 7 이상 설치되어 있는지 버전 체크

자바스크립트로 이메일 형식 체크하기

프레임 내에서 F5 누르면 현재화면 그대로 새로고침되기

팝업차단 체킹 스크립트

글씨의 색을 자동으로 변환시켜주는 함수

수정이 가능한 텍스트 (인라인텍스트에디터)

이미지 슬라이드쇼

폼에대한 142가지의 다양한 js 소스

실시간검색어 예제 - 다음(daum) 스타일

자바스크립트로 구현한 md4,md5,sha-1

프레임 경계선을 넘나드는 createPopup()

지정된 영역에서 각 레이어 간의 이동 효과(구글,야후)

피부 미남 만들기 - "면도만 잘해도 완소남"

태그피아 데이타베이스 자료 리스트 6

태그피아 데이타베이스 자료 리스트 5

태그피아 데이타베이스 자료 리스트 4

태그피아 데이타베이스 자료 리스트 3

태그피아 데이타베이스 자료 리스트 2

태그피아 데이타베이스 자료 리스트 1

각종 UCC 다운받기

실시간 검색어 한꺼번에 보기 (다음,네이버,야후,엠파스)

그누보드, 제로보드에 실시간 대화방 사용하기

XP 자체내장 자동종료프로그램 - tsshutdn

3000개가 넘는 이미지가 무료라네요

내 사진을 3D 아바타로 만들어보세요.

UTF-8 encoding table and Unicode characters

실시간 메모 보내기, 실시간 쪽지 보내기

셀렉트박스(Select Box) 그 달의 마지막 날짜, 마지막 일 자동 출력

PHP 달력 소스

플래시8을 이용한 파일업로드(프로그래스 바)

PHP 업로드진행바(Pregress Bar) 구현

동적인 다중셀렉트 샘플

nl2br

한글도메인 퓨니코드 변환기 - 한글도메인.kr PunyCode Converter

아이피 32비트 10진수로 바꾸기

KTF전용 - php와 문자메시지 무료로 연동하기

자신의 아이피 및 국가별 아이피 출력 국기 포함

PHP 함수는 몇개나 될까?

PHP 최적화 기술

Shoutcast 음악방송의 방송 히스토리를 재정렬후 보기 좋게 뿌려줍니다.

정규표현식 ( Learning to Use Regular Expressions )

UTF-8 문자열 자르기

프레임 페이지 새로고침[F5] 후에도 현재 페이지 계속 보이기

오픈마켓 광고, 옥션 광고, 지마켓 광고, 엠플 광고, 온켓 광고

폰트 사이트

레이어 여러개 반투명하게 교차하기

모서리 둥근 테이블, 이미지 없이 구현하기

로딩 페이지에 들어갈 이미지가 여기다 있습니다

라이트박스 효과 (이미지, 아이프렘, html 지원)

클릭 한번으로 창 여러개 두개 이상 띄우기

스크립트로 이미지 모서리를 둥글게

XML 을 이용한 세로 플래시 메뉴 Ver 1.1

이쁜 테이블 태그입니다.

무료 사용 가능한 오픈 디자인 사이트 14곳 모음

패비콘을 3d 도트로 변환해주는 사이트

임시 이메일 주소를 만들어주는 게릴라메일 - Guerrilla Mail

한국정보통신기술협회가 인증한 한국형 무료 안티스파이웨어 KS1

웹사이트 특정 부분만 출력하기 - iframe

듀얼코어 활용하기

모든 파일형식들 (파일 확장자 목록)

인터넷익스플로러7 자동다운로드 막는 프로그램..

익스6, 7 경고없이 윈도우 조용히 창닫기.

흑백사진속에 특정 부분 칼라 만들기(Desaturate)

이미지 없이 라운딩 박스 표현하기 2

이미지 없이 라운딩 박스 표현하기 3

숫자에 콤마 붙이기

라디오 선택된 값 가져오기

input text용 updown 버튼

입력 글자바이트 제한 textarea,textbox용

mysql 기본명령어

윈도우용 주요 프로세스 목록이 있는 사이트

현재 페이지 쿠키 알아내기

바이러스 백신 소프트웨어 공급업체 목록

간단한 중요 DB정보 보호방법

SSL관련 개인키, CSR 만드는 방법

IE flash 패치용 - 이올라스, 플래시 테두리

file에 스킨 입히기 - 첨부파일

회색 컬러, 그레이 색상

이미지 자동 리사이즈 관련 함수

링크 자동 타겟 설정

[JS] 한글 초성, 중성, 종성 자르기

[PHP] 한글 초성,중성,종성 자르기

레이어로 툴팁 효과내기

window.document.location 간단 설명

로보트 검색엔진에 잘 걸리는 Meta Tag 작성법

화이트 도메인, 실시간 스팸 차단 리스트

HTML안의 href와 src의 주소만 빼내는 정규식

쓸모있는 정규식 모음 JS버전

IE/FF(Gecko,W3C) 이벤트 설명

오른쪽마우스버튼,키보드 입력 방지,드래그금지, 특정키 제어

MSIE의 insertAdjacentHTML 에뮬레이션

[PHP] 항상 새로고침 해더 설정

innerText 대신 사용

멋진 트리구조 폴더 (JS와 XML 등등 혼합)

Internet Explorer에서 Mozilla로 애플리케이션 마이그레이션 하기

라디오 버튼을 체크하기

up down 버튼 만들기 (DOM)

[JS] 배열 소트 기능함수 사용, Array sorting

JS로 벡터이미지 그리기

예쁜 폰트들

IE,FF 의 투명도 설정 : opacity

insert row 테이블에 row 추가하기

팝업 띄우기

한국 전통 표준색

PHP용 경과시간 체크함수 /php timer 타이머/ microtime()

showModalDialog Method (IE 전용)

showModelessDialog 를 FF에서 사용하기

문자열 <-> 유니코드 변환 escape(),unescape()

현재 스크롤 위치 알아내기

롤링 배너용 js(class 형식)

try{...} catch(e){...} 구문 , e.number,e.description

문자열 바이트 길이알기, 바이트만큼 자르기

API를 모와둔 사이트 gotapi.com

PNG24 반투명 지원법 (IE용)

JS 트리구조 메뉴

select 용 함수 모음

UTF-8로 바꾸는 법, 문자열 인코딩 바꾸기

IE7의 변경(오류,버그,바뀐점)

이미지 없이 라운딩 박스 표현하기1

주민/외국인 등록번호

iframe 높이 자동 조절 - 아이프레임 사이즈 조절

IE의 검색엔진를 원하는 것으로 해보자

전화번호 자동 정리 - 전화번호 하이픈 넣기

Select 메뉴의 border 숨기기

마우스로 드래그되는 레이어창 스크립트

인쇄 미리 보기 및 페이지 설정 버튼 만드는 방법

PHP 테이블 중복 확인후 생성하기 create table if not exists board

ActiveX 무조건 다운로드하기

이미지 크기 알아내기

새창(팝업) 크기 자동조절(리사이즈,resize)

자바스크립에서 쿠기 설정/읽기/삭제

PHP 파일 타입 알아보기 mime_content_type()

GD 기본 사용법

인터넷 익스플로러 다운로드 제한 수 변경하는 방법

입력창에 바로 한글 입력하기 ime-mode

getElementsByTagNameNS 메소드란?

금지태그 변환

select에 option동적으로 추가하기

JAVASCRIPT로 레이어(기타등등) 이동(드래그)하기, FF가능버전

키입력과 오른쪽 마우스 등 막기

로딩 레이어 만들기

현재 페이지의 스크립트 내용 알아오기 IE전용

정규식으로 오토링크 처리하기

mime type 알아오기

GD를 이용한 이미지 리사이즈, 워터마크 함수

항상 한글로 나오도록 해더설정

IE의 dlgHelper 을 사용한 컬러뽑기(IE전용)

컬러 픽커 테이블

위즈윅 에디터들

MSIE 와 FireFox호환 (pasteHTML)

셀렉트 박스 꾸미기 - select

css로 만든 2중 라운드 테이블

월의 몇째 주인지, 이달의 총 주

[PHP] 영문과 한글 브라우저 구분 방법

간단한 페이징 소스

nuSoap을 이용한 서버간의 파일전송

로딩바 로딩중입니다 표시하기

페이징

php에서 첨부파일이 포함된 메일 보내기 함수

문자열에서 한글과 영문자만 골라내기

PHP를 이용한 메모리 DB

런타임으로 자바스크립트 화일 열기

마우스 오버시 테이블 한줄 색깔 바꾸기

간단한 php 달력

php로 pop3 데몬을 만들기

페이징 함수

select 박스 제어하기

이미지 없이 모서리 없는 둥근 테이블 만들기

fsockopen으로 제작한 http확장클래스

3 of 9 바코드 그리기

HTML 4.01 엔티티(Entities)

아파치 웹 서버 무단 링크 방지

insertAdjacentHTML 지정된 위치에 HTML 삽입

select 태그 활용법 - 셀렉트박스, 콤보박스

PHP에 포함된 변수 , 상수 , 함수 알아보기

file 버튼 이미지로 바꾸기

즐겨찾기 추가 , 시작페이지 설정 하는 스크립

오른쪽면에 배너 붙이는 style

[PHP] 파일 확장자 추출

[PHP] error_reporting , 에러 출력 설정

unix 디렉토리 명령, 일반적인 UNIX사용법

<<< /proc 디렉토리에서 알아내기 >>>
 
/proc/asound : 이 디렉토리는 시스템내에 설치되어진 사운드카드에 대한 정보를 볼수 있습니다.
 
/proc/cpuinfo : 프로세서의 정보가 들어있습니다. cpu의 타입, 모델, 제조회사, 성능 등에 관한 정보를 알려줍니다.
 
/proc/devices : 현재 커널에 설정되어 있는 장치의 목록을 볼 수 있습니다.
 
/proc/dma : 현재 어느 DMA 채널이 사용 중인지를 알려줍니다.
 
/proc/filesystems : 어떤 파일시스템이 커널에 설정되어 있는지를 알 수 있습니다.
 
/proc/ide : 이 디렉토리는 IDE-인테페이스와 이것과 연결된 IDE-device들에 대한 정보를 표시합니다.
 
/proc/interrupts : 현재 어느 인터럽트가 사용 중인지, 그리고 얼마나 많이 사용되었는지를 알 수 있습니다.
 
/proc/ioports : 현재 어느 I/O 포트가 사용 중인지를 알려줍니다.
 
/proc/loadavg : 시스템의 평균부하량(load average)을 보여줍니다.
 
/proc/meminfo : 메모리 사용량에 관한 정보를 보여줍니다. 실제 메모리와 가상 메모리를 모두 다룹니다.
 
/proc/modules : 현재 어떤 커널 모듈이 사용되고 있는지를 알려줍니다.
 
/proc/partitions : 이 페이지는 분할영역에 대한 정보를 표시합니다.
 
/proc/pci : 이 페이지는 PCI-버스와 설치되어진 PCI-카드들, 그리고 주변장치연결 (PCI) 버스를 사용하는 다른 device들에 대한 정보를 표시합니다.
 
/proc/scsi/scsi : 이 페이지는 SCSI-인테페이스와 이것과 연결된 SCSI-device들에 대한 정보를 표시합니다.
 
/proc/stat : 이 곳에는 시스템의 상태에 관한 다양한 정보가 있습니다. 즉, 부팅된 후 page fault가 몇번 일어났는가 하는 것들을 알아 볼 수가 있습니다.
 
/proc/uptime : 시스템이 얼마나 오랫동안 살아 있었는지 보여줍니다.
 
/proc/version : 커널의 버전을 알려줍니다.
 
<<< 운영체제 정보 >>>
 
uname -a : 운영체제의 호스트이름, 커널 버전과 릴리즈된 날찌와 프로세서(CPU)의 타입을 표시합니다.
uptime : 부팅한 이후로 시스템의 사용된 시간과 로그인한 유저의 수, 시스템의 Load Average(시스템 부하량의 평균치) 등의 정보를 표시합니다.
w : 현재 시스템에 로그인 한 유저들의 리스트와 작업, 접속시간 등을 표시합니다.
tail /var/log/messages : 시스템의 로그 기록을 10라인 단위로 보여줍니다. '-n'옵션을 사용하여 출력할 라인 단위를 지정할 수 있습니다. 'tail -n100 <파일이름>' 과 같이하면 100라인 단위로 출력합니다.
lsmod : 현재 로드된 모든 모듈들을 표시합니다.
cat /proc/filesystems : 현재 시스템에서 사용중인 파일시스템을 표시합니다.
date : 시스템의 날짜와 시간을 표시합니다. 또한 날짜와 시간을 설정할 수 있습니다. ('date --help' 을 하면 이용할 수 있는 옵션을 알 수 있습니다.)
runlevel : 시스템의 현재 런레벨을 표시합니다.
rpm -q <패키지> : 설치된 패키지의 버전을 보여줍니다.
 
<<< 실행중인 프로세스와 메모리 정보 >>>
 
ps aux | less : 유저로부터 시작된 것을 포함한 현재 실행되고 있는 모든 프로세스를 표시합니다. 'q' 를 누르면 종료합니다.
free : 메모리의 상태를 표시합니다.
top : 5초마다 한번씩 실시간으로 갱신하여 시스템의 프로세스 상황을 표시합니다. CPU 사용량, 메모리와 스왑의 사용량, 현재 실행중인 각각의 프로세스의 수와 상황등의 시스템 상황을 실시간으로 표시합니다. 'q'를 누르면 종료합니다.  
cat /proc/meminfo : 메모리 상태를 표시합니다. 'free' 와 같습니다.
 
<<< 디스크 장치 정보 >>>
 
mount : 마운트된 모든 장치와 마운트된 장치들의 마운트 포인트, 파일시스템, 그리고 장치가 읽기 전용인지 아닌지 보여줍니다.
df : 마운트된 장치와 사용된 공간과 사용할 수 있는 공간과 마운트 포인트를 표시합니다. '-h' 옵션을 사용하면 200Kb,102Mb,1Gb 와 같이 알아보기 쉽게 표시합니다.
du -sh * : 디스크 사용량을 표시합니다. 현재 작업중인 디렉토리에 있는 파일과 디렉토리들의 크기를 알아 보기 쉬운 형식으로 표시합니다. 'du --help' 를 하면 더 많은 옵션을 알 수 있습니다.  
cat /proc/filesystems : 현재 시스템에서 사용중인 파일시스템을 표시합니다.
cat /proc/ide/ide0/hda/model : 하드디스크의 모델명을 표시해 줍니다.  
cat /proc/swaps : 스왑 파티션의 크기와 사용량을 보여줍니다.
 
<<< 하드웨어 정보 >>>
 
cat /proc/interrupts : 장치가 사용중인 IRQ를 표시합니다.
cat /proc/ioports : 장치가 사용중인 Input/Output 포트를 표시합니다.
cat /proc/dma : 장치가 사용중인 DMA 채널을 표시합니다.
cat /proc/cpuinfo : 프로세서(CPU)에 대한 정보를 표시합니다.
cat /proc/modules : 로드된 모든 모듈들을 표시합니다. 'lsmod' 와 같습니다.
dmesg : 시스템의 부팅시 나오는 메시지를 부팅후 확인 할때 쓰는 명령어입니다. 쉽게 알아 볼수 없는 말들이 대부분이긴 하지만 이 메시지들을 통해 시스템에 문제가 생길 경우, 문제를 해결할 수 있는 정보를 얻을 수 있습니다. 레드헷 기반의 리눅스 배포판에서는 /var/log/dmesg 파일로 부팅시 마다 저장됩니다.
 
<<< 유저와 유저의 환경에 대한 정보 >>>
 
w : 현재 시스템에 로그인 한 유저들의 리스트와 접속시간, 작업 등을 표시합니다.
who -uH : 현재 로그인된 유저를 표시합니다. 유저가 접속한 터미널, 접속한 시간과 쉬고 있는 시간을 표시합니다.  
whoami : 유저의 아이디를 표시합니다.  
groups : 그룹에 속한 모든 멤버를 표시합니다. 또한 'groups 유저이름' 으로 다른 유저가 속한 그룹의 멤버들을 볼 수 있습니다.
set | less : 환경 설정값을 표시합니다.
id : 유저의 이름, 그룹과 그룹에 속한 유저의 수와 ID를 표시합니다.
pwd : 현재 작업중인 디렉토리를 표시합니다.
last : 누가 언제 로그인했고 어디에서 IP주소를 통한 원격 로그인을 했는지, 얼마나 오랬동안 사용했는지 표시합니다.  
users : Displays a list of currently logged in users. User's logged in to multiple terminals will be listed once for each session.
history : 유저가 이전에 실행한 명령의 리스트를 순서대로 표시합니다. '.bash_history'에 저장되어 있습니다.  
 
<<< 네트워크 정보 >>>
 
ifconfig : 네트워크 인터페이스를 설정내용을 표시하는 명령어입니다. 이것으로 직접 네트워크을 설정을 설정할 수 있습니다. IP 주소, 서브넷 마스크 및 브로드캐스트 주소를 확인 할 수 있습니다.
hostname : 시스템의 호스트이름을 표시합니다.  
route : 해당 호스트까지 연결하는 중간 경로의 표시인 라우팅 테이블을 표시하고 라우팅 정보를 추가.삭제 할 수 있습니다.  
ping : 원결의 호스트와 서로 네트워크의 연결이 정상적으로 이루어졌는지를 확인하는 명령어입니다. 연결 속도등을 테스트 할 수 있습니다.
nslookup : 네임서버에 질의하는 네임 서버 질의 도구입니다. 이를 통해 특정호스트의 IP주소나 자신의 호스트 정보를 알아볼수 있습니다.
netstat : 네트워크 연결 상태를 확인하는 명령어 입니다. 네트워크에 대한 다양한 정보를 제공합니다. 이를 이용하여 네트워크 인터페이스, 네트워크 소켓, 라이팅 테이블과 관련된 자세한 설명을 볼 수 있습니다.

 

일반적인 UNIX사용법

 
[기본 명령어 들]

○passwd(change login password)
  말 그대로 패스워드를 바꾸는 명령이다.
  패스워드는 연상하기 쉽되 자신만의 방법을 만드는 것이 좋다.
  예를 들 면 자판을 영문으로 하고서 '독수리오형제' 라고 치는 것처럼 말이다.
  어떤 시스템은 패스워드에 영문자와 숫자가 꼭 함께 존재해야 한다고 한다.


○exit
  모든 것을 마치고 끝낼 때, 다시 말해 logout 할 때 쓴다.
 
○whoami
  현재의 user name을 나타내 준다.
 
○who
 user name과 접속 방법 그리고 login한 시간을 알려준다.
 
○id
 user ID 와 사용자가 속한 group ID를 알려준다.
 
○users
  login한 user들을 알려준다.
 
○w (who is logged in, and what are they doing)
 현재 누가 login했고 무엇을 하고 있는가를 알려준다.
 
○cal(display a calendar)
 달력을 보여준다.
ex)cal [month] [year]
 % cal 12 1999 => 1999년 12월의 달력을 보여준다.
 
○env(obtain or alter environment variables for command execution)
 자신의 설정되있는 환경변수들을 보여준다.
 
○pwd(return working directory name)
  현재 자신이 있는 디렉토리를 보여준다.
 
○cd(change working directory)
  디렉토리를 바꾸는 명령이다.
ex)
% cd => user의 HOME 디렉토리로 간다.
% cd .. => 현재 디렉토리의 상위 디렉토리로 간다.
% cd [디렉토리 경로] => 정해진 디렉토리로 간다.
pwd 로 바뀐 경로(path)를 확인해 보세요.


○ls(list contents of directory)
  현재의 디렉토리의 내용을 보여준다.(DOS의 dir 명령과 같다.)

(-option)
  -a : 숨겨진 file('.'으로 시작하는 file)까지 보여준다.
  -l : file에 대한 자세한 내용을 보여준다.
  -R : 하위 디렉토리의 내용까지 보여준다.(root 디렉토리에서는 쓰지 마세요.)
  -s : file의 대략적인 크기를 보여준다.
  -t : 최근의 사용순서대로 정렬하여 보여준다. (최근에 사용한 file을 찾을 때)
  * option은 중복하여 사용할 수 있다.
 
ex)ls [-option][filename]
% ls -alr => 숨겨진 file까지 하위 디렉토리의 내용까지 자세하게 보여준다.
  -rw-r--r-- 1 comsin student 3059 8월 12일 12:24 pr
--허가상태--링크수-소유자---group----크기--생성된 날짜,시간-


○touch(change file access and modification times)
  file의 최종 수정시간을 변경시켜준다. 
ex)touch [filename] ->만약 filename에 해당되는 file이 없으면 그 file을 생성한다.


○du(disk usage)
  현 디렉토리의 하위디렉토리들이 사용하고 있는 디스크 용량을 보여준다.
  (option)
   -s : 사용 총량만을 알려준다.
   -a : 모든 file의 사용량을 알려준다.

○df(disk free)
  디스크의 총량과 사용량 남은량등을 알려준다.
  유용한 option으로는 '-k'가 있다.(killo byte 단위로 보여준다.)
 
○chown(change file ownership)
  file의 소유권을 다른 사람에게 넘겨주는 명령이다.
ex)chown [소유자] [file name]


○chgrp(change file group ownership)
  file의 소유권을 다른 그룹으로 넘기는 명령이다.
ex) chgrp [group] [filename or directory]


○cp (copy files)
  file을 카피하는 명령입니다.
 
ex)cp [복사할 file name] [복사될 경로]
   % cp test.file /usr/...../temp
     ==> 이렇게 하면 정해준 경로로 file이 복사 됩니다.
   % cp test.file test.old
     ==> 이 명령은 test.old라는 복사본을 만들어주는 명령입니다.
# cp 명령은 Meta Character( '*', '?'등의)라는 문자로 여러 file을 한꺼번에 복사 할 수 도 있습니다.
   % cp test* ../
     ==> 이 명령은 test로 시작하는 모든 file을 상위 디렉토리로 복사하는 명령입니다.

○mv(move files)
  file을 복사하는 것이 아니고 file을 옮기는 명령입니다.
  사용법은 cp 와 같습니다. 차이점은 복사하는 것과 옮기는 것이겠지요.
  이 명령도 역시 Meta character를 쓸 수 있습니다.
  mv 명령으로 file명을 바꾸자면
  % mv test.file test.test ==> 자 ls 명령으로 확인해 보세요.
 
○rm(remove)
  file을 지우는 명령입니다.
ex)% rm test* ==> test로 시작하는 모든 명령이 지워지겠지요.
    rm -r option은 하위디렉토리까지 지우는 매우 강력하고도 위험한 명령입니다.
   
○mkdir ( make directory)
  새로운 디렉토리를 만드는 명령입니다.


○rmdir (remove directory)
  directory를 삭제하는 명령입니다.
  rmdir은 빈 디렉토리만을 지울수 있습니다.
 
○chsh(change shell)
  자신의 shell을 바꾸는 명령입니다. 이 명령이 없는 경우도 있습니다.(저자의 시스 템)
  이럴때는 그냥 'sh'라고 치면 bourn shell로 'ksh'라고 치면 korn shell로 바꾸어 줍니다.
  다시 C shell로 바꾸고 싶으면 'csh'이라고 치세요.
 
○file(determine file type)
  file의 종류가 무엇인지를 알려줍니다.
ex)file [file name]


○head( display first few lines of files)
  file의 처음 몇 개의 행을 보여주는 명령입니다.
ex)head [-n] [file name] ==> 'n'개의 line을 보여줍니다.


○tail(deliver the last part of a file)
  file의 끝부터 몇 개의 행을 보여주는 명령입니다.
ex)tail [-n] [file name]


○cat(concatenate and display files)
  file의 내용을 보여줍니다. 물론 file이 text file이어야 합니다.
  그리 크지 않은 text file을 볼 때 쓰여집니다.
  왜냐면 스크롤되어서 넘어가면 못보 게 되니까요.
ex) % cat test.file
   -option에는 -s와 -n이 많이 쓰입니다.
   % cat -s test.file ==> 공백라인을 삭제하고 보여줍니다.
   % cat -n test.file ==> 화면에 line number을 붙여주지요.


○more(browse or page through a text file)
  보통 file의 내용을 볼 때 가장 많이 쓰는 명령입니다.
  특징이 file의 내용을 한 화면씩 단계적으로 보여주기 때문 이지요.
  'space bar'를 누르면 다음 화면이 스크 롤 됩니다.
ex) more [option] [file name]
(option)
  -s : 공백 line을 제거하고 보여줍니다.
  +n : 'n'line부터 보여줍니다.
  +/문자열 : 그 문자열이 있는 곳부터 보여줍니다.
 
 more 명령으로 file의 내용을 보다가 'q'를 누르시면 명령이 종료됩니다.
 또 'v'를 누르시면 현재 line에서 VI 편 집기를 시작하게 됩니다.
 '='를 누르면 현재의 라인번호를 알려줍니다.
 또 실행중 ctrl-B를 누르시면 한 화면 전으로 돌아갈 수 있습니다.


○pg(files perusal filter for CRTs)
  more와 같이 많이 쓰이는 명령으로 특징은 파일을 보다가 이전 화면을 볼 수가 있다는 것입니다.
  pg 명령은 Enter 키를 누르면 다음 화면을 보여 줍니다.
ex)pg [option] [file name]

 (option)
  -s : 공백 line을 제거하고 보여줍니다.
  +n : 'n'line부터 보여줍니다.
  +/문자열 : 그 문자열이 있는 곳부터 보여줍니다.
  역시 pg명령으로 file의 내용을 보다가 'q'를 누르면 실행을 종료합니다.
 
****'3l(소문자 L)'을 입력하면 'n'번 라인의 내용을 볼 수 있습니다.****
     그리고 '+nl'은 현재부터 n행이후의 내용을 보여주고 '-nl'은 n행 이전의 내용을 보여줍니다.
     또 pg 명령은 화면을 보면서 '/문자열'을 입력하면 현라인 이후의 내용에서 문자열을 검색할 수 있 고 '?문자열'을 입력하면 이전 부분 에서 그 문자열(패턴)을 검색합니다. 그냥 '/'를 입력하시면 다음 에 매치되는 패턴을 찾아 줍니다.
     '.'는 현재화면을 재 출력해 주고 'v'는 VI 편집기를 실행시켜 줍니다.


○화일 방향 변경(redirection) & Pipes
  Unix는 수 많은 명령들을 가지고 있다. 또한 이 명령들을 함께 사용하여 다양한 일을 할 수 있도록 redirection과 pipe라는 개념을 가지고 있다. 이들은 필터 프로그램과 결 합하여 매우 강력한 힘을 발휘하게 된다.
ex)
  1)출력 방향 변경 ( ' > ' )
    % touch test ==> 빈 file test를 생성.
    % cat test ==> 물론 아무것도 나타나지 않는다.
    % ls -al > test ==> 화면에는 변화가 없다.
    % cat test p ==> 무엇이 나타나나요?
   
  2)출력 방향 변경 추가 ( ' >> " )
    % ls -a >> test ==> 역시 화면에는 아무일 없지요.
    % cat test ==> test file에 내용이 추가 되었지요?
    % rm test* ==> test로 시작하는 모든 file을 지우고
   
    자 cat 명령으로 file을 edit 하는 법을 가르쳐 드리지요.
    % cat > test ==> 그러면 프롬프트가 없어지고 커서가 깜박이지요?
   
    다음 문자열을 입력하세요.
    This is test. ==> Enter 치시고
    ctrl-D ==> 다시 프롬프트가 나오지요. '%' 이렇게요.
    % cat test ==> 어떤가요? 입력한대로 file이 만들어졌지요.
    자 이번에는 test file에 내용을 추가해 보지요.
    % cat >> test ==> 다시 프롬프트가 없어지고 커서가 깜박이지요.
    This is insert. ==> 다시 Enter 치시고요.
    ctrl-D ==> 다시 프롬프트가 나오지요.
    % cat test ==> 내용이 추가 됬네요..
   
  3)입력 방향 변경 ( ' < ' )
 
○wc (display a count of lines, words and characters in a file)
  file 안의 line 수와 단어 수 그리고 문자의 수를 세는 명령입니다.
(option)
  -l : line의 수
  -w : 단어의 수
  -c : 문자의 수

다음의 세가지는 동일한 명령입니다.
  % wc test
  % wc < test
  % cat test | wc
    ==> 모두 라인, 단어, 문자의 수가 출력됩니다.

4) Pipe : 파이프
   Pipe는 명령의 출력을 다른 명령으로 연결하는데에 쓰입니다.
  % who > wc -l ==> 어떤 결과가 나왔을까요?
  % ls -al ==> wc 라는 file이 생성되었지요.
  % who | wc -l ==> 화면에 글자가 찍히네요.


○uniq(report or filter out repeated lines in a file)
  중복된 line들을 제거하고 출력해 줍니다. 중복된 공백 라인도 제거하겠지요.
(option)
  -d :반복되는 라인만 출력
  -c : 중복된 횟수를 나타낸다.
  -u : 반복되지 않는 라인만 출력
 
  % cat >> test ==> 뭔지 아시죠..?
    Enter
    Enter ==> Enter를 세 번 치라는 말입니다.
    Enter
    ctrl-D
  % cat test ==> 공백 라인이 생겼네요.
  % cat test test test > newtest ==> 실행 되겠지요.?
  % cat newtest ==> 됬습니다.
  % uniq newtest ==> 중복된 두 개의 라인이 제거되고 나타나네요.


○Meta Characters and Wild Card
  Meta Character란 다른 문자와는 다르게 독립적으로 다른 의미를 가지고 사용되 는 문자를 뜻한다.
 
  (대표적 메타 케렉터)
  * ? [] : Wild card character
  > >> < | : Redirection Character
  & : Background job character
  $ : Shell 변수의 값을 이용할 때
 
  % ls t* ==> 't'로 시작되는 모든 문자와 대체된다.
  % ls t? ==> 't'로 시작하는 두문자와 대체된다.( ? 가 하나의 문자)
    [a-r] ==> a에서 r까지의 문자와 대체된다.
  % game & ==> game을 백그라운드에서 실행한다.
  % echo $path ==> 환경변수 path의 값을 보여준다


[추가 명령어들]


○man(find and display reference manual pages)
  각 명령어에 대한 online 도움말을 제공한다.
ex) man [명령어]
   이 명령은 자동으로 'more'를 수행한다.


○sort(sort, merge, or sequence check text files)
  정보를 지정한 형식으로 정렬해 주는 명령이다.
ex) sort [file name]
 (option)
  -d : 사전식 정렬
  -f : 대문자를 소문자로 간주
  -n : 수자로 정렬
  -r : 역순 정렬
  +m : m번째 필드로 정렬한다.
 
  % sort test
  % cat test ==> 두 명령의 출력이 다르지요.
 
  또 방향변경(redirection)을 이용할 수 있다.
  % ls -al | sort -f ==> 알파벳 순으로 정렬이 되지요.
  % ls -s | sort -n ==> 크기 순으로 정렬이 되지요.. 이런걸 이용해서 다음을
  % ls -s | sort -n > list ==> list 란 file이 생기지요.
 
○spell(find spelling errors)
  철자 검사를 해주는 명령이다.
ex) spell [file name]
   이 명령은 시스템이 철자 검사를 하기위한 데이터 파일을 필요로 하기 때문에 작은 시스템에서는 이 프로그램을 설치하지 않는다.
   여러분중 그러신 분이 있다면 이 명령은 알고만 계세요.


○nl(line numbering filter)
  라인 번호를 붙여주는 명령이다. cat -n 명령과 같지요. nl의 분신이 cat -n입니 다.
ex) nl [file name]
    % nl test
    % cat -n test ==> 두 명령이 같지요..?
    % ls -al | nl ==> 확인해 보세요..
    이렇게 필터와 Redirection을 쓰면서 어떻게 활용할지 생각해 보세요.
   
(option)
  -ba : 공백라인에도 번호를 붙여준다.
  -bp문자 : 문자가 있는 라인만 번호를 붙인다.
  -s문자 : 번호와 라인을 지정한 문자로 분리해 준다.
 
  % ls -al > test
  % echo "" >> test
  % echo "" >> test ==> 어떻게 됬는지 test를 확인해보세요.
  % ls -al >> test ==> 다시 확인.
  % nl test
  % nl -ba test ==> 두 명령을 비교하세요. 다음은
  % nl -bptest test ==> 확인.
  % nl -bptest -s번째 ==> 확인.


○banner(make posters)
  입력한 문자를 banner style로 찍어준다. 한번 해보세요.
ex) banner [text]
% banner Good-morning!


○bc(arbitrary precision arithmetic language)
  간단한 계산기입니다.
ex)%bc
    1+2+3+4+5+6+7+8+9 ==> 하고 Enter
    45 ==> 답이 나옵니다. 종료는 ctrl-D입니다.
   
[Compress(압축)명령]
○tar(create tape archives, and add or extract files)
  파일들을 묶어주는 명령들이다.(압축하지는 않습니다.)
ex) tar cvf [만들 filename.tar] * ==> 묶을 때 보통 tar이라는 확장자를 씁니 다.
    그러면 filename.tar이라는 파일이 생성 됩니다.
    tar xvf [풀 filename] ==> 묶였던 파일들이 다시 풀립니다.


○compress, uncompress
  파일을 압축하는 명령입니다. compress는 압축 uncompress는 풀어주는 명령입 니다.
ex) compress [filename] ==> filename.Z 가 생성됩니다.
    % compress temp.tar ==> temp.tar.Z 가 생성됩니다.
-v 는 압축률을 보여줍니다.
   % compress -v temp.tar
  
# compress는 tar처럼 새로운 파일을 만드는 것이 아니고 원본파일을 압축하기만 합니다.
% uncompress [압축한 filename] ==> 원래의 파일이 됩니다.


○gzip, gunzip
  역시 파일을 압축하고 푸는 명령입니다. 보통 compress보다 성능이 좋습니다.
  역시 -v option이 있습니다.
ex) gzip [fileanme] ==> filename.gz 가 생성
   % gzip -v temp.tar ==> temp.tar.gz 가 생성됨
  
○gunzip [filename]
% gunzip temp.tar.gz ==> 원본인 temp.tar가 됨



[정보 검색 명령]
○grep(search a file for a pattern)
  file 내에서 정보를 검색하는 명령이다.
 
  (option)
  grep의 옵션을 모두 적으려면 한권의 책이 되므로 여기서는 자주쓰는 것만 적겠습니다.
  -c : 일치되는 라인의 수만을 출력
  -i : 패턴에서 대소문자 구별 무시
  -l : 패턴에 일치하는 파일의 파일명만 출력
  -n : 라인 번호 포함
 
ex) grep [플래그] [패턴] [file name]
  % cat test ==> test의 내용이 다음과 같을 때
  총 6
  drwxr-xr-x 2 comsin student 512 8월 15일 18:23 ./
  drwxr-xr-x 11 comsin other 512 8월 12일 15:46 ../
  -rw-r--r-- 1 comsin student 32 8월 15일 18:23 list
  -rw-r--r-- 1 comsin student 0 8월 15일 19:22 test
  총 8
  drwxr-xr-x 2 comsin student 512 8월 15일 18:23 ./
  drwxr-xr-x 11 comsin other 512 8월 12일 15:46 ../
  -rw-r--r-- 1 comsin student 32 8월 15일 18:23 list
  -rw-r--r-- 1 comsin student 256 8월 15일 19:22 test

% grep test test ==> 의 출력은 다음과 같다.
-rw-r--r-- 1 comsin student 0 8월 15일 19:22 test
-rw-r--r-- 1 comsin student 256 8월 15일 19:22 test

--- 이번에는 /etc/passwd file의 저자의 내용을 살펴보겠다.
% grep comsin /etc/passwd
comsin:x:514:500:이승우:/usr1/comsin:/bin/csh

--- 이번에는 저자의 시스템에서 C shell을 쓰는 인원 수를 알아보겠다.
% grep csh /etc/passwd | wc -l
19 ==> 19명이다.


○echo(echo arguments)
  입력된 명령을 반향(반복)한다.
  % echo * ==> ls 와 같다. ' * ' 는 임의의 문자열이란 뜻
  % echo ? ==> ls ? 와 같다 ' ? ' 는 임의의 한 문자란 뜻
  % echo t* ==> t 로 시작하는 모든 문자열
  % echo 'OK?' ==> 문자열을 화면에 반향시킨다. ' ?'를 문자로 인식



○<< ( hear current )
  '<<'는 '>>'와 같은 흐름 재지정 명령(Redirection)이다.
  '<<'는 입력을 모사 (simulate)하는데 쓰인다.
ex)
% cat -n << endtext > myenv ==> text의 마지막에 endtest를 입력
  my Home Directory is $home.
  my Path is $path.
  current directory is $cwd.
  endtext
% cat myenv ==> 어떻게 되었나요?
이렇게 하면 어떻게 될까요? 확인해보세요.
% cat -n << 'endtext' > myenv ==> $로 시작하는 환경변수가 치환되지 않지요.


○sed(stream editor)
  sed는 파이프라인의 정보의 흐름을 편집하는 명령이다.
ex) sed ' s /피대체어/대체어/플레그 '
    대표적인 플레그는 g(global)이다.
    이는 라인의 모든 패턴을 대체한다는 뜻.
    ' g'를 쓰지 않으면 한 라인에서 하나 만을 대체한다.
    또 ' ; '로 여러 sed 명령을 함께 실행할 수 있다.
   
% who ==> 이 화면 출력과 다음의 화면 출력을 비교해 보세요.
% who | sed 's/pts/Device /'
% more /etc/passwd
% more /etc/passwd | sed 's/:/ - /g'



○awk(pattern scanning and processing language)
  단어 중심으로 text를 분석하는 명령입니다.
  Unix에서 가장 강력한 필터중 하나 입니다.
  그리고 awk는 입력되는 정보를 필드로 나누어 받아들입니다.
  필드는 ' $n '으로 구분합니다.
ex) awk '{command}' 가장 일반적 명령은 print입니다.
    awk '{command}' [file name]
    % who | awk '{print $1}' ==> 확인
   
--- print를 이용해서 정보를 편집할 수 있습니다. ---
% who | awk '{print "user " $1 " is on terminal " $2}'

--- awk는 두 개의 플래그가 있습니다.
첫 번째 : -f -- 명령의 세부 사항을 file 로부터 읽는다는 뜻입니다.
두 번째 : -F문자 -- 입력되는 정보의 필드구분자로서 '문자'를 쓴다는 것입니다.
% awk -F: '{print $7}' /etc/passwd | sort | uniq -c
  => -c 옵션은 중복된 보이게 함

--- $0는 라인 전체를 뜻합니다.
--- 여기서 특수 문자열 두가지를 가르쳐 드리지요. "\t"는 tab이고요 "\n"은 개행입니다.
% ls -lF | awk '{print $5 "\t" $9}'

--- awk 프로그램은 language처럼 변수를 사용할 수 있습니다.
% ls -l | awk '{total =total + $5 ; print total "\t" $9}' ==> total
이렇게 쓸 수도 있지요.
% ls -l | awk '{total += $5 ; print total "\t" $9}'

--- awk에는 NF 와 NR이라는 고마운 변수가 있습미다.
NF : Number of Field의 뜻으로 마지막 필드의 수를 알 수 있습니다.
NR : ordinal number of the current record의 뜻으로 행의 수와 같습니다.
% awk -F: '{print $NF}' /etc/passwd | sort | uniq -c

==> 각 Shell의 수를 알수 있다.
% ls -l | awk '{print NR ":" $0}' ==> 확인

--- awk는 세가지의 과정으로 명령을 처리한다. 각 과정은
첫 번째 : line의 정보를 읽어들이기 전 ( BEGIN )
두 번째 : 각 라인을 읽는다. 정보 추출
세 번째 : 모든 정보를 읽은 후 ( END )

--- 다음 예제는 이것을 응용한 것입니다.
% ls -l | awk 'BEGIN {print "---- this program is testing----"} {total += $5 ; print " totalsize of files = " total "\n"} END { print " total file number = " NR-1 }'
==> 확인하세요.



○tee(replicate the standard output)
  정보의 흐름을 복사하는 명령이다.
  곧 정보의 흐름을 둘로 쪼개는 것이다.
  유일한 option -a 는 file에 덮어쓰지 않 고 첨가하라는 명령이다.
% who | tee who.out
  ==> 화면에 who의 출력도 나오며 who.out란 file에 출력의 내용이 저장된다.
    tee는 출력을 저장할 때 유용하다.
   
# 또다른 와일드 카드 "[ ]" : 문자의 영역을 지정한다.

--- 이 미 알고 있는 ' * '와 ' ? '에 추가해 보자.
% ls -l a* b* c* d* ==> a 나 b c d로 시작되는 모든 file을 검색
% ls -l [abcd]* ==> 같다.
% ls -l [a-d]* ==> 같다.
% ls -al [d-f m .]* ==> d에서 f까지와 ' _ ' ' . ' 로 시작하는 모든 file 을 검색



○whereis(locate the binary, source, and manual page file for a command)
  명령어가 시스템 경로상의 어디에 위치하는가를 알려준다.
ex) % whereis mkdir
      mkdir: /usr/bin/mkdir /usr/man/man1/mkdir.1 /usr/man/man2/mkdir.2
==> 저자의 경우



○find(find files)
  찾고자 하는 file의 위치를 찾아준다.
ex) find [path] [-option] [pattern]
(option )
  -atime [n] : file이 n일 전에 touch(접근)되었으면 'true'
  -ctime [n] : file이 n일 전에 생성되었으면 'true'
  -exec [command] : 명령을 실행
  -mtime [n] : file이 n일 전에 수정되었으면 'true'
  -name [pattern] : 패턴에 맞는 file명이면 'true'
  -type [화일종류] : file의 종류가 맞으면 'true'
   type : 'd' 디랙토리 'f' file 'l' link
  -user [name] : file의 사용자가 name이면 'true'
 
% find . -name " *.c " ==> 현디랙토리 밑에 .c 로 끝나는 모든 파일을 찾는다.
% find /usr1 -user "comsin" ==> file의 소유자가 comsin인 모든 파일


[작업 제어 명령 ]
# Process
  Unix에서 실행중인 프로그램을 process라고 한다.
  Unix는 multiprocessing을 지 원하는 OS로 여러개의 process 가 동시에 수행될 수 있고 OS에서는 process scheduling을 지원한다.
  각 process는 process ID(PID)를 가지고 있 고, 각각의 프 로세서는 상태를 가지고 있다.
  Unix의 process는 계층적인 구조를 가지고 있다.
  현재 사용하는 process(프로그램)의 모드는 foreground라고 하고 잠시 중단시키 거나 뒷편으로 넘겨논 상태의 모드 를 background라고 한다.
   windows에서 이창 저창 띄워놓고 옮겨다니는걸 상상하면 됩니다.
  
ex)
   % man fg ==> 라고 입력하고 ctrl-Z를 눌러보세요. 그럼 중단되었다는 메시지가 나옵니다.
    여기서 다음을 입력하세요.
    % jobs ==> 다음과 같은 출력이 나옵니다.
    [1] + 중단됨 (사용자) man fg
    ===> 다음을 입력하세요.
    % fg
    ===> 아까의 man fg의 화면의 나머지가 다시 나옵니다.
여기서 알수 있는 것은 foreground의 process를 ctrl-Z를 누름으로서 언제든 background로 넘길수 있다는 것과,
jobs명령을 이용해서 background의 내용을 알 수 있다는 것,
그리고 fg 명령으로 다시 foreground로 불러올 수 있 다는 것이다.
사용자의 입력을 요하거나 화면에 출력을 해야 하는 process들은 background에 서는 실행이 중지된다.
그러므로 보통 사용자의 입출력이 필요 없는 경우나 잠시 실행을 중지 시킬 때 background로 process를 실행한다.
background에서 중지되어 있는 명령 background에서 실행시키려면 bg 명령을 준 다.
또 프로그램을 background 로 바로 보낼 때는 명령의 끝에 ' &'를 붙여주면 된다.
% find / -name "*text*" > test.bg & ==> text 라는 문자열이 들어간 모든 file 을 찾아 test.bg에 넣는다.


○fg
  background의 process를 foreground로 실행한다.
ex) fg %[작업 ID] : 작업 ID는 jobs를 실행했을 때 제일 앞에 나오는 수


○bg
  background의 중지된 process를 실행시킨다.
ex) bg %[작업 ID]


○jobs
  background의 작업들의 상태를 보여준다.


○ps(report process status)
  process의 상태를 보여주는 명령입니다.
 
  (option)
  -a : 현재의 터미널과 연관된 모든 process를 보여줌
  -A ; 현재 시스템의 모든 process를 보여준다.
  -e : 현재 실행중인 모든 process를 보여준다.
  -l : 자세한 process의 정보를 보여줍니다.
 
○kill( terminate or signal processes)
  process를 강제로 종료시키는 명령입니다.
ex)kill [-signal] [PID] [%JOBID]

  signal로는 -l 과 -9 이 있다. ' -l '은 시그널의 목록을 제공하고 ' -9 '은 무조건 종료시키는 강력한 명령이 다.
  % man ps & ==> man ps를 background에서 실행
  % ps ==> process의 상태 -- 확인. --
  % jobs ==> job 상태 -- 확인. --
  % kill [PID] or [%JOBID] ==> process man을 종료해 보세요.
  % ps
  % jobs ==> 확인해 보세요.

http://blog.naver.com/klo510/110004310229

Disk Usage : du
디렉토리가 사용하고 있는 용량 확인

h  : 해당 폴더와 하위 디렉토리 개별 용량, 읽기 쉽도록 단위 표시 (222K, 234M, 2G 단위로 표시)

a  : 모든 file의 사용량을 알려준다. (Bite 표시를 하지만 단위 생략)
c  : 해당 폴더와 하위 디렉토리 개별 용량 (Bite 표시를 하지만 단위 생략)
s  : 해당 폴더 전체 용량 (Bite 표시)
ah : 모든 file의 사용량을 알려준다. (222K, 234M, 2G 단위로 표시)
ch : 해당 폴더와 하위 디렉토리 개별 용량 (222K, 234M, 2G 단위로 표시)
sh : 해당 폴더 전체 용량 (222K, 234M, 2G 단위로 표시)


디렉토리 용량 체크

■ 현재 경로 이하의 디렉토리 구조 및 용량 보기
# du

■ 특정 경로에 대한 디렉토리 용량 보기
# du -s [경로명]

■ 용량을 Mbyte 단위로 보기
# du -sh

■ 파티션의 현황 및 용량 체크
# df -h

웹에서 php 체크 하기

<?php
$du=`du -sh ./html/abc`; // 절대경로 또는 상대경로
echo "<pre style=font-size:9pt;>$du</pre>";
?>

LINUX의 여러 가지 설정을 도와주는 프로그램과 파일들.

※ 모두 root로 Log-in 해서 실행하여야 함.


X-Window에 관한 설정.


setup           :    마우스, 키보드, 그래픽카드와 모니터, 시간대, 사운드카드 등을 설정. 사용이 간단함.



XF86Setup      :    마우스, 키보드, 그래픽카드와 모니터, 사용할 해상도 등을 설정할 수 있음.

                   GUI(Graphic User Interface)형태로 설정이 쉬움.



XF86Config     :    마우스, 키보드, 그래픽카드와 모니터 등을 설정할 수 있음..

                   text기반으로 사용하기가 조금 힘듬.



Xconfigurator   :   X-Window의 설정을 설치할 때의 설정 과정을 다시 실행시켜줌.




/etc/X11/XF86Config : X-Window의 색상과 해상도가 기록되어 있는 파일. vi편집기 등으로 몇 부분을 고치면 실행 시에 원하는 색상과 해상도로 option 없이 실행할 수 있음.



 Section "Screen"

 Driver  "....l"              - .... 부분에는 컴퓨터 사양마다 다른 이름이 들어가 있음.

 Device  "...."

 Monitor " ......"



DefaultColorDepth 16     - 이렇게 해 주면 16Bit 하이 컬러로 부팅 할 수 있음. 트루 컬러는 32.



이 파일에 보면 엄청나게 많은 해상도와 컬러에 대한 설정 비슷한 게 있는데 자신이 사용하는 것 이외의 것은 다 지워버려도 상관이 없는 것 같음.  혹시 모르니 지우기 전에 이 파일을 다른 곳에 복사해 두고 할 것.




/etc/inittab : 부팅 할 때 바로 X-Window로 부팅 하게 하는 방법.



부팅을 할 때 그냥 콘솔로 부팅을 할 것인지 부팅을 하면서 바로 X-Window로 부팅을 할 것인지 정해 줄 수 있음.

vi등의 편집기로 고치면 됨..



        # Default runlevel. The runlevels used by RHS are:

        #   0 - halt  (Do NOT set initdefault to this)

        #   1 - Single user mode

        #   2 - Multiuser, without NFS  (The same as 3,  if you do  #  networking)

        #   3 - Full multiuser mode

        #   4 - unused

        #   5 - X11

        #   6 - reboot  (Do NOT set initdefault to this)

        #



        id : 3 : initdefault :



이 부분에서 아랫쪽에 있는 id: 다음에 숫자를 바꿔 주면 됨. 설치 시에 X-Window로 부팅이 되게 해 뒀으면 5가 되어 있고 그렇게 해 주지 않았다면 3이 되어 있음. 3으로 하면 그냥 콘솔로 부팅이 되고 5로 하면 X-Window로 부팅이 됨.



Network에 관한 설정



modemtool    :    modem에 관한 설정을 할 수 있음. 모뎀이 사용하는 포트 등을 설정해 줄 수 있음.

netconf       :    Network의 전반에 관한 설정을 할 수 있음. 일반 모뎀으로 Internet에 접속하는 사람은 여기서                       ppp의 설정을 해 주어야 함.

netcfg        :    Network에 관한 설정을 할 수 있음. ppp로 접속할 때 접속하는 서버의 IP Address와 ID,                            Password등을 설정할 수 있음.



LINUX에서 DOS와 Windows를 넘보는 방법.



mount : LINUX에서 CD-ROM이나 다른 하드디스크(LINUX 이외의 다른 파티션이나 다른 하드디스크)를 사용하려면 수동으로 디렉토리를 할당하고 그 디렉토리 아래로 사용할 장치를 붙여줘야 하는데 이를 mount라고 함.

*mount는 root만 가능.



CD-ROM mount하기.

CD-ROM으로 LINUX를 설치하면 /mnt 아래에 cdrom이라는 디렉토리가 있음.

mount /mnt/cdrom ������     자신의 위치가 /mnt 라면 그냥 cdrom만 넣어도 됨.

이렇게만 하면 CD-ROM이 mount됨.

CD-ROM으로 설치하지 않은 경우.

mount /dev/hdc /mnt/cdrom ������

앞에 /dev/hdc는 장치명. 이 경우는 CD-ROM이 세컨더리 마스터로 설치된 경우.

* hda : 프라이머리 마스터,  hdb : 프라이머리 슬레이브, hdc : 세컨더리 마스터, hdd : 세컨더리 슬레이브.



다른 하드디스크의 경우도 같음.

만약 하나의 하드디스크를 파티션해서 WINDOWS와 LINUX를 같이 쓰고 있다면 /sbin/cfdisk /dev/hda 명령으로 자신의 파티션(프라이머리 마스터)을 볼 수 있음.

프라이머리 마스터에 달려있는 하드디스크가 Windows, LINUX swap, LINUX native로 나눠진 경우에는 모두 프라이머리 마스터이므로 hda뒤에 순서대로 번호가 붙음.

보통 Windows가 설치된 C드라이브가 hda1. 그러므로 이것을 mount 하려면 일단 /mnt디렉토리 아래에 Windows 부분을 mount할 디렉토리를 만들어 줌. (여기서는 win이라는 이름의 디렉토리를 만들겠습니다.)

mkdir /mny/win ������

mount /dev/hda1 /mnt/win ������

이렇게 mount해 주면 /mnt/win에 Windows가 설치된 부분이 들어감.



DOS로 포맷한 플로피디스크 사용방법.

이 경우에는 도스 명령 앞에 'm'을 붙여서 사용하면 됨.

mdir : 파일 리스트 표시.                mtype : 파일 내용 보기.         mcopy : 파일 카피.

mmove : 파일 이동.                     mdel : 파일 지우기.             mmk : 디렉토리 만들기.

mrm : 디렉토리 지우기.         mcd : 디렉토리간의 이동 ( 상위 디렉토리는 cd..   cd와 ..사이를 붙임)

mren : 파일이나 디렉ㅌ리 이름 바꾸기.   mformat : 포맷하기.



DOS의 개행 문자(^M) 없애기.

DOS나 Windows에서 작성한 txt파일 등의 경우 행이 끝나는 부분에 ^M이라는 표시가 있음.

이는 LINUX와 DOS의 캐리지 리턴값이 틀리기 때문에 DOS의 개행 문자(새로운 행의 시작을 알리는 문자)가 ^M으로 표시되는 것.

없애는 방법.

변환 프로그램 사용하기.

dos2unix   -n   DOS파일명   새로 만들어질 LINUX파일명

fromdos    DOS파일명    새로 만들어질 LINUX파일명

tr -d '\015' < DOS파일명 > 새로 만들어질 LINUX파일명

perl -pi -e 's/\r//' DOS파일명

sed 's/^M//g' DOS파일명 > 새로 만들어질 LINUX파일명    ( ^M은 ������+������를 누른 다음 ������+������ )

vi에서 사용하기 : vi 명령모드에서 %s/^M//g   ( ^M은 ������+������를 누른 다음 ������+������ )



LINUX에서 작성한 txt파일을 DOS나 Windows에서 사용하기 위해서..

LINUX에서 작성한 파일을 DOS나 Windows로 보면 개행 문자가 들어갈 자리에  모양이 들어가 있고 개행이 되지 않음. 이런 것을 DOS용으로 바꿔 주는 방법.

unix2dos    -n     LINUX파일명    새로 만들어질 DOS파일명

todos    LINUX파일명    새로 만들어질 DOS파일명



LINUX에서 DOS와 Windows의 응용프로그램을 실행시키려면 각각 DOSEmu 과 Wine 이라는 에뮬레이터가 필요합니다.  에뮬레이터의 설치 방법과 사용 방법을 다른 것을 참고하기 바람.



LINUX에서 여러 프로그램을 연계해서 실행하기.



명령이나 프로그램명 사이에 ‘|’기호를 넣어 주면 됨.

ex> 파일이 많은 디렉토리 등에서 l명령으로 파일의 리스트를 보면 한 화면에 모두 표시되지 않고 그냥 지나간다.

    이럴 때 l | more ������해 주면 more에서 파일의 내용을 보는 방법으로 파일의 리스트를 볼 수 있다.



여러 가지 도움말들.



man : 매뉴얼을 보여줌. ex> man ls ������ 하면 ls에 대한 매뉴얼을 보여줌.

info : GNU 의 info 문서를 보여줌. ex> info ls ������ 하면 ls에 대한 GNU info를 보여줌.

whatis : 간단한 설명을 보여줌. ex> whatis ls ������ 하면 ls에 대한 간단한 설명을 보여줌.



LINUX의 여러 편집기.



vi.

UNIX에서 가장 널리 쓰이는 편집기. Syntex hilighting기능이 있음. 사용이 조금 까다로움.

콘솔에서    vi   편집할 파일명(새로 만들 파일명) ������ 이렇게 입력을 하면 사용할 수 있음.

파일의 확장자에 따라서 Syntex hilighting(키워드나 변수 명 등의 색을 다르게 보여주는 기능)기능이 있음. 예를 들어 sori.cpp라는 파일을 만들면 자동으로 C++에 사용되는 키워드 등이 다른 색으로 나타남.

사용방법.

세 가지 모드로 작동이 됨.

명령모드 : 처음 vi편집기를 실행시키면 명령모드. 여기서 ‘i’를 입력하면 입력모드로 들어 감.

  명령모드에서 쓰이는 명령들 : de-한 단어 정도를 지움, d-한 글자 혹은 한 줄을 지움. 명령모드에서 'd'를 누른 후

  화살표로 지울 대상을 정함. ������의 경우 커서 오른쪽에 있는 한 글자를 지움. ������의 경우 커서가 위치한 줄을 지움.

입력모드 : 명령모드에서 ‘i’를 누르면 화면 아래에 -- INSERT -- 라는 문구가 생기고 입력모드로 들어감. 입력

          모드에서 다시 명령 모드로 나가려면 ������를 누르면 됨.

최하위행 모드 : 저장, 종료 등의 명령을 하는 부분. 명령모드에서 ‘:’를 누르면 화면 아래에 콜론(:)이 생기고 그 뒤에

               명령어를 입력. w-저장, q-종료, wq-저장 후 종료..



emacs.

emacs  편집할 파일명(새로 만들 파일명) ������ 하면 사용할 수 있음. vi에 비해 사용이 간단함.

������+������를 누른 다음 ������+������  :  파일 저장

������+������를 누른 다음 ������+������  :  emacs종료

������+������를 누른 다음 ������+������  :  다른 파일 불러오기



pico.

pico  편집할 파일명(새로 만들 파일명) ������ 하면 사용할 수 있음. 사용이 간단. 화면 하단에 사용 방법이 나와 있음.



프로그래밍.



리눅스 배포판 안에 여러 컴파일러가 들어 있음. 편집기로 소스파일을 작성 후 컴파일 하면 됨.



C 컴파일러 : gcc  소스파일명 ������ 하면 컴파일이 됨

     Option : -l  특정 라이브러리 사용. gcc  소스파일명 -l라이브러리명



C++ 컴파일러 : c++  소스파일명 ������ 하면 컴파일이 됨



Fortran 컴파일러 : g77  소스파일명 ������ 하면 컴파일이 됨

     Fortran 소스를 C로 변환해 주는 프로그램 : f2c  포트란의 소스파일명 ������ 하면 변환됨. 이렇게 변경해준

     소스를 컴파일 하려면 gcc  f2c로 변경한 소스파일명  -lp2c 라고 붙여줌.



그 외에 Pascal(컴파일러 : gpc, C로 변환 : p2c), Perl(컴파일러 필요 없음), Java(컴파일러 : javac), Tck/tk등이 있음.




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

시스템의 정보를 /proc 화일들을 통해 간략하게 알 수 있습니다.

/proc/cmdline : 현재 사용중인 부트 이미지( 명령행줄 )

/proc/cpuinfo : cpu의 상세정보

/proc/devices : 커널에 로드된 device들

/proc/dma : DMA 채널

/proc/filesystems : 현재 사용가능한 화일시스템

/proc/interrupts : 사용중인 IRG 정보

/proc/ioports : 사용중인 i/o 포트 정보

/proc/meminfo : 현재 사용중인 메모리

/proc/pci : pci 정보

/proc/partitions : 파티션 정보

/proc/swaps : 스왑파티션정보

/proc/version : 커널 버전




Unix 기본 명령어

ls [-option][file/directory] : 디렉토리의 내용을 화면에 출력

cd : 현재 디렉토리를 바꿈

cp file1 [file2] target : 지정된 파일을 다른 이름으로 복사

mv <현재 이름><변경될 이름> : 디렉토리 또는 파일의 이름을 변경

rm [-f][i]file : 파일 혹은 디렉토리를 삭제

mkdir [-m]mode[-p]<경로><디렉토리 이름> : 새로운 디렉토리를 만듬

rmdir [-ps]<디렉토리이름> : 지정된 디렉토리를 제거

pwd : 현재의 작업디렉토리를 화면에 출력

cat : 파일의 내용을 표준 출력 장치로 내보내는 명령어

df [-lt][-f][{}] : 슈퍼블록에서 카운트하고 있는 마운트된 파일 시스템, 디렉토리에서 사용가능한 디스크블록과 freeinode수를 알려줌

chmod mode file : 지정된 파일에 대한 사용 권한을 변경하고자 할 때 사용

du : 사용자 자신의 디스크 사용 상황을 블록 단위로 출력해줌

grep [option] limited regular expression [file] : 파일에서 특정한 패턴을 찾는데 사용되며, 그 패턴을 포함하고 있는 모든 행을 출력함

kill [-sihno] PID  : 지정한 프로세서에게 종료신호를 보내는 명령어

ps : 컴퓨터 시스템에서 활동중인 프로세서의 상태를 알려주는 명령

ln [-f][-n][-s]file1[file2] target : 두개의 파일을 연결하여 사용

sort [option]files : 파일을 정렬 혹은 병합

tail : 지정된 파일의 끝 부분을 출력

tar [-]{txruc}[vwfblm][0-7[lmh]][tapefile][blocksize]file1 file2  : 파일들을 자기 테이프에 저장 또는 불러오기 위한 명령어

wc file : 텍스트 파일에 담겨져 있는 문자 수, 단어 수 및 라인 수를 화면에 출력하는 명령

passwd : 자신의 암호를 등록하거나 변경할 때 사용

chgrp group file : 지정된 파일의 소유권자 그룹을 바꾸는 명령

chown owner file : 지정된 파일에 대한 소유 권한을 변경하고자 할 때 사용






아파치 서버 접속자수 netstat -anp | grep :80 | wc -l

현재 시스템 사용량 top

사용중인 프로세스 보기 ps -ax or ps -aux | grep ~

프로세스 중단 kill -9 번호

메일 삭제법 /var/spool/mail 폴더 아래에 자신의 아이디를 지우면 된다.

http 데몬 설정확인 /usr/local/apache/bin/httpd -t

http 데몬 다시시작 /usr/local/apache/bin/httpd restart

Apache 서버 다시시작 /usr/local/apache/bin/apachectl restart

ProFTP 서버 다시시작 /etc/rc.d/init.d/proftpd restart

파일, 디렉토리 소유권 바꾸기 chmod * ID

FTP 현제 접속자 확인 ftpwho (or ftpcount)

mail 이동(옮기기) cat /var/spool/mail/ID | formail -s sendmail 보낼-이메일주소

http 방문자 히트수표시 grep "GET / HTTP" /var/log/httpd/access_log | wc -l

Log 파일 삭제 /var/log 디렉토리에 있는 파일중(filename.number) 숫자부분이 있는 파일만 삭제하면 된다




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


시스템 관리시 알아두면 편리한 명령어들을 위주로 상세 설명한 글(첫번째)



chown, chgrp



chown 명령어는 파일의 소유권을 바꿔줍니다. root가 특정 사용자가 소유한 파일을 다른 사용자용으로 바꾸려고 할 때 유용하게 쓰입니다. 하지만, 일반 사용자는 자신이 소유한 파일조차도 소유권을 바꿀 수 없습니다.

 root# chown bozo *.txt
 


chgrp 명령어는 파일의 그룹 소유권을 바꿔줍니다. 이 명령어를 쓰려면 그 파일의 소유자이고 바꾸려는 그룹의 멤버여야 합니다(혹은 root이거나).


chgrp --recursive dunderheads *.data

# $PWD 디렉토리의 모든 하위 디렉토리("recursive"에 의해)의

# 모든 "*.data" 파일들은 "dunderheads" 그룹이 그 소유권을 갖습니다.


 


useradd, userdel



관리자용 명령어인 useradd는 시스템에 사용자 계정을 추가해 주고 그 사용자용으로 지정된 홈 디렉토리를 만들어 줍니다. useradd와 쌍을 이루는 userdel는 시스템에서 사용자 계정을 삭제해 주고 해당 파일들도 삭제해 줍니다.



참고: adduser 명령어는 useradd의 동의어로서, 보통 useradd를 가르키는 심볼릭 링크 파일입니다.



id



id 명령어는 현재 사용자의 실제 ID와 유효 사용자 ID, 그룹 ID를 보여줍니다. 내부 bash 변수인 $UID, $EUID, $GROUPS와 짝을 이룹니다.


bash$ id

uid=501(bozo) gid=501(bozo) groups=501(bozo),22(cdrom),80(cdwriter),81(audio)


bash$ echo $UID

501


 


who



시스템에 현재 로그인해 있는 모든 사용자를 보여줍니다.



 

bash$ who

bozo tty1 Apr 27 17:45

bozo pts/0 Apr 27 17:46

bozo pts/1 Apr 27 17:47

bozo pts/2 Apr 27 17:49


 


-m을 주면 오직 현재 사용자에 대한 자세한 정보만을 보여줍니다. who am i나 who The Man처럼 who에 아무 인자나 두 개 넘겨주면 who -m 이라고 한 것과 같습니다.



 

bash$ who -m

localhost.localdomain!bozo pts/2 Apr 27 17:49


 


whoami는 who -m 과 비슷하지만 사용자 이름만 보여줍니다.



 

bash$ whoami

bozo


 


w



로그인 되어 있는 사용자와 그 사용자와 관련된 모든 프로세스를 보여 줍니다. 이는 who의 확장 버전인데, w의 출력에 grep으로 파이프를 걸어서 특정한 사용자나 프로세스를 찾을 수 있습니다.

아래는 bozo가 startx 라는 명령어를 실행하고 있다는 것을 알수 있습니다.



 

bash$ w | grep startx

bozo tty1 - 4:22pm 6:41 4.47s 0.45s startx


 


logname



현재 사용자의 로그인 이름을 /var/run/utmp에서 찾아서 보여줍니다. 위에서 설명한 whoami와 거의 동일한 명령어입니다.



 

bash$ logname

bozo


bash$ whoami

bozo

그렇지만...
 


 

bash$ su

Password: ......


bash# whoami

root

bash# logname

bozo


 


즉 로그인 할 당시의 계정을 알수 있는 명령어입니다..



su



다른 사용자(substitute user)로 프로그램이나 스크립트를 실행 시킵니다. rjones란 사용자로 쉘을 새롭게 시작하고 싶으면 su rjones라고 하면 됩니다. 옵션 없이 su만 실행시키면 기본적으로 root 로 받아들입니다.



users



로그인 하고 있는 모든 사용자를 보여줍니다. 이 명령어는 who -q 와 거의 비슷한 명령어입니다.



ac



사용자가 로그인 해 있던 시간을 /var/log/wtmp 에서 읽어서 보여줍니다. 이 명령어는 GNU 계정 유틸리티(accounting utility) 중 하나입니다.



 

bash$ ac

total 68.08


 


last



사용자가 마지막으로 로그인 한 시간을 /var/log/wtmp에서 읽어서 보여줍니다. 이 명령어는 외부에서 로그인 한 정보도 보여줄 수 있습니다.



groups



현재 사용자가 속해 있는 그룹을 보여줍니다. 내부 변수인 $GROUPS에 해당하는 명령어이지만 숫자가 아닌 그룹 이름으로 보여줍니다.



 

bash$ groups

bozita cdrom cdwriter audio xgrp


bash$ echo $GROUPS

501


 





newgrp



로그아웃 없이 사용자의 그룹 ID를 변경하기. 이 명령어를 쓰면 새 그룹의 파일에 접근할 수 있게 됩니다. 사용자는 보통 동시에 여러 그룹의 멤버이기 때문에 이 명령어를 쓸 일은 별로 없습니다



uname

시스템 사양(OS, 커널 버전등)을 표준출력으로 보여줍니다. -a 옵션을 주면 시스템 정보를 아주 자세하게 보여주고(예 12-4 참고), -s 옵션을 주면 OS 종류만 보여줍니다.



 

bash$ uname -a

Linux localhost.localdomain 2.2.15-2.5.0 #1 Sat Feb 5 00:13:43 EST 2000 i686 unknown


bash$ uname -s

Linux


 



arch

시스템 아키텍쳐를 보여줍니다. uname -m 과 동일한 명령어입니다. 예 10-24를 참고하세요.



 

bash$ arch

i686


bash$ uname -m

i686


 



lastcomm

/var/account/pacct 파일에 저장돼 있는 이전 명령어들에 대한 정보를 알려줍니다. 옵션으로 명령어와 사용자 이름을 지정해 줄 수 있습니다. 이 명령어는 GNU 계정 유틸리티(accounting utility)중의 하나입니다.



lastlog

시스템의 모든 사용자가 마지막으로 로그인한 시간을 보여줍니다. 이 명령어는 /var/log/lastlog 파일을 참조합니다.



 

bash$ lastlog

root tty1 Fri Dec 7 18:43:21 -0700 2001

bin **Never logged in**

daemon **Never logged in**

...

bozo tty1 Sat Dec 8 21:14:29 -0700 2001


bash$ lastlog | grep root

root tty1 Fri Dec 7 18:43:21 -0700 2001


 



경고 : /var/log/lastlog 파일에 읽기 퍼미션이 없는 사용자가 이 명령어를 실행시키면 실패합니다.



lsof

현재 열려 있는 파일들을 보여줍니다. 이 명령어는 현재 열려 있는 모든 파일들에 대한 자세한 표와 각각의 파일에 대한 소유자, 크기, 관련 프로세스등의 정보를 보여 줍니다. 당연히, lsof의 출력은 파이프를 통해 grep나 awk로 넘겨서 파싱해서 분석할 수 있습니다.



 

bash$ lsof

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

init 1 root mem REG 3,5 30748 30303 /sbin/init

init 1 root mem REG 3,5 73120 8069 /lib/ld-2.1.3.so

init 1 root mem REG 3,5 931668 8075 /lib/libc-2.1.3.so

cardmgr 213 root mem REG 3,5 36956 30357 /sbin/cardmgr

...


 



strace

시스템 콜과 시그널을 추적해서 진단하고 디버깅해 주는 도구입니다. 가장 간단하게 실행시키는 방법은 strace COMMAND라고 치는 것입니다.



 

bash$ strace df

execve("/bin/df", ["df"], [/* 45 vars */]) = 0

uname({sys="Linux", node="bozo.localdomain", ...}) = 0

brk(0) = 0x804f5e4

...


이 명령어는 리눅스에서의 truss 입니다.


 



free

메모리와 캐쉬 사용량을 탭이 들어간 형태로 보여줍니다. 이 명령어의 출력은 grep이나, awk, Perl을 써서 파싱하기에 알맞은 형태입니다. procinfo 명령어는 free가 보여주는 정보 이외에 더 많은 정보도 보여줍니다.



 

bash$ free

total used free shared buffers cached

Mem: 30504 28624 1880 15820 1608 16376

-/ buffers/cache: 10640 19864

Swap: 68540 3128 65412


 



사용하지 않는 램 용량을 보려면:



 

bash$ free | grep Mem | awk '{ print $4 }'

1880


 





procinfo

/proc 가상 파일시스템에서 여러 정보와 통계를 뽑아내서 광범위하고 자세하게 보여 줍니다.



 

bash$ procinfo | grep Bootup

Bootup: Wed Mar 21 15:15:50 2001 Load average: 0.04 0.21 0.34 3/47 6829


 



lsdev

설치된 하드웨어 디바이스의 목록을 보여줍니다.



 

bash$ lsdev

Device DMA IRQ I/O Ports

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

cascade 4 2

dma 0080-008f

dma1 0000-001f

dma2 00c0-00df

fpu 00f0-00ff

ide0 14 01f0-01f7 03f6-03f6

...


 



du

디스크의 파일 사용량을 재귀적으로 보여줍니다. 특별히 지정하지 않으면 현재 디렉토리에 대해서 동작합니다.



 

bash$ du -ach

1.0k ./wi.sh

1.0k ./tst.sh

1.0k ./random.file

6.0k .

6.0k total


 



df

파일시스템 사용량을 탭이 들어간 형태로 보여 줍니다.



 

bash$ df

Filesystem 1k-blocks Used Available Use% Mounted on

/dev/hda5 273262 92607 166547 36% /

/dev/hda8 222525 123951 87085 59% /home

/dev/hda7 1408796 1075744 261488 80% /usr


 



stat

주어진 파일(디렉토리나 디바이스 파일도)에 대해서 자세한 통계(statistics)를 알려줍니다.



 

bash$ stat test.cru

File: "test.cru"

Size: 49970 Allocated Blocks: 100 Filetype: Regular File

Mode: (0664/-rw-rw-r--) Uid: ( 501/ bozo) Gid: ( 501/ bozo)

Device: 3,8 Inode: 18185 Links: 1

Access: Sat Jun 2 16:40:24 2001

Modify: Sat Jun 2 16:40:24 2001

Change: Sat Jun 2 16:40:24 2001


 



존재하지 않는 파일에 대해서 stat을 실행시키면 에러 메세지를 냅니다.



 

bash$ stat nonexistent-file

nonexistent-file: No such file or directory


 



vmstat

가상 메모리(virtual memory) 통계(statistics)를 보여줌.



 

bash$ vmstat

procs memory swap io system cpu

r b w swpd free buff cache si so bi bo in cs us sy id

0 0 0 0 11040 2636 38952 0 0 33 7 271 88 8 3 89


 



netstat

라우팅 테이블이나 활성화되어 있는 네트워크 연결같은 네트워크 통계와 정보를 보여 줍니다. 이 유틸리티는 /proc/net(28장)에서 정보를 얻어 옵니다. 예 28-2을 참고하세요.



uptime

시스템이 얼마나 오랫동안 돌고 있었는지 관련 통계와 함께 보여줍니다.



 

bash$ uptime

10:28pm up 1:57, 3 users, load average: 0.17, 0.34, 0.27


 



hostname

시스템의 호스트명을 보여줍니다. 이 명령어는 /etc/rc.d 에 들어 있는 셋업 스크립트에서 호스트명을 설정해 줍니다(/etc/rc.d/rc.sysinit이나 비슷한 스크립트). uname -n과 동일한 명령어이고 내부 변수인 $HOSTNAME과 연관이 있습니다.



 

bash$ hostname

localhost.localdomain


bash$ echo $HOSTNAME

localhost.localdomain


 



hostid

호스트 머신에 대한 32비트 16진수 구분자를 에코해 줍니다.



 

bash$ hostid

7f0100


 



참고: 이 명령어는 특정 시스템에 대해 "유일한"(unique) 시리얼 숫자를 구해줍니다. 몇몇 상업용 제품의 등록 과정에서 이 숫자를 이용해 사용자 라이센스를 만들어 냅니다. 하지만 불행하게도 hostid는 오직 네트워크 주소를 두 바이트 단위로 뒤집어 16진수로 리턴해 줍니다.

네트워크에 물리지 않은 리눅스 머신의 전형적인 네트워크 주소는 /etc/hosts에서 알아낼 수 있습니다.



 

bash$ cat /etc/hosts

127.0.0.1 localhost.localdomain localhost


 



공교롭게도 127.0.0.1을 두 바이트 단위로 뒤집으면 0.127.1.0이 되고 이를 16진수로 변환하면 007f0100이 되는데 이는 위에서 살펴본 hostid가 리턴하는 값과 정확히 일치합니다. 결국 동일한 hostid를 갖는 리눅스 머신이 수 백만 개가 존재하게 되는 것입니다.



logger



 

사용자가 만들어낸 메세지를 시스템 로그(/var/log/messages)에 추가 시킵니다. 이 명령어는 일반 사용자도 쓸 수 있습니다.

logger Experiencing instability in network connection at 23:10, 05/21.

# 자, 이제 'tail /var/log/messages' 라고 해 보세요.


 





 

스크립트에 logger 명령어를 넣어서 디버깅 정보를 /var/log/messages에 쓸 수 있습니다.

logger -t $0 -i Logging at line "$LINENO".

# "-t" 옵션은 logger 엔트리용 태그를 지정합니다.

# "-i" 옵션은 프로세스 ID를 지정합니다.

# tail /var/log/message

# ...

# Jul 7 20:48:58 localhost ./test.sh[1712]: Logging at line 3.


 



logrotate

이 유틸리티는 시스템 로그 파일들을 적당하게 로테이트 시키고, 압축하고, 지우고, 메일을 보내는 일들을 처리해 줍니다. 보통 crond은 logrotate를 가장 기본적인 하루 일과로 삼습니다.

/etc/logrotate.conf에 적당한 내용을 적어주면 시스템 전체 로그뿐만 아니라 개인용 로그 파일을 관리할 수 있습니다.



ps

프로세스 통계(Process Statistics): 현재 실행중인 프로세스들을 사용자와 PID(프로세스 아이디)에 의해서 보여줌. 보통은 ax 옵션을 줘서 부르고, grep이나 sed로 파이프를 걸어서 특정 프로세스를 찾습니다(예 11-8와 예 28-1 참고).



 

bash$ ps ax | grep sendmail

295 ? S 0:00 sendmail: accepting connections on port 25


 



pstree

현재 실행중인 프로세스를 "나무"(tree) 형태로 보여 줍니다. -p 옵션을 주면 프로세스 이름뿐만 아니라 PID까지 보여 줍니다.



top

cpu를 집중적으로 사용하는 프로세스를 중심으로 최신 정보를 계속 보여줍니다. -b 옵션은 결과를 텍스트 모드로 보여주기 때문에 파싱을 하거나 스크립트에서 접근할 수가 있습니다.



 

bash$ top -b

8:30pm up 3 min, 3 users, load average: 0.49, 0.32, 0.13

45 processes: 44 sleeping, 1 running, 0 zombie, 0 stopped

CPU states: 13.6% user, 7.3% system, 0.0% nice, 78.9% idle

Mem: 78396K av, 65468K used, 12928K free, 0K shrd, 2352K buff

Swap: 157208K av, 0K used, 157208K free 37244K cached


PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND

848 bozo 17 0 996 996 800 R 5.6 1.2 0:00 top

1 root 8 0 512 512 444 S 0.0 0.6 0:04 init

2 root 9 0 0 0 0 SW 0.0 0.0 0:00 keventd

...


 



nice

백그라운드 작업의 우선순위를 바꿔줍니다. 우선순위는 19(제일 낮음)에서 -20(제일 높음)까지 인데, 오직 root만이 음수(높은) 우선순위를 줄 수 있습니다. 관련 명령어로는 renice, snice, skill이 있습니다.



nohup

사용자가 로그 아웃을 하더라고 명령어가 계속 돌게 해 줍니다. 명령어에 &를 붙여 실행하지 않으면 포그라운드로 실행이 될 것입니다. nohup을 스크립트에서 쓸 때는, 고아 프로세스나 좀비 프로세스가 생기지 않도록 wait과 같이 써야 합니다.



pidof

실행중인 작업의 프로세스 ID(pid)를 식별해 줍니다. kill이나 renice같은 작업 제어 명령어들은 프로세스 이름이 아니라 pid에 대해 동작하기 때문에 종종 pid로 구분할 필요가 생깁니다. pidof 명령어는 내부 변수인 $PPID와 거의 쌍을 이룹니다.



 

bash$ pidof xclock

880


 





 

예 13-4. pidof 로 프로세스를 죽이기


#!/bin/bash

# kill-process.sh


NOPROCESS=2


process=xxxyyyzzz # 존재하지 않는 프로세스를 가지고,

# 그냥 데모용임...

# ... 실제로 돌고 있는 어떤 프로세스도 죽이려고 하는게 아니니까.

#

# 하지만, 예를 들어 인터넷에서 로그오프하고 싶다면

# process=pppd

# 됩니다.


t=`pidof $process` # $process의 pid(프로세스 ID)를 찾고,

# 'kill'은 프로그램 이름이 아니라 pid를 쓰기 때문에


if [ -z "$t" ] # 해당 프로세스가 없다면 'pidof'는 널을 리턴함.

then

echo "$process 는 현재 실행중이 아니므로 그냥 종료합니다."

exit $NOPROCESS

fi


kill $t # 잘 죽지 않는 프로세스라면 'kill -9'라고 해야 할지도 모릅니다.


# 죽지 않게 돼 있는 프로세스일수도 있기 때문에

# 다시 한 번 " t=`pidof $process` " 로 확인해 볼 필요가 있습니다.


# 위 전체 스크립트는

# kill $(pidof -x process_name)

# 이라고 할 수도 있겠으나 그러면 교육적이지는 않은것 같군요.


exit 0


 



fuser

어떤 파일이나, 파일 집합, 디렉토리에 접근하고 있는 프로세스를 PID로 식별해 줍니다. -k 옵션을 쓰면 해당 프로세스를 죽일 수 있습니다. 이 명령어는 시스템 보안 차원에서 아주 흥미로운 구현인데 주로 스크립트에서 쓰여 시스템 서비스에 대해 허가 받지 않은 사용자의 접근을 막는 용도로 쓰입니다.



crond

시스템 관리용 스케쥴러 프로그램으로서, 시스템 로그 파일을 정리하고 지운다거나 slocate 데이타 베이스를 업데이트 하는 등의 일을 해 줍니다. at의 루트 사용자 버전용 명령어입니다(물론, 각 사용자는 crontab 명령어를 써서 자신만의 crontab 파일을 가질수도 있습니다). 데몬으로 돌면서 /etc/crontab의 내용들을 스케쥴에 따라 실행시켜 줍니다.



init

init 명령어는 모든 프로세스의 부모 프로세스로서, 시스템 부팅 과정의 제일 마지막에 불리면서 /etc/inittab을 읽어서 시스템의 런레벨을 결정합니다. 오직 루트만이 별명인 telinit으로 부를 수 있습니다.



telinit

init를 가르키는 심볼릭링크로서, 시스템 런레벨을 바꿀 때 쓰는데 보통은 시스템 관리나 긴급하게 파일시스템을 수리해야 할 때 씁니다. 오직 루트만 이 명령어를 쓸 수 있습니다. 이 명령어는 아주 위험하기 때문에 쓰기 전에 이 명령어를 잘 이해하고 있어야 합니다!



runlevel

현재와 바로 전의 런레벨을, 시스템이 정지 상태인지(런레벨 0), 단일 사용자 모드인지(1), 다중 사용자 모드인지(2나 3), X 윈도우 모드인지(5), 리부팅 중인지(6)등으로 보여 줍니다. 이 명령어는 /var/run/utmp 파일을 통해 정보를 얻어 옵니다.



halt, shutdown, reboot

보통 시스템 전원을 끄기 전에 시스템을 정지시키는 명령어들.



ifconfig

네트워크 인터페이스 설정및 튜닝 유틸리티. 이 명령어는 부팅시 인터페이스를 설정할 때나 리부팅때 인터페이스를 내리기 위해 쓰입니다.



 

# /etc/rc.d/init.d/network 의 일부분

# ...

# 네트워킹이 가능한지 확인.

[ ${NETWORKING} = "no" ] && exit 0


[ -x /sbin/ifconfig ] || exit 0


# ...


for i in $interfaces ; do

if ifconfig $i 2>/dev/null | grep -q "UP" >/dev/null 2>&1 ; then

action "Shutting down interface $i: " ./ifdown $i boot

fi

# "grep"의 GNU 전용인 "-q" 옵션은 "quiet"를 뜻하고, 어떤 출력도 하지 않게 합니다.

# 따라서 출력을 /dev/null 로 재지향 하는 것이 꼭 필요하지 않습니다.


# ...


echo "현재 동작중인 디바이스:"

echo `/sbin/ifconfig | grep ^[a-z] | awk '{print $1}'`

# ^^^^^ globbing 을 막기 위해 쿼우트 시켜야 합니다.

# 다음도 역시 동작합니다.

# echo $(/sbin/ifconfig | awk '/^[a-z]/ { print $1 })'

# echo $(/sbin/ifconfig | sed -e 's/ .*//')


 



route

커널 라우팅 테이블 정보를 보거나 바꿀 수 있게 해 줍니다.



 

bash$ route

Destination Gateway Genmask Flags MSS Window irtt Iface

pm3-67.bozosisp * 255.255.255.255 UH 40 0 0 ppp0

127.0.0.0 * 255.0.0.0 U 40 0 0 lo

default pm3-67.bozosisp 0.0.0.0 UG 40 0 0 ppp0


 



chkconfig

네트워크 설정을 체크해줌. 이 명령어는 /etc/rc?.d 디렉토리에 들어있고 부팅시 시작되는 네트워크 서비스들을 보여주고 관리해 줍니다.



원래는 IRIX에 있던 것을 레드햇 리눅스가 포팅한 것으로 다른 리눅스 배포판에서는 기본 설치에 속하지 않을 수도 있습니다.



 

bash$ chkconfig --list

atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off

rwhod 0:off 1:off 2:off 3:off 4:off 5:off 6:off

...


 



tcpdump

네트워크 패킷 "스니퍼". 주어진 기준에 맞는 패킷 헤더의 덤프를 떠서 네트워크 트래픽을 분석하고 문제점을 해결할 수 있게 해 줍니다.



bozoville 와 caduceus 두 호스트간의 IP 패킷 트래픽을 덤프:



 

bash$ tcpdump ip host bozoville and caduceus


 



당연히 tcpdump의 출력은 앞에서 논의했던 텍스트 처리 유틸리티들을 이용해서 파싱할 수가 있습니다.




mount

파일시스템을 마운트해 줍니다. 보통은 플로피나 시디롬 같은 외부 디바이스에 대해서 쓰입니다. /etc/fstab에 가능한 파일시스템이나 파티션, 디바이스, 옵션등을 적어 놓으면 자동이나 수동으로 마운트를 편하게 할 수 있습니다. /etc/mtab 파일은 /proc 같은 가상 파일시스템도 포함해서 현재 마운트 되어 있는 파일 시스템을 보여 줍니다.



mount -a 는 /etc/fstab에 들어 있는 파일 시스템과 파티션중에 noauto 옵션이 있는 항목만 빼고 모두 마운트 해 줍니다. 부팅될 때, 모든 파티션이 마운트 되도록 /etc/rc.d 디렉토리에 들어 있는 시스템 구동 스크립트(rc.sysinit이나 비슷한 것)에서 이 명령어를 부릅니다.



 

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

# CDROM 마운트

mount /mnt/cdrom

# /mnt/cdrom 이 /etc/fstab 에 들어 있을 경우 짧게 부르기


 



이 다재다능한 명령어는 보통 파일을 블럭 디바이스에 존재하는 파일 시스템처럼 마운트 할 수도 있습니다. 이런 능력은 루프백 디바이스(loopback device)라고 하는 파일을 이용해서 가능해 집니다. 이 루프백 디바이스를 적용한 예로서, ISO9660 이미지를 CDR로 굽기 전에 마운트해서 테스트 해보는 것이 있습니다. [3]



 

예 13-5. CD 이미지 확인하기


# 루트로...


mkdir /mnt/cdtest # 마운트 포인트가 없다면 준비함.


mount -r -t iso9660 -o loop cd-image.iso /mnt/cdtest # 이미지 마운트.

# "-o loop" 옵션은 "losetup /dev/loop0" 와 같음.

cd /mnt/cdtest # 이제 이미지를 확인.

ls -alR # 이미지에 들어있는 디렉토리 트리에 들어 있는 파일들을 나열.

# 기타 등등...


 



umount

현재 마운트 되어 있는 파일 시스템을 언마운트 해 줍니다. 이미 마운트 되어 있는 플로피나 시디롬 디스크를 빼기 전에 꼭 umount를 해 줘야 합니다. 안 그러면 파일 시스템이 깨질 수도 있습니다.



 

umount /mnt/cdrom


 



# 이제 이젝트 버튼을 눌러 디스크를 안전하게 뺄 수 있습니다.



참고: automount 유틸리티가 적절하게 설치되어 있다면 플로피나 시디롬 디스크에 접근시나 제거시에 자동으로 마운트와 언마운트를 할 수 있습니다. 플로피나 시디롬 드라이브를 꼈다 뺐다 할 수 있는 랩탑에서는 문제를 일으킬 수도 있습니다.



sync

버퍼에 들어 있는 최신 데이타를 하드 드라이브로 즉시 쓰게 합니다(버퍼와 드라이브를 동기화). 이 명령어가 꼭 필요한 것은 아니지만 시스템 관리자나 사용자에게 자신들이 변경한 데이타가 갑작스런 전원 이상에도 살아남을 수 있게 해 줍니다. 예전에는 sync; sync(아주 확실히 하기 위해서 두 번 내림)라고 해서 시스템을 리부팅하기 전의 유용한 예방책으로 쓰였습니다.



파일을 안전하게 지우거나(예 12-33) 천장의 전등이 깜빡이기 시작했을 때 버퍼를 즉시 플러쉬시키고 싶을 때가 있을지도 모릅니다.



losetup

루프백 디바이스를 설정해 줍니다.



 

예 13-6. 한 파일에서 한번에 파일 시스템 만들기


SIZE=1000000 # 1 meg


head -c $SIZE < /dev/zero > file # 지정된 크기로 파일을 설정.

losetup /dev/loop0 file # 루프백 디바이스로 설정.

mke2fs /dev/loop0 # 파일 시스템 만들기.

mount -o loop /dev/loop0 /mnt # 마운트.


 



mkswap

스왑 파티션이나 스왑 파일을 만들어 줍니다. 이 명령어 다음에는 꼭 swapon으로 활성화를 시켜줘야 합니다.



swapon, swapoff

스왑 파티션이나 스왑 파일을 활성화/비활성화 시켜 줍니다. 이 명령어는 보통 부팅시나 셧다운시에 효력을 갖습니다.



mke2fs

리눅스 ext2 파일시스템을 만들어 줍니다. 이 명령어는 루트로 실행 시켜야 합니다.



 

예 13-7. 새 하드 드라이브 추가하기


#!/bin/bash


# 시스템에 두 번째 하드 드라이브 추가하기.

# 소프트웨어 설정. 하드웨어가 이미 마운트돼 있다고 가정함.

# 본 문서의 저자가 "Linux Gazett", http://www.linuxgazette.com, 38호에

# 쓴 기사에서 발췌.


ROOT_UID=0 # 이 스크립트는 루트로 실행 시켜야 됩니다.

E_NOTROOT=67 # root 가 아닌 경우의 종료 에러.


if [ "$UID" -ne "$ROOT_UID" ]

then

echo "이 스크립트는 루트만 실행시킬 수 있습니다."

exit $E_NOTROOT

fi


# 이 스크립트는 정말 주의해서 쓰기 바랍니다!

# 만약 무언가가 잘못된다면 여러분의 파일 시스템을 홀라당 날려먹을 수 있습니다.



NEWDISK=/dev/hdb # /dev/hdb 가 비어 있다고 가정함. 꼭 확인해 볼 것!

MOUNTPOINT=/mnt/newdisk # 아니면 다른 마운트 포인트 지정.



fdisk $NEWDISK

mke2fs -cv $NEWDISK1 # 배드 블럭 확인및 자세한 출력.

# 주의: /dev/hdb 가 *아니라* /dev/hdb1 입니다!

mkdir $MOUNTPOINT

chmod 777 $MOUNTPOINT # 새 드라이브는 모든 사용자가 접근할 수 있도록 함.



# 자, 테스트를 해 보죠.

# mount -t ext2 /dev/hdb1 /mnt/newdisk

# 디렉토리를 만들어 보고 잘 된다면 umount 한 다음 하던 일을 계속하면 됩니다.


# 마지막 단계:

# 다음을 /etc/fstab 에 추가해 주세요.

# /dev/hdb1 /mnt/newdisk ext2 defaults 1 1


exit 0


 



tune2fs

ext2 파일 시스템을 튜닝해 줍니다. 최대 마운트 숫자같은 파일 시스템 매개변수를 바꾸는데 쓰일 수 있습니다. 루트로 실행해야 됩니다.



주의 : 이 명령어는 굉장히 위험합니다. 부주의하게 쓴다면 여러분 파일 시스템을 박살낼 수도 있기 때문에 여러분 스스로 책임을 지고 써야 합니다.



dumpe2fs

아주 자세한 파일 시스템 정보를 표준출력으로 덤프해 줍니다. 루트로 실행되야 합니다.



 

root# dumpe2fs /dev/hda7 | grep 'ount count'

dumpe2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09

Mount count: 6

Maximum mount count: 20


 



hdparm

하드 디스크 매개변수를 보여주거나 바꿀 수 있습니다. 루트로 실행시켜야 되고 잘못 쓸 경우 위험할 수 있습니다.



fdisk

보통은 하드 드라이브일, 저장용 디바이스에 대해서 파티션 테이블을 만들고 변경할 수 있게 해 줍니다. 루트로 실행해야 됩니다.



주의 : 이 명령어는 아주 조심해서 써야 됩니다. 만약에 뭔가가 잘못되면 여러분의 파일 시스템을 망가트릴 수도 있습니다.



fsck, e2fsck, debugfs

파일 시스템 체크, 치료, 디버그용 명령어들.



fsck: 유닉스 파일 시스템을 체크해 주는 프론트 엔드(front end)로서 다른 유틸리티가 이 명령어를 부름. 실제로 체크할 파일 시스템 타입은 ext2가 기본으로 잡혀 있습니다.

e2fsck: ext2 파일 시스템 체커.

debugfs: ext2 파일 시스템 디버거.



경고 : 이 명령어들은 루트로 실행시켜야 합니다. 잘못 쓰면 파일 시스템이 손상되거나 망가질 수도 있습니다.



badblocks

저장용 디바이스에 대해 배드 블럭(미디어의 물리적인 결함)을 체크해 줍니다. 새 하드 드라이브를 설치하고 포맷할 때나 백업 미디어의 무결성을 테스트 해보려고 할 때 쓸 수 있습니다. [4] 예를 들어 badblocks /dev/fd0 라고 하면 플로피 디스크를 테스트해 줍니다.



badblocks 명령어는 모든 데이타를 다 덮어써버리도록 불릴 수도 있고 읽기 전용 모드로 안전하게 불릴 수도 있습니다. 루트 사용자가 테스트할 디바이스를 소유하고 있다면, 보통 그런 상황일테지만, 루트가 이 명령어를 실행시켜야 합니다.



mkbootdisk

예를 들어 MBR(master boot record)이 깨진 상황등에서 시스템을 다시 살릴 수 있도록 부팅 디스켓을 만들어 줍니다. mkbootdisk는 실제로는 Erik Troan이 만든 Bash 스크립트로 /sbin 디렉토리에 들어 있습니다.



chroot

루트 디렉토리를 바꿔줍니다(CHange ROOT directory). 명령어들은 보통 기본 루트 디렉토리인 /를 기준으로 $PATH에 따라 해석됩니다. 이 명령어는 이 루트 디렉토리를 다른 곳으로 바꾼다음 작업 디렉토리도 그 쪽으로 바꿔줍니다. 보안용으로 아주 유용한데, 예를 들면 시스템 관리자가 텔넷으로 접속중인 사용자를 보안과 관련된 파일 시스템에 접근시키지 않으려 할 때에 사용할 수 있습니다(가끔 guest 사용자를 "chroot 감옥"(chroot jail)에 가둔다라고도 합니다). chroot후에는 시스템 바이너리에 대한 실행 경로가 더 이상 맞지 않는 것에 주의하기 바랍니다.



chroot /opt 라고 하면 /usr/bin을 /opt/usr/bin이라고 해석합니다. 비슷하게, 보통의 상황에서는 /를 기본 디렉토리로 삼지만 chroot /aaa/bbb /bin/ls 라고 하면 그 후로 실행되는 ls는 /aaa/bbb을 기본 디렉토리로 인식합니다. 사용자의 ~/.bashrc에 alias XX 'chroot /aaa/bbb ls' 라는 줄을 넣으면 그 사용자가 "XX"를 실행 시키는 파일 시스템을 효과적으로 제한할 수 있습니다.



chroot는 비상용 부트 플로피로 부팅했을 때 편하게 쓸 수 있고(/dev/fd0에 chroot 걸기), 시스템이 박살나서 고치려고 할 때 lilo에 옵션으로 줄 수도 있습니다. 또한 다른 파일 시스템을 통해서 설치를 할 경우나(rpm 옵션), CDROM 같은 읽기 전용 파일 시스템에서 실행할 때 쓸 수 있습니다. 오직 루트 사용자로 실행할 수 있으며, 조심해서 써야 합니다.



경고 : 몇 개의 시스템 파일들은 chroot된 디렉토리에 복사해 놓아야 $PATH가 그들을 제대로 인식할 수 있습니다.



lockfile

이 유틸리티는 procmail 패키지 중의 하나입니다(www.procmail.org ). 이 명령어는 잠금 파일을 만들어 주는데, 잠금 파일이란 특정 파일이나 디바이스, 리소스에 대해서 접근 제어를 해주는 세마포어 파일입니다. 잠금 파일은 이 특정한 파일, 디바이스, 리소스를 특정 프로세스가 쓰고 있다("busy")는 플래그로 쓰여, 다른 프로세스에게 제한된 접근만을 허용하거나 아예 접근을 못하도록 만들어 줍니다.



잠금 파일은 여러 사용자에 의해 시스템 메일 폴더가 동시에 변경되는 것을 막아주고, 모뎀 포트가 사용중이라는 것을 알려주며, 넷스케이프가 캐쉬를 사용중이라는 것을 보여주는데 쓰일 수 있습니다. 스크립트에서 특정 프로세스가 만들어 놓은 잠금 파일이 있는지 확인해서 그 프로세스가 이미 떠 있는지 알아낼 수도 있습니다. 만약에 스크립트에서 이미 존재하는 잠금 파일을 다시 만들려고 한다면 그 스크립트는 멈춰 버릴 수도 있으니 조심하기 바랍니다.



보통의 어플리케이션들은 잠금 파일을 만들고 체크하는 기본 디렉토리를 /var/lock 으로 삼습니다. 다음 스크립트처럼 해서 잠금 파일이 있는지 없는지를 확인할 수 있습니다.



 

appname=xyzip

# "xyzip" 어플리케이션은 "/var/lock/xyzip.lock" 란 잠금 파일을 만듭니다.


if [ -e "/var/lock/$appname.lock ]

then

...


 



mknod

블럭 디바이스나 문자 디바이스 파일을 만들어 줍니다(예를 들면 하드웨어를 새로 설치할 경우에 필요하겠죠?).



tmpwatch

특정 기간동안 접근이 없는 파일을 자동으로 지워줍니다. 보통은 오래된 로그 파일을 지우기 위해 crond에 걸어 놓고 씁니다.



MAKEDEV

디바이스 파일을 만들어 주는 유틸리티로서, 루트로 실행시켜야 합니다. 이 명령어는 /dev 디렉토리에 있습니다. root# ./MAKEDEV



이 명령어는 일종의 mknod의 향상된 버전입니다.



dump, restore

dump 명령어는 복잡한 파일 시스템 백업 유틸리티로서 보통은 규모가 큰 설치와 네트워크에서 쓰입니다. [5] 디스크 파티션을 있는 그대로(raw) 읽고 바이너리 형태로 백업 파일을 만들어 냅니다. 백업 되는 파일들은 디스크나 테입 드라이브같은 다양한 저장 미디어로 저장됩니다. restore 명령어는 dump로 백업된 파일들을 복구시켜 줍니다.



fdformat

플로피 디스크에 대해서 로우레벨 포맷을 해 줍니다.



ulimit

시스템 리소스에 대해서 최대 한계(upper limit)를 지정해 줍니다. 보통 -f 옵션을 써서 쉘이 만들 수 있는 파일 크기를 제한 시킵니다(ulimit -f 1000 이라고 하면 파일 크기를 1 메가로 잡아 줍니다). -t 옵션은 코어덤프 파일의 크기를 제한 시킵니다(ulimit -c 0 이라고 하면 코어덤프를 생성시키지 않습니다). ulimit 값은 보통, /etc/profile이나 ~/.bash_profile에서 지정해 줍니다(27장 참고).



umask

사용자(User) 파일 생성 마스크(MASK). 사용자 각자의 기본 파일 속성을 제한해 줍니다. 사용자가 생성하는 모든 파일은 umask로 지정된 속성의 영향을 받습니다. umask로 넘겨준 값은 해당 파일 소유권을 꺼버립니다. 예를 들어, umask 022 는 새로 만들어 지는 파일이 최소한 755 소유권을 갖도록 해 줍니다(777 NAND 022). [6] 사용자는 당연히 나중에 그 파일의 속성을 chmod로 바꿀 수 있습니다. 보통 umask 값을 설정할 때는 /etc/profile이나 ~/.bash_profile에서 합니다(27장 참고).



rdev

루트 디바이스, 스왑 영역, 비디오 모드에 대한 정보를 얻거나 변경. rdev의 기능은 lilo로 넘어갔지만 아직 램 디스크를 설정할 때는 유용합니다. 역시 잘못 쓰면 위험한 명령어입니다.



lsmod

설치된 커널 모듈을 보여줍니다.


bash$ lsmod

Module Size Used by

autofs 9456 2 (autoclean)

opl3 11376 0

serial_cs 5456 0 (unused)

sb 34752 0

uart401 6384 0 [sb]

sound 58368 0 [opl3 sb uart401]

soundlow 464 0 [sound]

soundcore 2800 6 [sb sound]

ds 6448 2 [serial_cs]

i82365 22928 2

pcmcia_core 45984 0 [serial_cs ds i82365]


 


insmod

커널 모듈을 강제로 올립니다. 루트로 실행해야 합니다.



modprobe

보통 시스템 구동 스크립트에서 자동으로 불리는 모듈 로더.



depmod

모듈간 의존 파일을 만들어 줍니다. 보통 시스템 구동 스크립트에서 불립니다.



env

현재의 환경 변수, 혹은 그 값을 바꿔 프로그램이나 스크립트를 실행 시킵니다(시스템 전체 환경은 건드리지 않습니다). [varname=xxx] 옵션을 주면 스크립트가 실행될 동안에만 환경 변수 varname의 값을 바꿔줍니다. 아무 옵션도 안 주면 현재 세팅되어 있는 모든 환경 변수를 보여줍니다.


참고: Bash나 본쉘에서 파생된 다른 쉘들에서는 단일 명령어 환경에서 변수를 설정하는 것이 가능합니다.

var1=value1 var2=value2 commandXXX

# 'commandXXX' 의 환경에서만 $var1 과 $var2 를 설정.


 


작은 정보: 스크립트의 첫번째 줄("#!"가 있는 줄)에 env를 써서 경로를 모르는 쉘이나 명령어 해석기를 지정해 줄 수도 있습니다.


#! /usr/bin/env perl


print "펄이 어디에 있는지 몰라도\n";

print "이 펄 스크립트는 잘 동작할 것입니다.\n";


# 펄 실행 파일이 원하는 곳에 없을 수도 있기 때문에

# 이식성 있는 크로스 플랫폼용 스크립트에 아주 좋습니다.


 


ldd

실행 파일에 필요한 공유 라이브러리를 보여줍니다.


bash$ ldd /bin/ls[/color][/b]

libc.so.6 => /lib/libc.so.6 (0x4000c000)

/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)


 


strip

실행 가능한 바이너리 파일에서 디버깅용 심볼릭 참조 정보를 제거해 줍니다. 이 명령어를 쓰면 실행 파일의 크기는 작아지지만 디버깅은 할 수가 없습니다.



주로 Makefile에서나 나오고 쉘 스크립트에서는 잘 쓰이지 않습니다.



nm

strip 되지 않은 컴파일된 바이너리에 들어 있는 심볼들을 보여줍니다.



rdist

리모트 분산 클라이언트: 리모트 서버에 있는 파일 시스템으로 동기화, 복사, 백업을 해 줍니다.



지금까지 배운 관리자용 명령어들에 대한 지식을 가지고 시스템 스크립트를 살펴 보도록 하겠습니다. killall은 시스템 셧다운시에, 돌고 있는 프로세스를 멈추게 해 주는 프로세스로서, 짧으면서도 이해하기 쉬운 스크립트중의 하나입니다.

예 13-8. killall, /etc/rc .d/init.d 에서 인용


#!/bin/sh


# --> "# -->" 표시는 본 문서의 저자가 붙인 주석입니다.


# --> 여기서 소개하는 부분은

# --> Miquel van Smoorenburg(<miquels@drinkel.nl.mugnet.org>)의

# --> 'rc' 스크립트 패키지중의 일부입니다.


# --> 이 스크립트는 레드햇 전용 스크립트인 것처럼 보이기 때문에

# --> 다른 배포판에는 없을 수도 있습니다.


# 쓰이지 않으면서 실행중인 모든 서비스를 죽입니다(실제로 실행중인지를

# 확실히 확인하기 때문에 아무 서비스도 안 죽일 수 있습니다).


for i in /var/lock/subsys/*; do

# --> 표준 for/in 루프이나 "do" 가 같은 줄에 있기 때문에

# --> ";" 를 붙여줘야 됩니다.

# 스크립트가 실제로 있는지 확인.

[ ! -f $i ] && continue

# --> "and list"를 아주 잘 썼습니다. 다음처럼 해도 똑같습니다.

# --> if [ ! -f "$i" ]; then continue


# 서브시스템 이름을 알아냅니다.

subsys=${i#/var/lock/subsys/}

# --> 변수 이름 매칭인데 여기서는 파일 이름이 되겠죠.

# --> subsys=`basename $i` 와 완전히 똑같은 표현입니다.


# --> 잠금 파일의 이름을 알아내는데, 잠금 파일이 있다면

# --> 해당 프로세스가 실행중이라는 증거입니다.

# --> 앞에서 설명했던 "lockfile" 을 참고하세요.



# 그 서브시스템을 내립니다.

if [ -f /etc/rc.d/init.d/$subsys.init ]; then

/etc/rc.d/init.d/$subsys.init stop

else

/etc/rc.d/init.d/$subsys stop

# --> 쉘 내장명령인 'stop'을 써서 돌고 있는 작업과 데몬을 중지시킵니다.

fi

done

LINUX

명령어

Option

설         명

비   고

ls


자신이 위치한 디렉토리에 있는 파일들의 이름을 보여줌

LiSt 의 준말

>을 사용해서 출력문을 파일로 저장할 수 있음..

ex> ls > ls.txt       = 파일리스트가 화면에 보이지 않고 ls.txt파일로 저장됨.

파일의 종류는 이름 뒤에 붙은 기호로 알 수 있음..

 ‘/’가 붙으면 디렉토리

 ‘*’가 붙으면 실행파일

-l

파일에 대한 정보를 자세하게 보여줌..

ex>ls -l ������

drwxrwxr-x      1       root      root   1024   apr 11 21:20  Mail/

파일속성,권한 링크된파일수 소유자 소유그룹 크기 최종수정일  파일이름

  └������ 앞에 한자리는 파일의 종류, 다음은 세 자리씩 끊어서 파일에 대한 자신의 권한, 자신이 속한 그룹의 권한, (다른 그룹의)다른 사람의 권한

파일 속성.. 앞에서부터..

 d :  디렉토리임을 나타냄

 r : 읽기가 허락됨

 w : 쓰기가 허락됨

 x : 실행이 허락됨

 - : 허락 안됨

cd


디렉토리간의 이동.. 절대 경로를 쓰면 바로 이동할 수 있음..

상위 디렉토리로 이동 cd .. (DOS 와는 다르게 cd와 .. 사이를 띄워야함)

Change Directory 의 준말

 .. 은 상위 디렉토리

 .  은 현재 디렉토리

cat


Text 파일 등의 내용을 보여줌

나눠서 볼 수 없음

 > 는 출력의 결과를 그쪽으로 보내라는 뜻


여러 파일 합치기

ex> $ cat sori0 sori1 sori2 > sori

sori0 sori1 sori2 라는 세 파일을 sori라는 파일로 묶어 줌

more


Text 파일 등의 내용을 보여줌

Enter 키를 누르면 내용을 한 줄 더 보여줌

Space bar를 누르면 다음 장을 보여줌

B를 누르면 한화면 앞을 보여줌

나눠서 볼 수 있음

화면 아래에 내용이 몇%남아 있는지 보여줌..

--More--(10%)

file


파일의 종류를 보여줌..


chmod


자기소유의 파일에 대한 다른 사람의 권한을 바꿔 줌

chmod       go+rx              han

        권한을 바꿔줌..    바꿔줄 파일 이름

 g : 자신이 속한 그룹

 o : 다른 사람들..

 + : 허가  ,  - : 불허

type


실행 프로그램을 찾아줌

사용하는 Shell이 bash

which


실행 프로그램을 찾아줌

사용하는 Shell이csh(tcsh)

du

-s

디렉토리의 크기를 보여줌

디렉토리가 사용하는 블록의 개수를 보여줌

DOS와는 다르게 ls명령으로는 디렉토리의 크기나 HDD의 남은 용량을 알 수 없음..

-sh

알아보기 쉽게 Mb단위로 보여줌

자신이 위치한 디렉토리 아래에 있는 디렉토리의 크기를 알아 보려면 뒤에 디렉토리 명을 적어주면 됨.

ex> du -sh Mail Myself

Mail과 Myself 디렉토리의 크기를 보여줌.

rm


파일을 지움.. 여러개의 파일 이름을 적어주면 한꺼번에 지울 수 있음.

  *,? 등의 와일드카드 사용가능

-fr

파일을 포함하고 있는 디렉토리를 지움

mv


파일이나 디렉토리 이동..

파일이나 디렉토리의 이름을 바꿈

mv 이동할파일(디렉토리)명 이동할장소명

이동할 장소가 이미 있는 디렉토리면 이동이 되고 없는 디렉토리(파일)명이면 이름이 바뀜

cp


파일을 복사함. 다른 이름으로 복사를 할 수도 있고 여러 개의 파일로 복사 할 수 있음.

cp  복사할파일명  복사되는새파일명

cp  복사할파일명  디렉토리


-r

디렉토리를 통째로 복사.

touch


빈 파일 만들기.. touch 새파일명

일반 사용자가 파일의 사용시간 바꾸기... touch 기존의파일명


리눅스 사용에 필요한 명령어와 설정을 도와주는 것들.. 그리고 주요 프로그램들..

명령어

Option

설         명

비   고

mkdir


디렉토리 만들기


-p

하위 디렉토리 같이 만들기..

ex> Myself 디렉토리와 그 아래에 있는 Sturdy 디렉토리를 동시에 만들 때  $ mkdir -p Myself/Sturdy

rmdir


디렉토리 지우기.. 파일이 들어 있는 디렉토리는 지워지지 않음.


pwd


자신의 위치를 알아보기. 자신이 위치한 디렉토리를 절대 경로로 보여줌.


df

-h

하드디스크의 남은 용량을 보여줌.. h 옵션을 붙여야 Mb 단위로 보여줌.


head


파일의 앞부분(10 줄) 만 보여줌..

파일의 앞부분

-n

보고싶은 만큼 정해서 봄 ex> head -n 15 sori.txt   = 15줄을 보여줌

tail


파일의 뒷부분만 보여줌

파일의 뒷부분

-n

보고싶은 만큼 정해서 봄

-f

파일을 계속 지켜 보면서 크기가 늘어나면 늘어난 만큼만 더 보여줌

find

-name

이름으로 파일 찾기.   ex> $ find -name '*.txt'

와일드키드 사용가능

-print 옵션을 안 붙이면 화면에 보이지 않음

 -exec, -ok에서

 {} 는 찾은 파일.

 \; 명령이 끝났음을 알림

-print

찾은 파일 화면에 출력.  ex> $ find -name '*.txt' -print

-exec

찾은 파일에 대해서 쉘의 명령어 수행.

ex> $ find -name '*.txt' -exec rm {} \;

-ok

찾은 파일에 대해서 쉘의 명령어를 물어보고 수행

ex> $ ind -name '*.txt' -ok rm {} \;

grep


파일 내에서 원하는 문자열을 찾아줌

와일드키드 사용가능

-n

찾은 문자열이 몇번째 행에 있는지 알려줌

sed

-e

주어진 명령에만 따르는 편집기.

명령에 따라 행단위로 편집

ex> $ sed -e 's/windows/linux/g' < sori0.txt > sori1.txt

sori0.txt파일의 windows라는 문자열을 linux라는 문자열로 바꿔서 sori1.txt.에 저장

-e 옵션은 편집하라는 뜻

‘ ’ 안에 s는 치환 하라는 뜻

‘ ’ 안에 g는 한행에 같은 단어가 여러번 나와도 모두 실행 하라는 뜻

sort


텍스트파일의 내요을 정렬.  (ASCII 순서대로 정렬)

행단위로 정렬

-n에서 지면 관계상 옆으로 씀.

-r

ASCII 역순으로 정렬

-n

숫자의 크기대로 정렬

ASCII 순서로 정렬 : 1 10 100 2    숫자 크기로 정렬 : 1 2 10 100

od


이진 파일의 내용을 8진수로 보여줌


-x

16진수로 보여줌

-c

포함한 문자열을 같이 보여줌

strings


이진 파일에서 문자열만 추출하여 보여줌.


chown


파일등의 소유자를 바꿔 줌.


at

-f

지정한 시간에 명령어 수행.

at -f '수행할 명령‘ 10:00pm


gzip


파일을 압축함.. 하나의 파일만 압축할 수 있음.


gunzip


압축을 풀어줌.


tar

cvz

여러 파일을 하나로 묶어줌

ex>$ tar cvf sori.tar sori.cpp sori.txt etc

tar cvf 묶인후파일명 묶을파일(디렉토리)들을 나열


czvf

파일을 묶으면서 압축  ex> tar czvf sori.tar.gz sori.cpp sori.txt etc

xvf

묶인 파일을 풀어줌  (.tar)

xzvf

압축해서 묶인 파일을 풀어줌  (.tar.gz)


 

명령어

Option

설         명

비   고

echo


 echo $SHELL   =  자신이 지금 사용하고 있는 쉘을 알려줌


shutdown

-h

종료.  ex> shutdown -h 23:00     = 밤 11시에 종료한다.

당장 실행하려면 시간 대신 now를 씀

-r

재부팅

halt


종료

root 가 아니면 실행 전에 암호를 물음.

reboot


재부팅

useradd


사용자를 추가함..  정해진 암호 없음, 홈 디렉토리는 /home/사용자 ID,

사용자 그룹은 사용자 ID와 같은 그룹이 생김, 쉘은 root와 같음.

root 만 가능

-p

추가하는 사용자의 암호를 정해줌 ex>$ useradd -p password sori

 ID : sori , Password : password 라는 사용자가 생김

-d

추가하는 사용자의 홈 디렉토리를 정해줌

-g

추가하는 사용자의 그룹을 정해줌

-s

추가하는 사용자의 쉘을 정해줌

userdel


사용자 삭제. 홈 디렉토리는 삭제되지 않음.

root 만 가능

-r

사용자와 사용자의 홈디렉토리를 삭제

whoami


자신이 누구인지(어떤 ID로 Log in 했는지)보여줌..

ID 만 보여줌

id


자신의 ID와 자신이 속한 그룹의 이름. 거기에 할당된 번호를 보여줌.

뒤에 다른 ID를 적으면 그 ID의 정보를 얻을 수 있음.

root에 할당된 번호는 ‘0’

finger


사용자에 대한 상세한 정보를 보여줌. ex>$ finger sori


su


다른 사람의 ID를 잠시 사용. ex>$ su sori    = sori라는 ID잠시 사용.

그냥 su만 치면 잠시 root가 됨.

비밀 번호를 알아야 함.

logout


사용자 Log out.


han


콘솔에서 한글 사용.

한.영 변환 : ������+������

exit


su 나 han에서 빠져 나오기.


passwd


암호 바꾸기. root는 다른 사람의 암호를 마음대로 바꿀 수 있음.


PS1


프롬프트 바꾸기.

ex> PS1="[\u@\h \W]\\$“     =  [sori@SON Myself]$

 \u : 사용자, \h : 호스트 이름, \W : 현재 디렉토리(w는 전체경로)

 \t : 시간, \d : 날짜 \n : 개행문자, \s : 쉘의 이름, \# : 명령번호

 \! : History번호, \\ : ‘\’,  

 ‘\’뒤에 ASCII의 10진

코드를 적으면 그 문자를 표시할 수 있음.

wc


파일 안의 행과 단어 글자 수를 세어줌


-l

파일 안의 행의 수만 세어줌

alias


별명을 만들어줌. 자주 쓰는 명령어를 간단한 별명으로 정의 할 수 있음..

예를 들어 l 은 ls -l (이건 미리 정해져 있음)

alias를 입력하면 미리 정해져 있는 별명들을 볼 수 있음.

새로운 별명을 정의 할 때. alias 별명=‘명령어’

ex> alias tz='tar xzvf'

사용하는 쉘이 tcsh 일 때는 중간에 ‘=’을 안씀.

ex> alias tz 'tar xzvf'

history


실행했던 명령어의 목록을 보여줌.

 !! : 방금 실행했던 명령 다시 실행.

 !c++ : c++로 시작되는 명령어중 가장 최근에 실행한 명령 다시 실행.

방향키 ↑를 누르면 사용한 명령어들이 차례대로 나옴.

&


명령을 Background에서 작업하게 할 때 사용. 명령 가장 뒤에 붙임.


jobs


지금 실행중이거나 일시 정지 중인 명령들을 보여줌.


kill


실행 중이거나 일시 정지 중인 명령 강제 종료.  ex>kill %1

% 다음에 오는 번호는 jobs명령으로 봤을 때 나오는 번호.

-9

 kill 만으로 종료가 안될 때 더 강력하게 종료.

-KILL, -SIGKILL 도 같은 뜻임.

fg


현재 정지중인 프로그램을 Foreground에서 재실행.   ex> fg %1

bg


현재 정지중인 프로그램을 Background에서 재실행.   ex> bg %1

ps


사용자가 실행한 프로그램의 목록을 보여줌

root는 다른 사용자가 실행중인 프로그램도 중지시킬 수 있음.

aux

다른 사용자가 실행하고 있는 프로그램 목록까지 보여줌.

우선 전 jsp를 사용하기 때문에

wst1.5와 톰켓5.5 그리고 자바6.0을 사용중입니다.

우선 자바는 설치 하셨겠죠?? ㅋㅋㅋㅋ

그럼 이클립스는 http://www.eclipse.org/ 이곳이 홈피...

윗부분에 다운로드 선택후 왼쪽의 bybyproject를 선택 하시면 되여...

금 여러가지의 종류가 나오는데 밑으로 내리다 보면 그중에 전 wst를 선택

들어가보면 여러가지의 버전이 나오는데 한글을 사용하실꺼면 1.5버전을 선택해 주세요

영어가 되시면 2.0버전을.ㅋㅋㅋ

1.5버전을 클릭하시면 새로운 폼으로 이동하는데 여기서

사용하기 편하시게 all-in-one버전을 선택하시는게 좋을꺼에여...

처음 꺽쇠 표시가 나오는 부분에 윗쪽 파란라인에 WebTools Platform; All-in-one

그중에 사용하시는 운영체제에 맞게 클릭...

금 Please choose a mirror close to you 이렇게 나오는데 다운받을 곳을 정하라는...

대충 아무데나 클릭.. 카이스트나 다음....

금 저장이 되고 그것 풀면 그냥 사용이 가능합니다.


http://www.eclipse.org/downloads/download.php?file=/webtools/downloads/drops/R1.5/R-1.5.4-200705021353/wtp-all-in-one-sdk-R-1.5.4-win32.zip

이건 윈도우 에서 wst1.5 다운받기 바로가기 입니다.


한글팩은

http://europa-mirror2.eclipse.org/eclipse/downloads/drops/L-3.2_Language_Packs-200607121700/index.php

이곳에 들어가셔서...

5번째Platform SDK Language Packs

7번째 JDT SDK Language Packs

표의 첫번째 것들을 다운받으시면 될듯...

http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/L-3.2_Language_Packs-200607121700/NLpack1-eclipse-platform-SDK-3.2-win32.zip


http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/L-3.2_Language_Packs-200607121700/NLpack1-eclipse-JDT-SDK-3.2.zip


이것들은 바로가기..^^


이클립스를 설치하신후 위에 언어팩을을 압축 풀기 한후에 설치한 이클립스 안에 덮어

씌우기 하시면 됩니다.


그리고 사용법은...

저장 :  이클립스 시작시 처음 화면에 나오는 경로로 프로젝트 이름 폴더가 생깁니다.

             물론 파일들은 그 안에 있구여... 저장은 당연히 컨트롤+s

실행은 컴파일은 저장시 자동으로 됩니다. 오류가 있으면 옆에 x표시로 표시되고요...

그리고 실행은 윗부분에 보면 화살표시... 누가 봐도 금방 알수있게 되있고요..^^

http://blog.naver.com/intro200?Redirect=Log&logNo=36520183

http://blog.naver.com/getiton35?Redirect=Log&logNo=110000839043

http://www.jlab.net/eclipse/eclipse%20project%20FAQ.htm#users_1

이클립스 사용법에 대한 설명이 자세히 나와있습니다.^^

http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10106&eid=qwxs3uJjxgfnYlti0dIfIc5LtS/d+Tbm&qb=wMzFrLizvbogu+e/67n9&pid=fbx0FdoQsCCsscNfVTKsss--505087&sid=SGx0gmFubEgAAHfEIcs


벌써 1주일째입니다 ㅠㅠ

최신 wtp-all-in-one, tomcat, elcipse를 다 받아서 설치하는데요

jsp와 servlet을 하기 위해 tomcat project와 dynamic web project에서 웹프로젝트 폴더구조를 어떻게 만들고

jsp파일과 서블릿 파일을 어떻게 연동하는지 또 실제 실무에서 처럼 포팅할때는 어떤폴더들을 올리고 셋팅하는지좀 가르쳐주세요 jsp는 이거 셋팅하는게 더 어렵네요 ㅠㅠ


자세히좀가르쳐주세요 부탁드려요

아무리 찾아봐도 최신걸로 하는 방법같은건 않나와있더라구여

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

wtp 세팅이라고 네이버에 검색하시면, 아주 친절하게,  사진과 함께 설명이 나와있을 거예요


최신이라고 하셨는데, Europa버전도 다를것이 없으며, Europa버전에 대한 아티클도 있으니 참고해서


천천히 해보세요


간단히 설명하면


J2ee 관련 작업을 할때, Perspective는 J2EE로 해두시구요.


1. 서버를 이클립스에 등록합니다.

   window -> preference -> server -> Installed Runtimes -> add

   설치된 서버의  종류 / 버전 / 디렉토리 설정해 주시면됩니다.


2. Dynamic WebProject를 만듭니다.

   프로젝트 이름과 서버를 세팅합니다.


3. Servers View 탭에서 등록된 서버에서 우클릭해 add /remove projects 를 선택하고

    2번에서 만든 프로젝트를 등록합니다.


4. 2번에서 만든 프로젝트에서 WebContent 밑에 index.jsp 하는 테스트 파일을 만들고, 간단한

    테스트 문구를 넣습니다.


5. Server View탭에서 해당 서버를 선택하고, ◀ 버튼을 누르면 서버가 시작됩니다.


6. 브라우저를 통해, 해당 페이지가 제대로 보이는지 확인합니다.


Tip.

처음에 src밑에 자바 소스를 넣을때, 패키지가 필요하며,  컨파일된 클래스파일은 자동으로 build라는 폴더에

생성되도록 되어있습니다. 테스트시 자동으로 web-inf/classes로 하고 싶으면,

해당 프로젝트에서 우클릭 -> properties -> java build path -> source -> Default output folder에서 설정하시면 됩니다.


Servers view 탭에서 해당 서버를 더블클릭하면, 포트정보같은 서버관련 프러퍼티를 세팅해 주실수 있습니다.


프로젝트명이 자동으로 context로 세팅되니, 프로젝트명이 Test 고 포트가 8080이라면

http://localhost:8080/Test/index.jsp 로 접근하시면 됩니다.

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

톰캣을 설정하게 되면 고양이가 나오는 http://localhost:8080/index.jsp

이부분이 톰캣을 설정하는 메인화면입니다. 환경설정에서 일단은 톰캣이 설정되어 잇는 부분을 먼저

패스에 설정해 주시고요 나머지는 제 블러그에 나오는 이클립스 + jsp연동을 클릭해 보시면

환경설정하는 부분이 자세히 나와 있습니다. 저도 처음에 할때 기억을 못할까봐 만들어 두고

자주 애용을 하는데요...즐통하시고요..저는 두어달 고생했습니다. 열공하세요...ㅋㅋ


myblog :  http://blog.naver.com/return1990 좋은하루되세요

만약 <A href="javascript:Number(123456);"> 이런 텍스트를 모두 삭제 또는 변경 하는 방법

괄호 안의 숫자는 모두 다르구요.

ctrl+h 누르시고 찾을 말에 아래와 같이 입력해주세요.

<A href="javascript:Number\(([0-9]+)\);">

정규식에 체크하고 모두바꾸기 하시면 됩니다.

미니위니 : navyism님



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



정규식
<a href="http://www.flickr.com/photos/outoftheocean/305613539/in/set-72157594392464012/" title="DSC_4568"><img src="http://static.flickr.com/119/305613539_9f8a6779f7_s.jpg" alt="DSC_4568" height="75" width="75"></a>
(<a href=")(.*)(" title=")(.*)(" ><img src=")(.*)(_s.jpg" alt=")(.*)(" height="75" width="75"></a>)
<a href="\6_b.jpg" rel="lightbox" title="\4"><img src="\6.jpg" width="500" height="332"></a>
<a href="
http://static.flickr.com/119/305613539_9f8a6779f7_s.jpg" title="DSC_4568"><img src="http://static.flickr.com/119/305613539_9f8a6779f7_s.jpg" alt="DSC_4568" height="75" width="75"></a>
--------------------------------------------------------------
최민규 800103-7262866
정규식  ([가-힣]+).([0-9][0-9])([0-9][0-9])([0-9][0-9])(-?[0-9][0-9][0-9][0-9][0-9][0-9][0-9])
바꾸기  \1씨는 \2년 \3월 \4일생 입니다.
최민규씨는 80년 01월 03일생 입니다.
-------------------------------------------------------------
설명
\t 탭 문자를 찾습니다.
\n 줄 바꿈 문자를 찾습니다.
. 모든 문자를 찾습니다.
| 이 기호의 양쪽에 있는 두 글자를 모두 찾습니다. 예를 들어 "a|b"를 지정하면 "a"와 "b"를 모두 찾습니다.
[] 대괄호 범위의 모든 문자를 찾습니다. 예를 들어 "[ab]"를 지정하면 "a"와 "b"를 모두 찾습니다. 또 "[0-9]"를 지정하면 0부터 9까지의 모든 숫자를 찾습니다.
[^] 대괄호 범위의 모든 문자를 제외한 문자를 찾습니다. 예를 들어 "[^ab]"를 지정하면 "a" 와 "b"를 제외한 모든 문자를 찾습니다. 그리고 [^0-9]"를 지정하면 숫자가 아닌 모든 문자를 찾습니다.
* 별표 왼쪽에 있는 문자가 0번 또는 그 이상 일치하는 텍스트를 찾습니다. 예를 들어 "be*"를 지정하면 "b"와 "be", "bee"를 찾습니다.
+ 플러스 기호 왼쪽에 있는 문자가 1번 또는 그 이상 일치하는 텍스트를 찾습니다. 예를 들어 "be+"를 지정하면 "be" 와 "bee"를 찾지만 "b"는 찾지 않습니다.
? 물음표 왼쪽에 있는 문자가 0번 또는 1번 일치하는 텍스트를 찾습니다. 예를 들어 "be?"를 지정하면 "b" 와 "be"를 찾지만 "bee"는 찾지 않습니다.
^ ^기호 오른쪽에 있는 문자가 줄의 처음 글자인 경우를 찾습니다. 예를 들어 "^A"를 지정하면 줄의 처음 글자가 "A"인 경우를 찾습니다.
$ $기호 왼쪽에 있는 문자가 줄의 마지막 글자일 경우를 찾습니다. 예를 들어 "e$"를 지정하면 줄의 마지막 글자가 "e"인 경우를 찾습니다.
() 식을 해석하는 순서를 바꾸거나 식을 태그로 표시할 때 사용합니다.
\ 이스케이프 문자로 쓰입니다. "\" 문자 자체를 검색하려면 "\\"로 나타내어야 합니다.


태그로 표시된 식은 ()로 둘러 싼 식을 말합니다. 태그로 표시된 식은 \0, \1, \2, \3등과 같은 식을 사용하여 바꿀 말 항목에서 지정할 수 있습니다. \0은 일치된 텍스트 전체를 나타내고 \1은 첫 번째 태그로 표시된 부분을 나타내고 \2는 두 번째, 이런 식으로 지정할 수 있습니다. 다음의 예를 참고하십시오.

Original    Search     Replace     Result
   abc          (ab)(c)      \0-\1-\2    abc-ab-c
   abc          a(b)(c)      \0-\1-\2    abc-b-c
   abc          (a)b(c)      \0-\1-\2    abc-a-c

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

최민규 800103-7262866
아무게 881222-8542231
말자  881222-7542231
Ctrl + h 가 글자 바꾸기 입니다.
정규식 체크를 한 다음

찾을말 :정규 식([가-힝]+).([0-9][0-9])([0-9][0-9])([0-9][0-9])(-?[0-9][0-9][0-9][0-9][0-9][0-9][0-9])
 바꿀말 : 바꾸기 \1씨는 \2년 \3월 \4일생 입니다.
입력 하면 변경 됩니다. 이상입니다.

우리집에 주소는 330-160이고
주민번호는 860609-6542815 이네요

글구 민규집은 100-699 이지요
나이는 26살 이네요.


확인 후

최민규씨는 80년 01월 03일생 입니다.
아무게씨는 88년 12월 22일생 입니다.
말자씨는 88년 12월 22일생 입니다.

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

<a href="http://www.flickr.com/photos/outoftheocean/305613539/in/set-72157594392464012/" title="DSC_4568"><img src="http://static.flickr.com/119/305613539_9f8a6779f7_s.jpg" alt="DSC_4568" height="75" width="75"></a>

이를 copy & paste로 다수의 url을 변경해주는 건 참으로 바보 같은 짓이라고 생각한다. 그리고 난 이짓을 자주한다.

editplus에 정규식으로 찾기 기능을 이용하면 다수의 파일을 쉽게 변경할 수 있다.

위와 같은 형식은 아래와 같은 정규식 설정하고
(<a href=")(.*)(" title=")(.*)(" ><img src=")(.*)(_s.jpg" alt=")(.*)(" height="75" width="75"></a>)
아래와 같이 바꾸면 된다.
<a href="\6_b.jpg" rel="lightbox" title="\4"><img src="\6.jpg" width="500" height="332"></a>
그러면 아래와 같이 변경이 된다.
<a href="http://static.flickr.com/119/305613539_9f8a6779f7_s.jpg" title="DSC_4568"><img src="http://static.flickr.com/119/305613539_9f8a6779f7_s.jpg" alt="DSC_4568" height="75" width="75"></a>
출처 : 大韓國人



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



Editplus는 자체 정규식방식을 사용하기 때문에 표준 정규표현식이 지원되지 않는다.
표준 정규표현식을 많이 작성해두고 활용하는 중이라면 이것이 불편하다.

그러나 한국 프로그래머가 만든 프로그램이므로 한글과 섞어서 정규표현식을 사용할때는
다른 프로그램에 비하여 한글의 처리가 용이하다. (많은 테스트는 해보지 않았다.)
따라서 [가-힣]등을 사용할 수 있어서 좋다.

나같은 경우 작업내용을 텍스트파일에 저장해두는데, 검색을 하고 싶을때
띄어쓰기를 정확하게 했는지, 실수로 이상하게 띄어서 작성하지는 않았는지 기억이 잘 나지 않는다.

그럴때 공백을 포함하여 검색하는 식으로 활용하면 유용하다.

예를 들어 "일일 업무보고"라는 텍스트를 검색하고 싶은데 실수로 "일일업무 보고"라고 썼을 수도 있다.
이럴때 정규식으로 "일일[\t ]*업무[\t ]*보고[\t ]*"로 검색하면
각 단어사이의 띄어쓰기를 포함하여 검색 가능하다.
;)


☆ 글씨크기 조절 ☆
글씨크기가 작으면 오른쪽 크게 & 작게를 클릭(Click!)하세요!    크게+   작게-

* 위 크게, 작게 클릭 해보세요.

--- 테스트 시작 ---

여기에 내용을 넣으면 됩니다
테스트
테스트
테스트


--- 테스트 종료 ---



<script language='javascript'>

var CurrentFontSize = 10
var CurrentLineHeight = 10

function SetFontSize(SizeFlag) {
 obj = document.getElementById("chgsize")

 if (SizeFlag == 'B') {
  CurrentFontSize = CurrentFontSize + 1
  CurrentLineHeight = parseInt(CurrentFontSize*1.5)
  obj.style.fontSize = CurrentFontSize + "pt"
  obj.style.lineHeight = CurrentLineHeight + "pt"
 } else {
  if (CurrentFontSize>0) {
   CurrentFontSize = CurrentFontSize - 1
   CurrentLineHeight = parseInt(CurrentFontSize*1.5)
  }
  obj.style.fontSize = CurrentFontSize + "pt"
  obj.style.lineHeight = CurrentLineHeight + "pt"
 }
}

function SetSummarySize() {
 if (strlength == 'strshort') {
  document.getElementById("img_more").Style.display = 'none';
 }
}

</script>

<FIELDSET style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 1px; TEXT-ALIGN: left" border="0"><LEGEND style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"> ☆ 글씨크기 조절 ☆ </LEGEND>
<center>글씨크기가 작으면 오른쪽 크게 & 작게를 <font color="blue"><b>클릭(Click!)</font></b>하세요! &nbsp;&nbsp;
<a href=javascript:SetFontSize('B')><b><font color="#000ff">크게+</font></a>
<a href=javascript:SetFontSize('S')>&nbsp;&nbsp;<font color="red">작게-</font></a></b>
</center>
</FIELDSET>

<span id="chgsize">
여기에 내용을 넣으면 됩니다.
</span>

<?
 function Tab2Space( $str, $fix = '&nbsp;', $tab = 8 ) {
    $i = $s = 0;
    $rst = '';
    while( $c = $str[$i++] ) {
        switch( $c ) {
        case "\r":
        case "\n":
            $rst .= $c; $s = 0;
            break;
        case "\t":
            $n = $tab - ($s % $tab);
            $rst .= str_repeat( $fix, $n );
            $s += $n;
            break;
        default : $rst .= $c;
            $s ++;
        }
    }
    return str_replace( ' ', $fix, $rst );
 }
?>

[한겨레] 한글 비롯 아랍어 등 여러 문자 허용

.love나 .xxx 등 다양한 주소 형태 가능


현재 .kr, .jp와 같은 국가별 약칭과 .com, .net, .org, edu 등으로 이뤄져 있던 최상위 인터넷 주소(톱 도메인 네임)가 근본적으로 바뀐다. 영문 알파벳만이 허용되던 인터넷 도메인에 한글을 비롯한 아랍어, 키릴 문자들 다양한 문자가 허용된다.

프랑스 파리에서 열린 국제인터넷주소관리기구(ICANN) 연례 회의는 27일 새벽(한국시각)현재의 인터넷 도메인 체계를 바꾸기로 하는 새로운 인터넷 주소 규칙을 만장일치로 통과시켰다. 지난 23일부터 파리에서 열린 아이칸 32번째 회의에는 150개국에서 1670명이 참여해 4일간의 토의 끝에 새로운 인터넷 주소 체계 도입을 결정짓고 한국시각으로 27일 폐막했다. ICANN은 이런 사실을 이날 새벽 인터넷을 통해 공개했다.

  새롭게 도입되는 인터넷 주소체계에 따르면, 법인이나 개인은 현재 .com, .net 등으로 제한되어 있는 주소를 얼마든지 바꿀 수 있다. 즉 naver.com, ibm.com은 naver.naver이나 ibm.ibm과 같은 방식으로 바꿀 수 있다. 현재 www.hani.co.kr로 된 주소를 한겨레.한겨레나 하니.하니로 변경할 수 있게 됐다. 그동안 인터넷에서 가장 많이 쓰여온 최상위 도메인은 .com이었다. 새로운 인터넷 주소체계 변경절차는 2009년부터 시작돼, 이르면 3~4월께 새로운 인터넷 도메인이 첫 출현할 것으로 보인다.

  새로운 주소체계는 기본적으로 어떠한 문자 조합도, 어떠한 언어도 허용하기 때문에 다양한 형태의 인터넷 주소가 나올 수 있다. 마지막 주소가 .la, .busan과 같은 도시명이 올 수도 있고 .love나 .xxx 같은 형태도 가능하다. 그동안 아이칸은 .xxx 주소의 도입을 허용하지 않아왔다.

  BBC에 따르면, 아이칸 의장인 폴 투메이는 이번 주소 체계 변경을 “인터넷 역사에 있어서 역사적 순간”이라며 “현재 15억 인구가 인터넷을 사용하며, 45억명의 인구에게 로마자는 아무런 의미가 없다”고 이번 새로운 인터넷 주소체계 도입 이유를 설명했다. 현재의 인터넷 주소체계는 미국만 유일하게 국가명을 최상위 도메인으로 하지 않아, 형평성 문제가 제기되어 왔다.

  아이칸은 지난 25년 동안 쓰여온 인터넷 도메인 체계를 바꾸기 위해 6년 동안 작업을 해왔다고 밝혔다. 그러나 새로운 도메인 주소를 등록하기 위해서는 아이칸에 상당한 비용을 내야 한다. 투메이 의장은 “새 도메인 등록 비용이 최소한 10만달러(약 1억원) 이상일 것”이라고 말해, 최상위 도메인 등록비용을 확보하는 데는 상당한 돈이 들 것임을 밝혔다. 아이칸은 그동안 주소 체계 변경을 위해 1000만달러 이상을 지출해왔다고 밝혔다.

구본권 기자 starry9@hani.co.kr

디자이너나 프로그래머들에게 브라우저 버전별 테스트 할때 아주 유용한 프로그램입니다.

익스플로러(Explorer) 버전에 따라서 화면을 보여주고, 탭 별로 버전을 사용 할 수 있어 편리하네요.

비슷한 프로그램으로는 Multiple IE도 있지만 IE Tester가 훨 낳은거 같습니다.


다운로드 : http://www.my-debugbar.com/wiki/IETester/HomePage

<?php
 $str = '오예동물 잘되는지..';
 echo str_replace( '예' ,'yes', $str );
/*
 출력 -> "오yes탙es?잘되는지.."
 기대한 결과는 '오yes동물 잘되는지..' 이지만,
 연속된 한글코드 '오예동물  잘되는지..' 단어속에는 '예' 가 두번 찾아지게 된다.

 이것은 2바이트 체계의 한글을 무시해서 생기는 일이며,
 '동'의 뒷자리 1바이트와 '물'의 앞자리 1바이트가 합쳐져 '예'라는 단어와
  같은코드로 해석되어 생기는 일이다.
*/

// -------------------------------------------------------------------
 function Han_replace( $search, $to, $str ) {

    // 한글만 단어별로 늘리서,, 앞뒤의 코드가 섞이는것을 방지함.

    $ESC = "\x1b"; // 키보드로 입력할 수 없는 [Esc]코드,

    $pattern1 = "/([\x80-\xff].)/";
    $pattern2 = "/([\x80-\xff].)$ESC/";

    $str = preg_replace( $pattern1, "\\1$ESC", $str ); // 모든 한글단어 뒤에 $ESC를 추가함.
    $search = preg_replace( $pattern1, "\\1$ESC", $search ); // 찾을 문자도 같은 패턴으로 바꿈,
    $str = str_replace( $search, $to, $str ); // 일단 때려 바꾸고.

    return preg_replace( $pattern2, "\\1", $str ); // 한글 뒤에 추가했던 $ESC를 지움.
 }
 $str = '오예동물 잘되는지..';
 echo Han_replace( '예' ,'yes', $str );
 //  출력 -> 오yes동물 잘되는지..
?>

utf-8 지원하지 않는 쪽에서,
단어필터링을 위해 만들었던 함수입니다.

방법이 좀 무식한것 같기도 하구...
그냥 이렇게도 하는구나.. 하구 양해를 ㅎㅎ;


출처:http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=61182&page=1

다시 수정 했습니다~
선택시 이벤트 처리는 다음에 올리도록 하겠습니다~~~
한가지 !DOCTYPE 선언 꼭 해야 합니다~
아쉬운점은 마우스를 빠르게 움직이면 브라우저가 계산을 못따라 가네요 ㅡ.ㅡ;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ysksoft</title>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<script language="JavaScript">
<!--
/*------------------------------------------------------------------*
* 개 발 자 : 윤석규
*-------------------------------------------------------------------*
* 이 메 일 : nanummp3@naver.com
*-------------------------------------------------------------------*
* 홈페이지 : http://www.ysksoft.com
*------------------------------------------------------------------*/
if(navigator.appName == 'Microsoft Internet Explorer') {
    var BR = 'IE';
} else {
    var BR = 'FF';
}
function addEvent(obj, evt, fn) {
    switch(BR) {
        case 'IE':
            obj.attachEvent(evt, fn);
            break;
        case 'FF':
        default:
            evt = evt.replace('on', '');
            obj.addEventListener(evt, fn, true);
            break;
    }
}
var dnd_check = false;
var loading = document.createElement('DIV');
var ftop = 0;
var fleft = 0;
function dndMouseDown(evt) {
    var e = evt||window.event;
    dnd_check = true;
    loading.style.position = 'absolute';
    loading.style.backgroundColor = '#F5F5F5';
    loading.style.top = e.clientY+'px';
    loading.style.left = e.clientX+'px';
    loading.style.width = '0px';
    loading.style.height = '0px';
    loading.style.border = '1px #000000 solid';
    ftop = e.clientY;
    fleft = e.clientX;
    addEvent(document, 'onmousemove', dndMouseMove);
    document.body.appendChild(loading);
}
function dndMouseMove(evt) {
    if(dnd_check == true) {
        var e = evt||window.event;
        var width = 0;
        var height = 0;
        if(e.clientX-fleft >= 0) {
            width = e.clientX-fleft;
        } else {
            loading.style.left = e.clientX+'px';
            width = (fleft-e.clientX);
        }
        if(e.clientY-ftop >= 0) {
            height = e.clientY-ftop;
        } else {
            loading.style.top = e.clientY+'px';
            height = (ftop-e.clientY);
        }
        loading.style.width = width+'px';
        loading.style.height = height+'px';
    }
    return false;
}
function dndMouseUp(evt) {
    dnd_check = false;
    var count = document.body.childNodes.length;
    if(count > 0) document.body.removeChild(loading);
}
addEvent(document, 'onmousedown', dndMouseDown);
addEvent(document, 'onmouseup', dndMouseUp);
//-->
</script>
</head>
<body>

</body>
</html>


미리보기 및 출처 : http://ysksoft.com/dnd.html 

NHN 네이버 실시간 급상승 검색어가 지난 5월 5일 탄생한지 3주년을 맞았습니다.


실시간 급상승 검색어는 실시간으로 변하는 네티즌들의 정보욕구를 특정 시간 동안 입력횟수가 크게 늘어난 검색어 순위로 중계해드리는 서비스입니다. 네이버가 실시간 급상승 검색어 서비스를 제공하기 위해 순위를 계산하는 공식은 매우 복잡한데요, 네이버 실시간 급상승 검색어가 다른 서비스들에 비해 네티즌들의 관심사를 빠르게 포착할 수 있는 비밀이 바로 이 공식에 있습니다.


카네이션’ 검색어가 어버이날이나 스승의 날을 맞아 순위에 출현하고, 평소 많은 사람들이 검색하지만 순위에 잘 보이지는 않던 연예인의 이름이나 가수 그룹명이 관련 뉴스가 생기면 순위에 오를 수 있는 것이 바로 실시간 급상승 검색어 순위를 결정하는 공식 때문이지요.


실시간 급상승 검색어는 1년 전 NHN 스토리를 통해 소개된 바 있기도 하지만, 오늘은 실시간 급상승 검색 순위를 결정하는 공식의 기본원리와 함께, 지난 3년 동안 서비스가 얼마나 바뀌었는지 소개해 드려볼까 합니다.


실시간 급상승 검색어! 어떻게 선정될까.

네이버 실시간 급상승 검색어의 순위 집계 과정을 더욱 이해하기 쉽도록 한달 동안 용돈이 5,000원에서 10,000원으로 오른 A와 10,000원에서 18,000원으로 오른 B를 비교해보겠습니다. B가 A보다 3,000원 용돈이 더 오른 셈이지만, A는 한달 새 용돈이 100% 상승한 반면 B는 80%상승했습니다. 즉 용돈의 증가율은 A가 B를 앞선 것이지요.


A와 B를 각각 검색어로, 용돈을 검색어 입력횟수로 생각해본다면 현재 네이버 실시간 급상승 검색어의 기본 아이디어에 따르면 B보다는 A가 현재 용돈이 급상승하는 사람, 즉 순위가 더 높은 검색어가 됩니다. (물론 실제 순위 집계 공식은 더욱 복잡합니다. ^^)


또한, A가 다음 달 역시 100% 상승을 유지하기 위해서는 용돈은 5,000원이 아닌 10,000원이 올라야 합니다. 즉 지난 달과 동일한 증가비율을 유지하기 위해서 더욱 큰 금액 상승을 필요로 하게 되는 것이지요. 이는 실제 검색어 순위 집계에서도 마찬가지입니다. 검색어가 순위가 오르거나, 적어도 순위를 유지하기 위해서는 기존보다 더욱 많은 사람들이 그 키워드를 검색해야 합니다.(같은 사람이 일정 시간 안에 여러번 키워드를 입력하는 것은 순위를 유지하는데 도움이 되지 않습니다.)


마치 1위를 하는 것은 쉽지만 1위를 유지하기는 어렵다고 하는 어른들 말씀이 여기에도 적용되는 것 같습니다. ^^


변화 한가지, ‘실시간 급상승 검색어’로 이름이 바뀌었습니다.

아래 5월 6일 검색어 순위를 보시면 키워드의 입력 상승폭에 따라 순위를 매기는 급상승 검색어와 입력횟수에 따라 순위를 매기는 종합검색어의 1위부터 10위까지 순위가 다르다는 것을 알 수 있습니다.

 

‘급상승 검색어’는 단위 시간 동안 입력횟수가 큰 폭으로 상승한 검색어 순위를 집계해 제공하기 때문에 실제로 입력 횟수가 많은 ‘종합 검색어’와는 차이가 있습니다. (searchc.naver.com/pw/)


실시간 급상승 검색어가 처음 제공되었던 2005년에는 ‘실시간 인기 검색어’라는 이름으로 서비스가 제공되었는데, 많은 분들이 명칭으로 인해 ‘실제로 많은 검색이 일어나는 검색어’와 혼동될 수 있다는 의견을 주셨습니다. NHN은 이와 같은 의견을 반영해 2007년 6월 ‘네이버 실시간 급상승 검색어’로 서비스 명칭을 변경했습니다.


두번째, Real Time에 더욱 가깝게! 실시간으로 변하는 검색 순위들~

지난 3년간 급상승하는 검색어 현황을 더욱 빠르게 보여줄 수 있도록 지속적인 서비스 개선 작업이 이뤄졌습니다. 현재 제공되고 있는 실시간 급상승 검색어는 검색어들의 평소 유입되는 트렌드를 추적하여, 검색횟수가 상대적으로 적더라도 빠르게 유입이 늘어나는 검색어에 더욱 민감하게 반응하도록 설계되었습니다.

2008년 2월 29일의 실시간 급상승 검색어 1위 패턴입니다. 3시간 마다 1위 검색어가 어떻게 달라지는지 살펴본 것인데요. 실제로는 1~2분 빠르면 몇 초 내로 1위 검색어가 바뀌고 있습니다. 


검색어 순위 변동이 더욱 빨라짐에 따라 1~2분 차이로 순위에 있던 검색어가 사라지기도 하고, 사라졌던 검색어가 다시 나타나기도 합니다. 이로 인해 순위에 올랐던 검색어가 갑자기 사라졌다는 고객님들의 문의가 생겨날 정도입니다. 고객님들의 의견을 반영하여 네이버는 검색어 입력 변화는 빠르게 보여주면서도 순위에 대한 혼란은 줄일 수 있도록 서비스를 발전시켜 나갈 계획입니다.


세번째 ‘~들기’ 로 끝나는 검색어 순위? 재미가 쏠쏠한 끝음절 급상승 검색어

지난 2007년 실시간 급상승 검색어에 이어 네이버가 세계 최초로 선보인 ‘끝음절 급상승 검색어’ 서비스는 ‘~ 추천’, ‘~ 비교’ 와 같이 동일한 음절로 끝나는 검색어의 급상승 순위를 집계•제공하는 서비스입니다. 끝음절 급상승 검색어 순위는 검색어의 마지막 음절에 이용자의 검색의도와 관심이 포함되는 한글 고유의 특징을 검색서비스에 반영한 재미있는 서비스입니다.

 

끝음절 급상승 검색어는 네이버 첫 화면에서 매일 다른 재미있는 끝음절을 가지고 여러분들을 찾아가고 있습니다.


네번째 거실에서도, 지하철에서도, 길거리에서도 궁금한 것은 못참을 때!

이제는 꼭 PC로만 네이버 실시간 급상승 검색어를 보라는 법은 없습니다. 1년새 실시간 급상승 검색어를 볼 수 있는 곳이 더욱 다양해졌기 때문입니다.


IPTV서비스로 거실 TV를 통해 실시간 급상승 검색어도 보고 검색결과를 바로 찾아보실 수도 있고, 지하철 플랫폼에 설치된 화면이나 모바일에서도 현재 네티즌들이 알고 싶어하는 정보는 무엇인지 바로바로 확인하실 수 있습니다.


지난 2008년 1월부터 제공되고 있는 KT 메가TV 서비스에서는 동영상 시청 중에 리모콘의 ‘검색’버튼을 누르거나, 네이버 채널 서비스 홈페이지에서 현재 IPTV 이용자들의 인기검색어와 네이버 실시간 급상승 검색어 등 다양한 검색어 서비스를 즐기실 수 있습니다.


3년 전과 비교해도 변하지 않은 한 가지~?

서비스 출시 이후 많은 변화가 있었지만 그 동안 변하지 않은 것이 있다면, 국내 네티즌들의 검색 서비스 이용 현황을 전광판처럼 보여주자는 실시간 급상승 검색어 서비스의 기본정신입니다. 이를 위해 네이버는 순위를 자동적으로 계산하며 인위적인 조정이나 개입을 하지 않습니다.


단, 이용자 보호 및 피해방지를 위해 상업적인 목적을 위한 광고, 개인정보의 노출, 명예훼손, 음란성 검색어 및 범죄행위와 관련된 검색어에 대해서는 관련법률 등에 근거해 노출을 제한하고 있습니다. 2008년 5월 현재 네이버 실시간 급상승 검색어에 노출되지 않는 검색어 기준은 서비스 도움말을 통해서도 확인할 수 있습니다.


네이버 실시간 급상승 검색어 서비스에 대한 관심이 높아짐에 따라 많은 분들께서 이 서비스가 특정 소수의 이해나 압력에 영향 받을지도 모른다는 점을 우려해주시고 계십니다. 이 자리를 통해 단호하게 말씀드릴 수 있는 것은 실시간 급상승 검색어 서비스는 네티즌들의 검색 이용만을 충실하게 반영하며, 순위 내의 검색어를 삭제하거나 순위를 조작하는 행위는 절대 없다는 점입니다.


네이버가 최초로 선보인 실시간 급상승 검색어는 이제 해외 포털이 벤치마킹할 정도로 세계적으로 유명한 서비스가 되었습니다. 모두 서비스를 아껴주시고, 서비스 발전을 위해 개선의견을 주시는 이용자 여러분 덕택입니다. 앞으로도 더욱 진화하는 실시간 급상승 검색어 서비스를 기대해주세요!


감사합니다.

출처 : http://story.nhncorp.com/story.nhn?story_id=81

75달러 노트북 나온다… OLPC 'XO 2.0' 개발 중

최근 아수스 'Eee PC'나 HP '2133 미니노트' 등 넷북 스타일의 노트북 PC에 대한 관심이 높아지고 있다. 그러나 이러한 트랜드의 시작은 OLPC(One Laptop Per Child) 프로젝트와 창립자 니콜라스 네그로폰테 교수가 구상한 저가의 XO 노트북 PC에서 발단된 것이다.
 
 
XO는 출하 지연과 가격인상 등의 요인으로 실망감을 안겨주고 있어, 인텔의 '클래스매이트 PC'나 Eee PC가 시장에서 인기를 얻고 있다. 그렇다고 해도 OLPC가 이대로 무너질 것이라고 생각되지 않는다.


최근 OLPC는 차세대 XO 노트북 PC를 개발 중이라고 밝혔다. 이른바 'XO 2.0'에서 흥미로운 점은, 전통적인 키보드와 모니터 구성이 아니라, 듀얼터치 스크린이 적용된 점이다.


공식적인 발표회에서 새로운 XO는 초기 모델에 비해 개선된 점을 설명했다.


사용자 삽입 이미지
우선 비용절감 부분이다. 지난 2005년 상반기에 최초로 내걸었던 XO의 판매가격은 100달러였다. 때문에 '100달러 노트북'이라고 불려졌지만, 현재 XO의 가격은 188달러에 달한다. OLPC는 75달러를 목표로 하고 있으며, 디스플레이 프로세서 기타 하드웨어 및 소프트웨어 기술의 개발을 통해 이 목표를 달성할 것으로 보인다.


다른 하나는 저소비 전력이다. 초창기 XO의 전력은 2~4와트로 일반 노트북 PC(20~40와트)의 10분의 1이었다. 그러나 XO 2.0에서는 1와트를 더 내릴 수 있게 됐다. 이러한 점은 전기가 부족한 개도국 아이들에게 중요하다. 또한 원격지 사용에서도 상당히 유리한 점이다.

$sEncoding = mb_detect_encoding($sTitle, "UTF-8,euc-kr");

if ( $sEncoding == "UTF-8" )
{
  $sTitle = mb_convert_encoding($sTitle, "EUC-KR", "UTF-8");
}

$sTitle에 어떤 문자가 들어왔을 때
인코딩 방식이 UTF-8이면, EUC-KR로 변경해줍니다.

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

mb* 함수들을 사용할 수 없는 환경이라면

http://dev.tattertools.com/browser/trunk/components/Eolin.PHP.Core.php?format=txt



여기의 UTF8::validate 함수 참고하셔도 됩니다.. utf8인지 그 외의 인코딩인지만 판단 가능하고

mb* 함수들도 마찬가지지만 한글자정도로 매우 짧은 한글은 오판하는 경우도 종종 있지요..

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

    function is_utf8($string) {
        return preg_match('%^(?:
        [\x09\x0A\x0D\x20-\x7E]            # ASCII
      | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte
      |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
      | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
      |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
      |  \xF0[\x90-\xBF][\x80-\xBF]{2}    # planes 1-3
      | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
      |  \xF4[\x80-\x8F][\x80-\xBF]{2}    # plane 16
        )*$%xs', $string);
    }

UTF-8 헤더(header) 오류

EUC-KR 에서는 header가 선언되기 이전에 그 어떤 출력(공백/엔터/HTML등)도 선행되어서는 안됩니다.

소스 코드의 최상단에 (HTML 및 그 어떤 출력도 나오기 전) 다음과 소스를 삽입하세요.

<?
ob_start();

 

HTML이나 기타 출력되는 값을 메모리에 저장해 두었다가 프로그램 종료시 한꺼번에 내보내는 명령입니다.

이 펑션이 호출된 이후에 header() 를 만나면 어떤 HTML 출력과도 관계 없이 정상 실행합니다.

단, 기존의 게시판이나 기타 프로그램을 수정하고 계시며, 해당 프로그램에서도 ob_start()를 중복 사용하고 있다면, 해당 프로그램에서의 ob_start() 사용 용도에 따라 HTML출력에 또다른 문제가 발생할 수 있습니다(일반적인 경우 문제 없습니다)


EUC-KR에서는 헤더 선언전에 출력문자를 없애거나 ob_start();를 사용하면 아무런 문제가 생기지 않습니다.

문제는 UTF-8이죠..^^ 요거 때문에 저도 한참 헤맸습니다.

Warning: Cannot modify header information - headers already sent by.....

..등 비슷한 에러도 마찬가지입니다.


이 문제는 파일을 메모장, 울트라에디터(ultraedit)등 텍스트에디터로 utf-8로 컨버팅해서 저장시 눈에 보이지 않는 기호를 파일을 헤더에 포함시켜서 생긴것입니다.

EMEDITOR라는 텍스트에디터를 사용해보세요. 파일 저장시 Add a unicode signature(BOM)체크박스 선택을 해제시키세요.

http://www.emeditor.com/download.htm (30일간만 무료사용)


또는..

에디터플러스로 새문서를 열어서 기존 코드를 붙혀넣기 한 후..

인코딩을 UTF-8로 저장하세요. 그럼 헤더 오류가 나오지 않습니다.

저장전 에디터플러스 도구 > 기본설정 > 항목의 파일 선택 > 우측 UTF-8 셀렉트 옵션에서 "항상 식별기호 제거" 선택 후 저장 하시구요.

간혹 UTF-8인데 EUC-KR로 인식하는 경우 하얀 백지 화면이 나오는데 이럴땐..

최 상단에..

<?
header('Content-Type: text/html; charset=utf-8');

..을 선언해주세요.

노트북에 리눅스를 깔아 사용중 입니다.
제 경우는 일반적인 웹 작업을 위해 프로그램 뿐만 아니라 그래픽이나 기타 미디어 제작 부분등도 거의 노트북에서 작업 합니다.
기회가 되면 리눅스용 프로그램 리스트를 정리 할려고 했는데 이미 잘 정리된 사이트가 있군요. 리눅스 데스크탑 사용 하시는 분들은 참고 해 보세요.


Windows Software Linux Equivalent/Alternative
3D Studio Max
    K-3D ( http://www.k-3d.org/ )
    Wings 3D ( http://www.wings3d.com/ )
    Art of Illusion ( http://www.artofillusion.org/ )
    Blender ( http://www.blender.org/ )
 
ACDSee
    KuickShow ( http://kuickshow.sourceforge.net/ )
    ShowImg ( http://www.jalix.org/projects/showimg/ )
    Gwenview ( http://gwenview.sourceforge.net/ )
    GQview ( http://gqview.sourceforge.net/ )
    Eye of GNOME ( http://www.gnome.org/projects/eog/ )
 
Adobe Acrobat Reader
    okular ( http://kpdf.kde.org/okular/ )
    Xpdf ( http://www.foolabs.com/xpdf/ )
    Evince ( http://www.gnome.org/projects/evince/ )
    ePDFView ( http://trac.emma-soft.com/epdfview/ )
    KPDF ( http://kpdf.kde.org/ )
 
Adobe Audition
    Audacity ( http://audacity.sourceforge.net/ )
 
Adobe Illustrator
    Skencil ( http://www.skencil.org/ )
    Inkscape ( http://www.inkscape.org/ )
    Karbon14 ( http://www.koffice.org/karbon/ )
    Xara Xtreme for Linux ( http://www.xaraxtreme.org/ )
 
Adobe PageMaker
    Scribus ( http://www.scribus.net/ )
 
Adobe PhotoAlbum
    F-Spot ( http://f-spot.org/Main_Page )
    KPhotoAlbum ( http://www.kphotoalbum.org/ )
    digiKam ( http://www.digikam.org/ )
 
Adobe Photoshop
    CinePaint ( http://www.cinepaint.org/ )
    Krita ( http://www.koffice.org/krita/ )
    GIMP ( http://www.gimp.org/ )
    
Adobe Premier
    PiTiVi ( http://www.pitivi.org/wiki/Main_Page )
    LiVES ( http://lives.sourceforge.net/ )
    Kino ( http://www.kinodv.org/ )
    Cinelerra ( http://cvs.cinelerra.org/ )
    kdenlive ( http://kdenlive.sourceforge.net/ )
    Jahshaka ( http://www.jahshaka.org/ )
 
Ant Movie
    Catalog Moviefly ( https://savannah.nongnu.org/projects/lmc/ )
 
AOL Instant Messenger (AIM)
    Kopete ( http://kopete.kde.org/ )
    Pidgin ( http://pidgin.im )
 
APC PowerChute
    Network UPS Tools ( http://www.networkupstools.org/ )
    Apcupsd ( http://www.apcupsd.com/ )
    PowerD ( http://power.sourceforge.net/ )
 
CDex
    Sound Juicer ( http://www.burtonini.com/blog/computers/sound-juicer )
    Rubyripper ( http://wiki.hydrogenaudio.org/index.php?title=Rubyripper )
    ripperX ( http://ripperx.sourceforge.net/ )
    Grip ( http://nostatic.org/grip/ )
    KAudioCreator ( http://www.icefox.net/programs/?program=KAudioCreator )
 
Collectorz
    aviManager ( http://avimanager.sourceforge.net/ )
    GCstar ( http://www.gcstar.org/ )
    Tellico ( http://periapsis.org/tellico/ )
    Alexandria ( http://alexandria.rubyforge.org/ )
    Griffith ( http://griffith.vasconunes.net/ )
    vMovieDB ( http://vmoviedb.sourceforge.net/ )
    Katalog ( http://salvaste.altervista.org/ )
 
Dreamweaver
    Quanta Plus ( http://quanta.kdewebdev.org/ )
    Geany ( http://geany.uvena.de )
    Nvu ( http://www.nvu.com/index.php )
    Screem ( http://www.screem.org/ )
    KompoZer ( http://www.kompozer.net/ )
    Bluefish ( http://bluefish.openoffice.nl/index.html )
 
DVDShrink
    k9copy ( http://k9copy.sourceforge.net/ )
    OGMRip ( http://ogmrip.sourceforge.net/ )
    Thoggen ( http://thoggen.net/ )
    xdvdshrink ( http://dvdshrink.sourceforge.net/ )
    DVD Rip-O-Matic ( http://dvdripomatic.sourceforge.net )
    qVamps ( http://vamps.sourceforge.net/ )
    dvd::rip ( http://www.exit1.org/dvdrip/ )
    AcidRip ( http://untrepid.com/acidrip/ )
 
Everest
    HardInfo ( http://hardinfo.berlios.de/web/HomePage )
 
Finale
    Lilypond ( http://www.lilypond.org )
    Denemo ( http://denemo.sourceforge.net/index.html )
    Rosegarden ( http://www.rosegardenmusic.com/ )
    NoteEdit ( http://noteedit.berlios.de/ )
    Brahms ( http://brahms.sourceforge.net/ )
 
Flash
    F4L ( http://f4l.sourceforge.net/ )
 
Forte
    Agent Pan ( http://pan.rebelbase.com/ )
 
FruityLoops
    LMMS ( http://lmms.sourceforge.net/ )
    Hydrogen ( http://www.hydrogen-music.org/ )
 
Google Desktop Search
    Google Desktop ( http://desktop.google.com/linux/index.html )
    Beagle ( http://beagle-project.org/ )
 
Guitar Pro
    TuxGuitar ( http://www.tuxguitar.com.ar/home.html )
 
iTunes
    Banshee ( http://banshee-project.org/Main_Page )
    aTunes ( http://www.atunes.org/ )
    Quod Libet ( http://www.sacredchao.net/quodlibet )
    SongBird ( http://www.songbirdnest.com )
    Exaile ( http://www.exaile.org/ )
    Amarok ( http://amarok.kde.org/ )
    Listen ( http://listengnome.free.fr/ )
    Rhythmbox ( http://www.gnome.org/projects/rhythmbox/ )
    gtkpod ( http://www.gtkpod.org/ )
 
Legacy Family Tree
    GRAMPS ( http://gramps-project.org/ )
 
LimeWire
    FrostWire ( http://www.frostwire.com/ )
 
Meal Master
    krecipe ( http://krecipes.sourceforge.net/ )
    Gourmet Recipe Manager ( http://grecipe-manager.sourceforge.net/ )
 
Microsoft Access
    Kexi ( http://www.koffice.org/kexi/ )
    knoda ( http://www.knoda.org )
    GNOME-DB ( http://www.gnome-db.org/ )
 
Microsoft Excel
    KSpread ( http://www.koffice.org/kspread/ )
    Open Calc ( http://www.openoffice.org/product/calc.html )
    Gnumeric ( http://www.gnome.org/projects/gnumeric/ )
 
Microsoft Frontpage
    Quanta Plus ( http://quanta.kdewebdev.org/ )
    Nvu ( http://www.nvu.com/index.php )
    KompoZer ( http://www.kompozer.net/ )
    Bluefish ( http://bluefish.openoffice.nl/index.html )    
 
Microsoft HyperTerminal
    minicom ( http://alioth.debian.org/projects/minicom/ )
    GtkTerm ( http://freshmeat.net/projects/gtkterm/ )
 
Microsoft Internet Explorer
    Epiphany ( http://www.gnome.org/projects/epiphany/ )
    Opera ( http://www.opera.com/download/ )
    Firefox ( http://www.mozilla.com/firefox/ )
    Konqueror ( http://www.konqueror.org/ )
 
Microsoft Money
    KMyMoney ( http://kmymoney2.sourceforge.net/ )
    GNUcash ( http://www.gnucash.org/ )
    Gnofin ( http://gnofin.sourceforge.net/ )
    Grisbi ( http://www.grisbi.org/ )
 
Microsoft Office
    GNOME Office ( http://www.gnome.org/gnome-office/ )
    KOffice ( http://www.koffice.org/ )
    OpenOffice ( http://www.openoffice.org/ )
 
Microsoft OneNote
    BasKet ( http://basket.kde.org/ )
 
Microsoft Outlook (Express)
    Thunderbird ( http://www.mozilla.com/thunderbird/ )
    Evolution ( http://www.gnome.org/projects/evolution/ )
 
Microsoft Powerpoint
    Open Office Impress ( http://www.openoffice.org/product/impress.html )
    KPresenter ( http://www.koffice.org/kpresenter/ )
 
Microsoft Project
    KPlato ( http://www.koffice.org/kplato/ )
    OpenProj ( http://openproj.org/openproj )
    GanttProject ( http://ganttproject.sourceforge.net/ )
    Planner ( http://live.gnome.org/Planner )
    TaskJuggler ( http://www.taskjuggler.org/ )
 
Microsoft Visio
    Dia ( http://www.gnome.org/projects/dia/ )
    Kivio ( http://www.koffice.org/kivio/ )
 
Microsoft Windows Media Center
    Freevo ( http://freevo.sourceforge.net/ )
    Elisa Media Center ( http://www.fluendo.com/elisa/ )
    MythTV ( http://www.mythtv.org )
    LinuxMCE ( http://www.linuxmce.com/ )
 
Microsoft Word
    Open Office Writer ( http://www.openoffice.org/product/writer.html )
    AbiWord ( http://www.abisource.com/ )
    Kword ( http://www.koffice.org/kword/ )
 
mIRC
    Konversation ( http://konversation.kde.org/ )
    KVIrc ( http://www.kvirc.net/ )
    BitchX ( http://www.bitchx.org/ )
    Xchat ( http://www.xchat.org/ )
    ChatZilla! ( http://chatzilla.hacksrus.com/ )
    irssi ( http://www.irssi.org/ )
    Pidgin ( http://pidgin.im )
 
Mp3tag
    Kid3 ( http://kid3.sourceforge.net/ )
    Pinkytagger ( http://pinkytagger.sourceforge.net/ )
    EasyTAG ( http://easytag.sourceforge.net/ )
    Cowbell ( http://more-cowbell.org/ )
    Audio Tag Tool ( http://pwp.netcabo.pt/paol/tagtool/ )
 
MSN messenger
    Mercury Messenger ( http://www.mercury.to/ )
    Kopete ( http://kopete.kde.org/ )
    aMSN ( http://amsn-project.net/ )
    Pidgin ( http://pidgin.im )
 
Mudbox
    SharpConstruct ( http://sharp3d.sourceforge.net )
 
Nero Burning Rom
    X-CD-Roast ( http://www.xcdroast.org/ )
    Brasero ( http://perso.orange.fr/bonfire/index.htm )
    GnomeBaker ( http://gnomebaker.sourceforge.net/ )
    Graveman! ( http://graveman.tuxfamily.org/ )
    K3b ( http://www.k3b.org/ )
 
NetMeeting
    Ekiga ( http://www.gnomemeeting.org/ )
 
NetStumbler
    Kismet ( http://www.kismetwireless.net/ )
    SWScanner ( http://www.swscanner.org/ )
 
NewzCrawler
    RSSOwl ( http://www.rssowl.org/ )
    Liferea ( http://liferea.sourceforge.net/ )
    BasKet ( http://basket.kde.org/ )
    Akregator ( http://akregator.kde.org/ )
    Blam ( http://www.cmartin.tk/blam.html )
    Straw ( http://www.gnome.org/projects/straw/ )
 
Notepad
    leafpad ( http://tarot.freeshell.org/leafpad/ )
    NEdit ( http://www.nedit.org/ )
    jEdit ( http://www.jedit.org/ )
    Kate ( http://kate-editor.org/ )
    gedit ( http://www.gnome.org/projects/gedit/ )
    Scribes ( http://scribes.sourceforge.net/ )
    tpad ( http://tclpad.sourceforge.net/ )
 
OrangeCD Catalog
    GWhere ( http://www.gwhere.org )
 
Origin
    SciGraphica ( http://scigraphica.sourceforge.net/ )
 
Partition Magic
    Partimage ( http://www.partimage.org/Main_Page )
    GParted ( http://gparted.sourceforge.net/ )
    QtParted ( http://qtparted.sourceforge.net )
 
    Picasa F-Spot ( http://f-spot.org/Main_Page )
    KPhotoAlbum ( http://www.kphotoalbum.org/ )
    digiKam ( http://www.digikam.org/ )
 
Pro Tools
    Ardour ( http://www.ardour.org )
 
Quicken
    KMyMoney ( http://kmymoney2.sourceforge.net/ )
    GNUcash ( http://www.gnucash.org/ )
    Gnofin ( http://gnofin.sourceforge.net/ )
    Grisbi ( http://www.grisbi.org/ )
 
SoulSeek
    Nicotine ( http://nicotine.thegraveyard.org/ )
    Nicotine-Plus ( http://nicotine-plus.sourceforge.net/ )
 
SoundForge
    ReZound ( http://rezound.sourceforge.net/ )
 
TexnicCenter 
Total Commander
    GNOME Commander ( http://www.nongnu.org/gcmd/ )
    xfe ( http://roland65.free.fr/xfe/ )
    Tux Commander ( http://tuxcmd.sourceforge.net/ )
    Midnight Commander ( http://www.ibiblio.org/mc/ )
    Krusader ( http://krusader.sourceforge.net/ )
 
Traktor
    DJ Mixxx ( http://mixxx.sourceforge.net/ )
 
Videora
    thin liquid film ( http://thinliquidfilm.org/ )
 
Winamp
    Audacious ( http://audacious-media-player.org/Main_Page )
    Amarok ( http://amarok.kde.org/ )
    XMMS ( http://www.xmms.org/ )
 
Windows Media Player
    KPlayer ( http://kplayer.sourceforge.net/ )
    VideoLAN ( http://www.videolan.org/ )
    xine ( http://xinehq.de/ )
    mplayer ( http://www.mplayerhq.hu/design7/news.html )
 
Windows Movie Maker
    PiTiVi ( http://www.pitivi.org/wiki/Main_Page )
    LiVES ( http://lives.sourceforge.net/ )
    Open Movie Editor ( http://openmovieeditor.sourceforge.net/HomePage )
    Avidemux ( http://fixounet.free.fr/avidemux/ )
    Cinelerra ( http://cvs.cinelerra.org/ )
    kdenlive ( http://kdenlive.sourceforge.net/ )
 
WinIso ISO
    Master ( http://littlesvr.ca/isomaster/ )
    KIso ( http://kiso.sourceforge.net/ )
 
WinMerge
    KDiff3 ( http://kdiff3.sourceforge.net/ )
    Meld ( http://meld.sourceforge.net/ )
    xxdiff ( http://furius.ca/xxdiff/ )
    Kile ( http://kile.sourceforge.net/ )
 
WinTV
    XdTV ( http://xawdecode.sourceforge.net/ )
    tvtime ( http://tvtime.sourceforge.net/ )
 
WS_FTP
    gFTP ( http://gftp.seul.org/ )
    FireFTP ( http://fireftp.mozdev.org/ )
 
Zbrush
    SharpConstruct ( http://sharp3d.sourceforge.net )
 
ZoneAlarm
    Guarddog ( http://www.simonzone.com/software/guarddog/ )
    Firestarter ( http://www.fs-security.com/ )

출처 : PHPSCHOOL

공식 다운로드 센터 : http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&Lang=Korean&P5_Language=Korean&ogn=KR-gntray_dl_getflashplayer_kr

일단 설치해도 안된다는게 문제....


http://nacarat.tistory.com/attachment/ck15.exe <-이것으로 삭제~



http://nacarat.tistory.com/attachment/ck16.exe <-이것으로 삭제~



http://nacarat.tistory.com/attachment/ck14.msi

2개 중에서 한개를 다운받아서 기존 플래시 플레이어 제거~

그리고, 위 공식 다운로드 센터 방문 후 설치 하시면 됩니다.

하면 보통 사람[?]들은 됩니다.


그래도 안된다?


Flash Player 8을 다시 설치~


설치는 여기에서 가능할지도... 네이버 카페에 있더라구요 - ㅁ-~

http://mfiles.naver.net/984bad74623854e7c9a2/data24/2006/9/11/18/install_flash_player_8.msi 


1. 일단 킨건 다 끄자. 메신저 같은데에도 있을지도 모르니깐 후다닥 다 끄자!

   닥치고 재부팅[?]도 괜찮을지도...?


2. Downloaded Program Files 폴더를 찾아내세요~

보통 XP 나 98일경우에는 밑의 경로

C:\WINDOWS\Downloaded Program Files

  

3. 파일 리스트 중에서 Shockwave Flash Object 파일을 찾아 오른쪽 클릭으로 삭제~


4. 제거가 되었다면 브라우저를 다시 키고..


5. 익스플로러를 실행하여 플래쉬가 있는 페이지와 접촉하면 알아서 다시 설치가 됩니다~




안된다면 Flash Player7을 설치한다.


이 방법은 해결방법1)을 해도 컴퓨터가 난리를 치면 하는겁니다.


1. 위에서의 1~3를 다시 한다. 반드시 3번인 삭제 과정 까지는 필수.. 더 이상해도 안된다는~

   이렇게 안해놓으면 남은 파일때문에 자동으로 8버젼이 다시 깔리는 불상사가 생겨요~


 http://download.macromedia.com/pub/flash/ts/flash7/updated/win/flashplayerupdater_kr.exe여기에서 7.0버젼을 다운하면 됩니다~


3. 설치 이후 웹페이지를 열었을 때  8.0으로 업데이트를 하겠냐고 물을 경우 업데이트를 하지 않음을 선택하시면 됩니다.




자 보통보다 심각한 사람이라면 여기서 끝! 이지만!


하지만 저처럼 더 심각한 경우에는 8.0설치 도중에 Flash mx 2004를 다운받아라고 하는데....


이걸 또 할려면 퀵타임이 필요... 아 이런 젠장할


퀵타임 6.0이상 지원인거 같은데 인터넷에서 무난하게 다운가능..


설치에는 다 무시하고 다음만 연타....



그리고 이제 대망의 mx 2004... 이런 젠장 Flash player때문에 뭐하는 짓이야 나는


일단 인터넷에서 구합시다 플래시365라는 사이트의 질문에서 mx 2004 구하는 사람의 글에 있다고 하더군요


플래시365가 자작 플래시게임으로 한몫하는 곳이니까요..


여하튼 구합시다~ 전 하나뽀쓰에서 다운받았답니다.


설치하고.. 나중에 할일없으면 플래시나 만들고 노세요.. 한글판 있으니까..


설치하면서 설렁설렁 받고 이제 드디어 다시 위로가서 설치.. 하고 안돼면 때리치워.. 에씨...

펌:http://blog.naver.com/godrl7979?Redirect=Log&logNo=50024852355

charset에 따라서 아래 둘중 하나를 사용하시면 됩니다.

http://oxtag.com/php/p/rssReader.php?cut=30&rss=http://rss.cbs.co.kr/nocutnews.xml

http://oxtag.com/php/p/rssReader2.php?cut=25&rss=http://rss.donga.com/stotal.xml



RSS 리더 소스 : http://haco.tistory.com/entry/PHP-RSS-Reader-RSS-20


http://rss.cbs.co.kr/nocutnews.xml //노컷뉴스  
http://www.chosun.com/site/data/rss/rss.xml //조선일보
http://www.cine21.com/News_Report/ //씨네21
http://www.dailian.co.kr/news/n_list.html?kind=rank_code&keys=3 //데일리안
http://rss.donga.com/total.xml //동아일보
http://rss.donga.com/stotal.xml //스포츠동아
http://news.naver.com/rss/rss_presscenter.nhn?office_id=029 //디지털타임스
http://rss.edaily.co.kr/econo_news.xml //이데일리
http://www2.feed43.com/etnews.xml //전자신문
http://news.naver.com/rss/rss_presscenter.nhn?office_id=074 //필름2.0
http://rss.fnn.co.kr/news.xml //FNN 뉴스
http://news.naver.com/rss/rss_presscenter.nhn?office_id=014 //파이낸셜뉴스
http://www.hani.co.kr/rss/ //한겨레신문
http://rss.hankooki.com/news/hk00_list.xml //한국일보
http://rss.hankooki.com/sports/sp00_list.xml //스포츠한국
http://rss.hankooki.com/economy/sk00_list.xml //서울경제
http://rss.hankyung.com/economy.xml //한국경제
http://news.naver.com/rss/rss_presscenter.nhn?office_id=016 //헤럴드 경제
http://www.independent.co.kr/news_01/n_list.html?kind=main //독립신문
http://www.itooza.com/rss/itooza_rss.xml //아이투자
http://www.jknews.co.kr/contents/rss_gen.xml //한국재경신문
http://rss.joins.com/joins_news_list.xml //중앙일보
http://rss.joins.com/joins_ilgan_list.xml //일간스포츠
http://rss.kbench.com/news.xml //케이벤치
http://www.kbizweek.com/ //한경비지니스
http://www.khan.co.kr/rss/rssdata/mx.xml //매거진X
http://www.khan.co.kr/rss/rssdata/total_news.xml //경향신문
http://www.khan.co.kr/rss/rssdata/sports.xml //스포츠칸
http://www.kukinews.com/news/article/list_all.asp?gCode=all //국민일보 쿠키뉴스
http://news.naver.com/news/list.php?mode=LOD&office_id=078&view=1 //국정브리핑
http://news.naver.com/rss/rss_presscenter.nhn?office_id=214 //MBC TV
http://news.naver.com/rss/rss_presscenter.nhn?office_id=057 //MBN TV
http://news.media.daum.net/best/primary/ //미디어다움
http://media.ohmynews.com/rss/ohmynews.xml //오마이뉴스
http://www.mediatoday.co.kr/news/quickViewArticleList.html //미디어오늘
http://news.mk.co.kr/rss/economy.xml //매경이코노미
http://news.mk.co.kr/rss/economy_all.xml //매일경제
http://rss.moneytoday.co.kr/st_news.xml //스타뉴스
http://www.mydaily.co.kr/rss/rss_mydaily.xml //마이데일리
http://feeds.feedburner.com/naver_news_popular //네이버 많이 본 뉴스
http://news.inews24.com/php/news_list.php?g_menu=020000 //아이뉴스
http://www.newswire.co.kr/rss/rss.xml //뉴스와이어
http://feeds.feedburner.com/paxnetnews //팟스넷
http://www.polinews.co.kr/rss/focus.xml //폴리뉴스
http://www.pressian.com/rss/rss.xml //프레시안
http://news.naver.com/rss/rss_presscenter.nhn?office_id=055 //SBS TV
http://www.segye.com/Service5/ShellTotal.asp?TreeID=1051 //세계일보
http://www.seoul.co.kr/news/dailyList.php //서울신문
http://news.naver.com/rss/rss_presscenter.nhn?office_id=076 //스포츠조선
http://news.naver.com/rss/rss_presscenter.nhn?office_id=073 //스포츠서울
http://stock.moneytoday.co.kr/flashnews/flashnews_list_1.htm //머니투데이
http://rss.tagstory.com/rss/rss_feed.aspx?kind=3&value=1 //태그스토리 24시간 인기동영상
http://www.hankooki.com/totallist/gisalist.php?media=wk //주간한국
http://news.naver.com/rss/rss_presscenter.nhn?office_id=052 //YTN TV
http://www.zdnet.co.kr/services/rss/all/rss2.0.htm //zdnet

펌 : http://dev.previl.net/index.php?channel=tip&pmode=view&no=15




RSS란?
블로그, 뉴스, 기업정보, 사이트의 공지사항, 취업정보등과 같이 자주 업데이트 되는 사이트들의
업데이트된 정보를 보다 쉽게 사용자들에게 제공하기 위해 만들어진 포맷입니다.
현재 국내에서는 유명 뉴스,포탈사이트,블로그등에서 RSS를 적극적으로 지원하고 있는 추세입니다.

출처 : http://kr.blog.yahoo.com/yeonmoblog/401

············· 국내 유명 사이트 들의 RSS 주소 모음 ·············
조선일보 전체기사 RSS http://rss.chosun.com/rss.xml
중앙일보 전체기사 RSS http://rss.joins.com/joins_news_list.xml

드림위즈 뉴스센터 RSS http://news.dreamwiz.com/rss/dw_rss_news.xml

야후 전체기사 RSS http://kr.rss.news.yahoo.com/Yahoo_nocut1001.xml

영화 엔키노 뉴스 RSS http://rss.nkino.com/news.xml

케이벤치 전체기사 RSS http://rss.kbench.com/kbench.xml

오마이뉴스 RSS http://media.ohmynews.com/rss/ohmynews.xml

스카우트 전체채용정보 RSS http://www.scout.co.kr/jobs/all/rss.asp

벅스 음반몰 RSS http://cdmall.bugs.co.kr/Rss/XMLCdmallList.asp

청와대 RSS http://www.president.go.kr/cwd/kr/rss.xml

IT서점-한빛북 http://www.hanbitbook.co.kr/sync/rss_newbook.xml


············· 스타들의 블로그 RSS 주소 모음 ·············
가수 유진 블로그 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=eugenesinger

배두나 블로그 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=hnpl46

송일국 블로그 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=vegetarian19

문근영 블로그 http://blog.empas.com/empasmanito/rss.xml

신화 블로그 http://blog.paran.com/rssview.php?pmcid=shinhwa7th

김래원 블로그 http://blog.paran.com/rssview.php?pmcid=raewon

성현아 블로그 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=hinasung

조승우 블로그 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=mt_chowon

삼성카드 모델 공현주 블로그 http://mm.dreamwiz.com/spabee7/index.xml

가수 바다 블로그 http://blog.paran.com/rssview.php?pmcid=badaboom


············· 유명 만화,애니메이션 블로그 RSS 주소 모음 ·············
투데이스피피시-만화게시판 http://www.todaysppc.com/rss/cartoon.xml

만화인 http://www.manhwain.com/index.xml

백금기사의 기묘한 연구소 http://lgaim.egloos.com/index.xml

올드독 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=hhoro

아까짱의 이 만화 꼭 봐라 http://kori2sal.egloos.com/index.xml

잠들 수 없는 밤의 기묘한 이야기 http://thering.ivyro.net/tt/index.xml


············· 재미난 이야기 사이트 RSS 주소 모음 ·············
오늘의 재미있는 이야기 http://blog.www.com.ne.kr/v1/todayStory/today_story_rss.php

드림위즈 별난세상 별난유머 http://bbs.dreamwiz.com/GEN/rss/fun.rss

퍼니톡 Best유머 http://www.funnytalk.co.kr/humorxml.php

드림위즈 지식검색 http://ksearch.dreamwiz.com/rss/ks_rss.xml

오니(おに)의 까대기 마당!!! http://blog.hanafos.com/getrss.asp?blogerid=msh8592

웃고싶은가? 끌리면 오라 ♨HOT♨ http://hompy.dreamwiz.com/dwhot?rss

드림위즈 엔터테인먼트 http://bbs.dreamwiz.com/GEN/rss/ent.rss

페인 + 유머 + 기타 http://blog.empas.com/kiminternet/rss.xml


············· 국내 블로그 사이트들의 RSS 주소 안내 ·············
네이버 블로그 RSS주소 http://blogbridge.naver.com/post/postXMLList.jsp?blogId=뼯a>??이버아이디
야후 블로그 RSS주소
http://kr.blog.yahoo.com/야후아이디/rss.xml
엠파스 블로그 RSS주소 http://blog.empas.com/엠파스아이디/rss.xml


이와 같은 RSS문서를 읽으려면 별도의 RSS리더 프로그램이 필요합니다.
즉, RSS리더에 위 사이트들의 RSS주소를 추가하여,
사이트의 최신 정보들을 한 번에 바로 바로 받아 볼 수 있게 되는 것입니다.
하지만 이처럼 국내외 수많은 RSS주소들을 일일이 찾아 하나씩 추가하려면 많은 시간이 소요됩니다.
그래서 RSS리더 - [연모]에서는 이런 번거로움을 해소하기 위해,
국내외 모든 RSS주소를 분류별로 정리하여,
한 번에 쉽게 바로 바로 추가할 수 있는 기능(연모의 '온라인센터' 메뉴)을 제공하고 있습니다.

연모 설치하기 : http://easyinstall.icons.com.ne.kr/easyinstall/YeonMo/Setup.exe


IE7 특정 사이트나 웹페이지 보안경고 창이 계속 뜨는 경우 안뜨게 하는방법

아래 이미지 처럼..

사용자 삽입 이미지




도구
를 누르고 창에서 인터넷옵션을  눌러  아래  그림의
인터넷 옵션창이 열리면 창 맨위의  보안탭을 눌러 줍니다.



사용자 삽입 이미지




다음


 
아래 그림을  참고 하셔서   신뢰할수 있는 사이트 그림 을   누르고

사이트(S) 를  눌러 신뢰할수 있는 사이트 창을  엽니다.

 

사용자 삽입 이미지




 
다음
 
신뢰 할수 있는 창이  열리면
아래  그림을  참고 하셔서
여기 그림은  옥션을 예로 들었 습니다.
  문제의  오류 메세지창이  뜨는  사이트 이름을 찾아서 눌러
선택을   하시고 → 다음  옆부분의   제거(R) 을 눌러 제거를 합니다.




사용자 삽입 이미지
 
다음
 
해당창 제일 아래 부분에 있는 확인을  눌러 주시기 바랍니다.





롯데손해보험 :
http://www.lotteins.co.kr/



위 사이트 접속하면 오른쪽 하단에...


i-Defense 창이나 i로고가 나타납니다.


환경설정 > 바이러스 > 수동검사 > 검사시작을 클릭합니다.


메모리 부트섹터 검사 완료 후
종료 클릭하면 바이러스 검사를 시작합니다.


바이러스 체크 시간이 2~3시간 걸리는데..


체크 하는중엔 인터넷이나 다른 프로그램 돌릴 경우 좀 버벅여요~








익스플로러7로 업데이트 한 후에 블로그에 글을 올릴때마다


'이 웹 페이지에서 클립보드에 엑세스 할 수 있도록 허용하시겠습니까?'


이런 종류의 메시지가 자동으로 뜨더군요. 메시지 창에서 허용을 선택해도 뜨고,

허용을 선택하지 않아도 또 뜨게 됩니다.


이 해결방법은, 익스플로러7 설치후 기본설정이 되어있다는 가정하에,

익스플로러 상단 우측을 보시면 도구 라는 메뉴가 있습니다.


이 도구 메뉴를 클릭하신 후 맨 아래쪽의 인터넷 옵션 을 선택하시면

인터넷 옵션 창이 별도록 활성화 되게 됩니다.

그 창에서 두번째 탭인 보안을 클릭하신뒤 창 아래쪽의 사용자 지정 수준을 다시

클릭하시면 보안설정-인터넷영역 이라는 창이 또 뜨게 됩니다.


여기서 우측의 스크롤바를 중간이하로 내려 스크립팅 명령을 찾으시면

스크립팅 명령의 하위 세번째 명령줄에 프로그램 클립보드 액세스 허용 이라는

명령이 있고, 이 명령에 대해서 확인에 체크가 되어있을 겁니다.

이걸 사용으로 체크를 하시면 완료가 됩니다.


풀어서 쓰다보니 길어졌는데, 간략하게 정리하면 아래와 같은 순서입니다.



도구 → 인터넷 옵션 → 보안 → 사용자 지정 수준 → 스크립팅

→ 프로그램 클립보드 액세스 허용 → 사용


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


클립보드 복사 기능 스크립트 - 플래시 이용

미리보기 : http://oxtag.com/html/ex/clipboard/

출처 : http://www.alik.info


function copyContent(str)
{
    if (document.selection)
    {
        bResult = window.clipboardData.setData("Text",str);
        if (bResult) alert('클립보드에 저장되었습니다.');
    } else {
        str = encodeforFlash(str);
        var flashcopier = 'flashcopier';
        if(!document.getElementById(flashcopier)) {
            var divholder = document.createElement('div');
            divholder.id = flashcopier;
            document.body.appendChild(divholder);
        }
        document.getElementById(flashcopier).innerHTML = '';
        var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard='+str+'" width="1" height="1" type="application/x-shockwave-flash"></embed>';
        document.getElementById(flashcopier).innerHTML = divinfo;
        alert('클립보드에 저장되었습니다.');
    }
};


function encodeforFlash(str)
{
    var SAFECHARS = "0123456789" +
                  "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +
                  "abcdefghijklmnopqrstuvwxyz" +
                  "-_.!~*'()";

    var HEX = "0123456789ABCDEF";

    var plaintext = str;
    var encoded = "";
    for (var i = 0; i < plaintext.length; i++ ) {
        var ch = plaintext.charAt(i);
        if (ch == " ") {
            encoded += "+";
        } else if (SAFECHARS.indexOf(ch) != -1) {
            encoded += ch;
        } else {
            var charCode = ch.charCodeAt(0);
            if (charCode > 255) {
                encoded += ch;
            } else {
                encoded += "%";
                encoded += HEX.charAt((charCode >> 4) & 0xF);
                encoded += HEX.charAt(charCode & 0xF);
            }
        }
    }
    return encoded;
};


사용법은

    copyContent('복사할내용');

이런식으로 복사될 내용을 넘겨주면서 호출해주면 되는겁니다.
(onclick 이나... 링크나...함수내 호출이나...아무렇게나!)



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

첫번째 링크는 위 "...클립보드에 엑세스 할 수 있도록 허용..." 메시지가 나오구요.
두번째,세번째 링크는 위 메시지가 나오지 않습니다.

   http://oxtag.com/html/ex/clipboard

   http://oxtag.com/html/ex/clipboard/clipboard2/

   http://oxtag.com/html/ex/clipboard/clipboard3/

간단합니다.

cursor:pointer;


<font style=font-family:;CURSOR:crosshair>CURSOR: crosshair</font>

<font style=font-family:;cursor:default>cursor:default</font>

<font style=font-family:;cursor:hand>cursor:hand</font>

FF(모질라/파이어폭스) 손모양 커서 cursor:pointer

<font style=font-family:;cursor:help>cursor:help</font>

<font style=font-family:;cursor:auto>cursor:auto</font>

<font style=font-family:;cursor:move>cursor:move</font>

<font style=font-family:;cursor:e-resize>cursor:e-resize</font>

<font style=font-family:;cursor:ne-resize>cursor:ne-resize</font>

<font style=font-family:;cursor:nw-resize>cursor:nw-resize</font>

<font style=font-family:;cursor:n-resize>cursor:n-resize</font>

<font style=font-family:;cursor:se-resize>cursor:se-resize</font>

<font style=font-family:;cursor:sw-resize>cursor:sw-resize</font>

<font style=font-family:;cursor:s-resize>cursor:s-resize</font>

<font style=font-family:;cursor:w-resize>cursor:w-resize</font>

<font style=font-family:;cursor:wait>cursor:wait</font>

웹표준에 맞게 코딩했으며 이미지를 포샵처리해서 일일이 비교 작업해서 만든것이니 정확합니다
테스트된 브라우져는 익스 파이어폭스 오페라 네스케이프등 4개의 브라우져에서 이상 없이 출력되는 것을 확인했습니다

5픽셀 라운드 처리된 것이며 2중 테두리를 가진 테이블입니다
바깥 테두리 바깥 배경 안쪽 테두리 안쪽 배경을 적절히 조절해서 사용하시면 됩니다

자바 스크립트로 만들면 편하겠지만 시간이 없어서 거기까진 아직 손을 대지 않았습니다
필요하신 분은 자바스크립트로 만들어 지정된  div 에서 쓸수 있게 하면 될 것입니다

단점은 지정된 라운드를 쓰기 때문에 더 둥근 테이블이나 바깥과 안쪽의 경계선이
5픽셀 이상 벌어지는 지원이 되지 않습니다

주의 하실것은 내용 들어가는 부분을 적절히 줄바꿈 태그로 지정된 넓이 만큼
벗어나지 않도록 해야 합니다  줄바꿈이 되지 않으면 우측 경계부분이 깨집니다


첫번째 링크는 소스 적용된 테이블의 모양을 보실수 있습니다

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
<head>
<style type="text/css">
body {
    font: 14px Arial, Helvetica, sans-serif;
    color: #000;
}
/*
 사용법:

┏━━━━━━━━━━━━  높이와 넓이  ━━━━━━━━━━━━━┓
┃넓이  : 테이블을 감싸줄 DIV에서 조절                             ┃
┃높이  : .CONTENTS에서 높이와 마진을 조절                         ┃
┗━━━━━━━━━━━━  높이와 넓이  ━━━━━━━━━━━━━┛

┏━━━━━━━━━━━━ 바깥쪽 테이블 ━━━━━━━━━━━━━┓
┃테두리 색 :                                                      ┃
┃ .rt1에서 .rt6까지는 border-right border-left의 색을 조절        ┃
┃ .rt7 은 background-color로 라인의 색을 맞춰줌                   ┃
┃                                                                 ┃
┃배경색    :                                                      ┃
┃.rt1에서 .rt6까지 background-color로 맞춤                        ┃
┗━━━━━━━━━━━━ 바깥쪽 테이블 ━━━━━━━━━━━━━┛

┏━━━━━━━━━━━━━ 안쪽 테이블 ━━━━━━━━━━━━━┓
┃테두리 색 :                                                      ┃
┃.rt1in1 에서 .rt2in4 까지는 border-right border-left의 색을 조절 ┃
┃.rt2in5 는 background-color로 라인의 색을 맞춰줌                 ┃
┃                                                                 ┃
┃배경색    :                                                      ┃
┃.rt1in1 에서 .rt2in4 까지 background-color로 맞춤                ┃
┗━━━━━━━━━━━━━ 안쪽 테이블 ━━━━━━━━━━━━━┛

*/

/* 바깥쪽  테이블: 시작 */
.rt1{
    background-color: #fdfdfd;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
    margin  : 0px  0px 0px 0px;
    padding : 0px;
    overflow: hidden;
    height  : 4px;
}
.rt2{
    background-color: #fdfdfd;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
    margin  : 0px  1px 0px 1px;
    padding : 0px;
    overflow: hidden;
    height  : 2px;
}
.rt3{
    background-color: #fdfdfd;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
    margin  : 0px  2px 0px 2px;
    padding : 0px;
    overflow: hidden;
    height  : 1px;
}
.rt4{
    background-color: #fdfdfd;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
    margin  : 0px  3px 0px 3px;
    padding : 0px;
    overflow: hidden;
    height  : 1px;
}
.rt5{
    background-color: #fdfdfd;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
    margin  : 0px  4px 0px 4px;
    padding : 0px;
    overflow: hidden;
    height  : 1px;
}
.rt6{
    background-color: #fdfdfd;
    border-right: 2px solid #ccc;
    border-left: 2px solid #ccc;
    margin  : 0px  5px 0px 5px;
    padding : 0px;
    overflow: hidden;
    height  : 1px;
}
.rt7{/* 상하단 라인 */
    background-color: #ccc;
    margin  : 0px  7px 0px 7px;
    padding : 0px;
    overflow: hidden;
    height  : 1px;
}
.rtoutLRline{/* 좌우 라인 */
    background-color: #fdfdfd;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
    margin  : 0px  0px 0px 0px;
    padding : 0px;
    overflow: hidden;
}

/* 바깥쪽  테이블: 끝 */


/* 안쪽 테이블: 시작 */
.rt2in5{/* 상하단 라인 */
    background-color: #ccc;
    margin  : 0px  8px 0px 8px;
    padding : 0px;
    overflow: hidden;
    height  : 1px;
}
.rt2in4{
    background-color: #F2F2F2;
    border-right: 2px solid #ccc;
    border-left: 2px solid #ccc;
    margin  : 0px  6px 0px 6px;
    padding : 0px;
    overflow: hidden;
    height  : 1px;
}
.rt1in3{
    background-color: #F2F2F2;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
    margin  : 0px  6px 0px 6px;
    padding : 0px;
    overflow: hidden;
    height  : 1px;
}
.rt1in2{
    background-color: #F2F2F2;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
    margin  : 0px  5px 0px 5px;
    padding : 0px;
    overflow: hidden;
    height  : 2px;
}
.rt1in1{
    background-color: #F2F2F2;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
    margin  : 0px  4px 0px 4px;
    padding : 0px;
    overflow: hidden;
    height  : 1px;
}

.rtinLRline{/* 좌우 라인 */
    background-color: #F2F2F2;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
    margin  : 0px  4px 0px 4px;
    padding : 0px;
    overflow: hidden;
}

/* 안쪽 테이블: 끝 */


/* 내용 테이블 */
.CONTENTS{
    margin  : 0px  0px 0px 0px;
    padding : 5px  10px 5px 10px;
    height  : 100px;

}
</style>

</head>
<body>

css 처리한 라운드
<div style="margin : 0px 10px 0px 0px; width: 250px;">
    <div class="rt7"></div>
    <div class="rt6"></div><div class="rt5"></div> 
    <div class="rt4"></div><div class="rt3"></div> 
    <div class="rt2">
          <div class="rt2in5"></div><div class="rt2in4"></div>
    </div>
    <div class="rt1">
          <div class="rt1in3"></div><div class="rt1in2"></div>
          <div class="rt1in1"></div>
    </div>
    <div class="rtoutLRline">
    <div class="rtinLRline">

          <div class="CONTENTS">
          내용을 이곳에 넣으시면 됩니다 ^_____________________^*
          </div>

    </div>
    </div>
    <div class="rt1">
          <div class="rt1in1"></div><div class="rt1in2"></div>
          <div class="rt1in3"></div>
    </div>
    <div class="rt2">
          <div class="rt2in4"></div><div class="rt2in5"></div>
    </div>
    <div class="rt3"></div><div class="rt4"></div>
    <div class="rt5"></div><div class="rt6"></div>
    <div class="rt7"></div>
</div>
</body>
</html>

출처:http://cafe.naver.com/pspboolp/411