반응형

1.
?> shutdown -r


2.
"net stop 서비스명" 으로
재부팅 유도하는 방법이 있는데 기억이..



=== 이건 어디서 긁어온.. ===

  
자주 사용되는 윈도우 명령어로 WinNT폴더(윈9x는 Window폴더)에 위치하며 시작메뉴-실행 명령으로 바로 실행되는 유용한 명령어입니다.

msconfig(시작프로그램 제어등 많은기능 제공)
단, 윈2000은 지원 안함

regedit(레지스트리 편집기)

sysedit(autoexec.bat , config.sys ,win.ini, system.ini 시스템구성편집기)

cmd(도스명령프롬프트 실행)
단,윈98은 command

telnet open 사이트주소(텔넷접속명령어)

netstat -na(현재 열린포트와 TCP/IP 프로토콜정보를 보여줌)
-열린포트로 트라이목마형 바이러스 침투 유무확인가능

sfc(시스템 파일 검사기)
-시스템 파일을 검사한후 깨지거난 손실된 파일을 원본 압축파일에서 찾아서 복원시켜줌
단,윈2000에서는 cmd실행 후 sfc사용- 마지막 설정된 값을 다음 윈도우부팅시 곧바로 실행됨[수정]

winipcfg(인터넷에 접속된 자신의 아이피 주소를 보여줌)
단, 윈2000은 ipconfig로 변경됨

dxdiag(다이렉트X진단도구 및 그래픽과 사운드의 세부정보를 보여줌)

systray(사운드 볼륨설정 노란색 스피커 아이콘을 트라이목록에 띄움)

ping 사이트주소(핑테스트 해당 사이트의 인터넷연결 유무 확인)

Windows XP에서의 관리 프로그램 입니다

시작-실행후 다음의 내용을 입력하면 해당되는 관리프로그램이 실행됩니다.

compmgmt.msc - 컴퓨터 관리와 시스템 도구

diskmgmt.msc - 디스크 관리 창

eventvwr.msc - Windows 메세지가 담긴 도구

gpedit.msc - PC에 저장되어 있는 그룹 정책을 편집

perfmon.msc - 시스템 성능 감시 및 로그와 경고 도구

secpol.msc - PC보안 정책 정의 도구

devmgmt.msc - 장치 관리자 도구

dfrg.msc - 디스크 조각 모음 도구

fsmgmt.msc - 공유 폴더 보기 도구

lusrmgr.msc - 현재 사용자 도구

rsop.msc - 정책의 결과 집합 도구

service.msc - 서비스 도구




tsshutdn.exe
만약 PC가 자신이 지정한 시간이 되면 자동으로 꺼지는 기능이 있다면, 상당히 편리 하겠죠?
여기 아주 단순하지만, 이러한 것들을 충족시켜줄 수 있는 간단한 기능을 여러분에게 소개시켜 드리도록 하겠습니다.
이번에 소개시켜 드리는 기능은 일정시간이 지나면, PC가 자동으로 종료가 되도록 하는 것으로 사용자가 정하는 시간은 초단위로 진행이 됩니다.
이러한 기능을 지원하는 어플리케이션은 tsshutdn.exe라는 것으로 시작→실행(단축키는 윈도키+R)을 통해 호출할 수 있습니다.

tsshutdown은 앞에서 설명을 드린 것 처럼 PC가 종료되는 시간을 초단위로 입력을 해주어야만 동작을 하도록 되어 있습니다. 만약 1분후에 종료가 되기를 원한다면 1분은 60초 이므로 뒤에 60이라는 숫자를 입력해주면 됩니다.
30분이라면 1800초이므로 뒤에 1800이라는 숫자를 넣어주시면 됩니다.

tsshutdown을 실행시키면, 위와 같은 메시지가 출력이 됩니다. 만약 자동종료를 원치 않는 상황이 발생할 경우에는 [Ctrl]+[C]를 눌러 취소해 주시면 됩니다.
tsshutdn은 종료시간 30초전에 최종 확인을 하므로 역시 원치 않는 경우에는 취소할 수 있습니다.

반응형
반응형

http://dev.mysql.com/doc/refman/4.1/en/connection-access.html

# mysql -u root -p
비밀번호 입력

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 52 to server version: 4.1.15

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed


mysql> GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' IDENTIFIED BY 'testpw' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'testpw' WITH GRANT OPTION;
mysql> flush privileges;

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

설명
text라는 유저를 만들고 localhost(루프백), 모든 접근을 허용한다,
비밀번호는 testpw, 모든데이터베이스와 테이블(*.*)에 모든 권한을 위임한다.

ps. 직접 user, host 테이블 값을 수정해도 된다.

반응형

'Tip & Tech > Both | Other' 카테고리의 다른 글

MySQL Dump & Restore  (0) 2010.10.20
오라클 오류번호-설명  (0) 2010.10.20
PostgreSQL 쿼리내용을 덤프(SQL File) 뜨는 법  (0) 2010.10.20
톰캣 서버 한글 URI 허용 설정.  (0) 2010.10.20
Oracle 9i 유저 설정변경  (0) 2010.10.20
반응형


psql -c "쿼리" [출력포맷] > 파일이름
반응형

'Tip & Tech > Both | Other' 카테고리의 다른 글

오라클 오류번호-설명  (0) 2010.10.20
MySQL 외부접속 방법.  (0) 2010.10.20
톰캣 서버 한글 URI 허용 설정.  (0) 2010.10.20
Oracle 9i 유저 설정변경  (0) 2010.10.20
PostgreSQL 에서 SQL에서 문자열 합치기  (0) 2010.10.20
반응형

isqlw.exe는 윈도우용
isql.exe는 cmd용
반응형
반응형

일전것과 같이 DSN자료인데 이게 더 상세한 자료며 자료 출처도 있음
http://database.sarang.net/?inc=read&aid=5715&criteria=pgsql&subcrit=tutorials&id=&limit=20&keyword=&page=1
아무래도 이게 완결같네요

PostgreSQL win32 바이너리 설치하기.
- 김상기 ioseph

1. 사용자 만들기.
유닉스와 마찬가지로 일단 DB 서버를 운영할 시스템 사용자가 필요합니다.

쉘 명령 프롬프트 (cmd 창)에서 net user 명령이나, 컴퓨터 관리에서 사용자 추가로 postgresql 서버를 운영할 사용자를 만듭니다. 예를 들어서 유닉스에서 처럼 postgres

> net user postgres 1234 /add



2. postgres 사용자로 cmd 실행하기.
cmd 창에서 runas 명령을 이용해서 앞에서 만든 db 서버를 운영할 사용자(여기서는 postgres로 했습니다)로 새 cmd 창을 띄웁니다.

> runas /user:postgres cmd

이 명령이 실행되면 암호를 물어봅니다. 앞에서 암호를 1234로 지정했으니, 그렇게 하면 되겠지요.



3. initdb 작업
다운 받은 압축파일을 c:\pgsql 폴더에 풀었다고 가정하고, 그 폴더로 이동하면, bin\initdb.exe 파일 있습니다. 이 명령을 실행해서 새로운 db 클러스터를 만듭니다. 만드는 방법은 유닉스에서와 완벽하게 동일합니다.

> cd \pgsql

> bin\initdb -D data -E unicode --no-locale

-D 옵션은 만들어질 데이터 디렉토리를 지정하는 것이고, 윗 예제라면, c:\pgsql\data 가 됩니다.

-E 옵션은 데이터베이스의 기본 문자셋을 지정하는 것이고, 한국어를 가장 잘 처리하는 것이 unicode (utf-8) 밖에 없는지라, 이 문자셋을 사용합니다.

--no-locale 옵션은 한국어 정렬관련과 인덱스 관련 때문에 지정해 줍니다.



4. 기본 postgresql.conf 파일 적당히 수정하기.
새로 만들어진 data 폴더 안에 서버 환경 파일인 postgresql.conf 파일이 있습니다. 이 파일을 약간 수정해 주어야 합니다. 변경되는 값은 listen_addresses (외부에서 접속을 가능하게 하려면, '*' 또는 해당 시스템의 외부용 공식 ip여야합니다.)


listen_addresses = '*' # what IP interface(s) to listen on;
# defaults to localhost, '*' = any


또한 외부에서 이 서버로 접속을 하려면, data 폴더 안의 pg_hba.conf 파일도 수정해야하는데, 이부분에 대한 이야기는 메뉴얼을 참조하세요.

(M$ 쪽으로 보다 쉽게 움직이려면, 이 postgresql.conf 파일과, pg_hba.conf 파일을 비주얼하게 편집할 수 있는 툴이 나와야겠다는 생각이 드네요)



5. pg_ctl 명령을 이용한 서비스로 등록하기
새 데이터베이스 클러스트가 다 만들어졌으면, 이제 db 서버를 시스템이 켜지면 자동으로 실행되도록 윈도우즈 서비스로 등록해 둡니다. 이 작업은 postgres 계정이 아닌, 관리자 계정이어야합니다.

> c:\pgsql\bin\pg_ctl register -N postmaster -U postgres -P 1234 -D c:\pgsql\data

다음 postgres 계정이 서비스를 가동할 수 있는 권한을 부여해 주어야합니다. 이 작업도 관리자 권한으로 실행합니다.

> mmc c:\windows\system32\secpol.msc

명령으로 '로컬 보안 설정' 창이 나타나면, 거기서 로컬 정책 -> 사용자 권한 할당 영역으로 이동한 다음, '서비스로 로그온' 항목을 더블 클릭해서 편집 대화창을 띄우고, 앞에서 서비스로 실행시킬 사용자를 추가해 줍니다.



6. PostgreSQL 서버 실행하기.
시스템 관리자 권한으로 명령창에서 net start 명령으로 단순히 실행하면 됩니다.

> net start postmaster

여기서 postmaster 는 앞에서 pg_ctl register 명령에서 -N 옵션으로 지정한 이름입니다.



여기까지입니다. 특별한 문제가 없다면, 자연스럽게 가동될 것입니다. 잘 가지고 놀아보시고, 문제점들이 발견되면 DSN 게시판을 통해서 논의해 봅시다.



7. 테스트
GUI 툴로는 PgAdmin3 프로그램을 다운 받으셔서 테스트 해보시면 됩니다.  

그래서 늘 해왔듯이, psql 놈으로 테스트를 해보셔도 좋구요.

> c:\pgsql\bin\psql -U postgres template1
반응형
반응형


server.xml에서

해당포트를 사용하는
Connect 부분에 URIEncoding 만 추가하면 끝


ex)
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="80" minProcessors="5" maxProcessors="75"
               enableLookups="true"
               acceptCount="10" debug="0" connectionTimeout="20000"
               proxyPort="80" useURIValidationHack="false" URIEncoding="euc-kr"/>



이제 주소표시줄에
URI로 넘어오는 것들을
get으로 한글로 팍팍 넘겨도 아무문제 없다
반응형
반응형

페이지 인코딩설정.

test.jsp
<%@ page language="java" import="java.util.*, java.sql.*" session="true" contentType="text/html;charset=euc-kr" pageEncoding="euc-kr" %>
<% // 중요한건 pageEncoding="euc-kr"

request.setCharacterEncoding("euc-kr");  // 이것도 중요
...
%>



=================== 오라클이라면 위한 설정. ================

shell profile을 보면 (bash라면 .bash_profile)
#export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601;
export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949;

와 같이 바꾸어줍시다
oracle 9i 부터는 win949가 ksc5601을 포함하게 되었죠..
cp949짱!

반응형

'WEB > CGI' 카테고리의 다른 글

*OutputStream 한글 인코딩 처리  (0) 2010.10.21
JSP 파일 업로드  (0) 2010.10.21
PHP 파일의 확장자 분리하기  (0) 2010.10.21
E-mail programming 관련  (0) 2010.10.20
PHP 문자열중 원하는 Tag만 제거하기  (0) 2010.10.19
반응형

Oracle 9i DB/유저생성
                - 이현순


1. 로컬에 Oracle 9i 인스턴스가 동작중이라면 sqlplus로 로컬계정(oracle)으로 로그인
$ sqlplus /nolog

2. sysdba 에 연결
sql> connect /as sysdba

3. 유저생성 (유저명으로 database도 생성된다)
sql> create user test identified by pwd;  # test : id // # pwd : password

4. 생성한 유저에 테이블생성, 시퀀스 생성, 뷰생성옵션을 준다,
sql> grant create table, create sequence, create view to test;
(비고) 안되면 각각 grant ~ to test 로 해본다.


---------  여기까지 하면 외부 로그인이 안되지롱 --------

5. 외부로그인을 위해서 모든 권한(DBA:Database Administrator)을 준다
sql> grant dba to test;





========================== test =======================
유저명 : test
패스워드 : pwd
서버아이피 : 해당아이피
포트 : 1521
sid : ORA8 (서버 설치시 설정한다)

로 테스트 해본다.

로긴 방법은 NetLogin



====== 번외편 ======
오락흘은 디폴트 유저로써
dba계정인 SYS와 SYSTEM을 가진다.
SYS는 로컬로만, SYSTEM은 외부에도 공개되어있는 계정
비밀번호를 잊어버리면 다음과 같이 바꾸자.

$ sqlplus /nolog

sql> connect /as sysdba

sql> alter user sys identified by 패스워드바꿀꺼;


u know?
okay?


(번외 끝)






사용자 생성 예제
-------------------------------------------------------------------
SQL>CREATE USER TEST IDENTIFIED BY TEST;

1행에 오류:
ORA-01031: 권한이 불충분합니다

※ SCOTT USER는 사용자 생성권한이 없어서 사용자를 생성할 수 없습니다.

SQL>CONN SYSTEM/MANAGER -- SYSTEM USER로 접속합니다.

SQL>CREATE USER TEST IDENTIFIED BY TEST; -- USER를 다시 생성합니다.
사용자가 생성되었습니다.

새로 생성한 USER로 접속해 볼까요..

SQL> CONN TEST/TEST

ERROR:
ORA-01045: 사용자 TEST는 CREATE SESSION 권한을 가지고있지 않음; 로그온이 거절되었습니다

※ 새로 생성한 TEST USER는 권한이 없어서 접근할 수가 없습니다.
모든 USER는 권한이 있고 권한에 해당하는 역할만 할 수 있습니다.
TEST라는 USER를 사용하기 위해서도 권한을 주어야 합니다.

SQL> CONN SYSTEM/MANAGER
연결되었습니다.

SQL> GRANT DBA TO TEST ;
권한이 부여되었습니다.

SQL> CONN TEST/TEST
연결되었습니다.


추가 사항

사용자 환경을
아이디 sys
암호 change_on_install
로 접속한 후(sys와 system은 사용자 생성가능)

sql> create user 사용자아이디 identified by 암호;

권한부여
sql> grant connect,resource to 사용자아이디;

resource권한을 가지면 테이블을 생성할 수 있다.

접속후 사용자 환경을 바꾸려면
sql> connect 사용자/암호;
반응형
반응형

아직도 윈도우즈 서버군에 텔넷 프로그램이 있는지 모르겠지만
지금은 사라진 사이트에서 스크랩해놓았던 자료

텔넷을 하기 위해서 먼저 필요한게 있습니다...

우선 관리도구에서 텔넷서버관리를 열면 명령프롬프트창이 뜰겁니다...

그곳에서..아래와 같은것을 보시게 될겁니다..

따라 하신후 텔넷 서비스를 재구동 시키면 접근하실수 있을겁니다..

재구동시에는 관리도구 => 서비스 => 텔넷 => 중지 => 시작 하시면 됩니다..

다음 옵션 중 하나를 선택하십시오:
0) 이 응용 프로그램 끝내기
1) 현재 사용자 나열
2) 사용자 세션 종료 ...
3) 레지스트리 설정 표시/변경 ...
4) 서비스 시작
5) 서비스 중지

옵션을 선택하려면 옵션 번호[0 - 5]를 입력하십시오

여기서 3번 레지스트리 설정 표시/변경을 눌렀습니다..


다음 옵션 중 하나를 선택하십시오:

0) 이 메뉴 끝내기
1) AllowTrustedDomain
2) AltKeyMapping
3) DefaultDomain
4) DefaultShell
5) LoginScript
6) MaxFailedLogins
7) NTLM
8) TelnetPort
옵션을 선택하려면 옵션 번호[0 - 8]를 입력하십시오

여기선 7번 NTLM을 선택했습니다..

NTLM은 NT Lan Manager의 약어 이구요....

이것은 현재의 텔넷의 인증 정도를 선택하는 옵션이랍니다...

이곳에서 세가지의 값을 알수 잇는데요...먼저...0은 텍스트 인증을 선택하는것입니다...

이경우 모든 컴이 텔넷서버에 접속할수 있습니다...

두번째 1은 처음에는 NTLM인증을 시도하다 실패할경우 클리어텍스트 인증으로

되돌아가는 것입니다...

세번째 2는 오로지 NTLM인증만을 받아들이겠다는 뜻입니다...

아마도 님의 경우는 2로 되어 있지 않을까 생각되는군요...

여기서 1로 바꾸어주세요...밑의 순서대로...



NTLM의 현재값 = 1
이 값을 변경하기 원하십니까? [y/n]y
NTLM [ 현재값 = 1; 허용값 0, 1 또는 2 ] :1
NTLM를 : 1(으)로 설정하시겠습니까? [y/n]y

텔넷 서비스를 다시 시작해야 설정이 적용됩니다

텔넷 서비스를 다시 시작하려면 위에서 말씀드렸듯이...서비스에서 해주세요...

그럼 이만...

도움이 되었기를..항상 행복하세요...^^*

아참 위의 설정은 텔넷서버측에서 설정하셔야 합니다...^^;; 노파심에서..^^;;
반응형
반응형

kldp에 있는 자료입니다.
제가 쉽게 보려고 가져온 것이므로 문제될시 삭제하도록 하겠습니다.


http://wiki.kldp.org/KoreanDoc/VI-miniRef-KLDP


VI 레퍼런스 미니 가이드                                    

                  ####################################  
                  ########## VI 초보 가이드 ##########  
                  ####################################  

글쓴이: 유형목(embryo@nownuri.net)

0. 들어가기 전에

유닉스를 처음 쓰는 사람들이 제일 곤혹스러워 하는 것이 무엇일까?
그것은 바로 "편집기" 일것이다.

편집기의 대명사로 일컬어지는 VI 와 Emacs ..

그중에서도 정통파로 일컬어지는 VI 편집기, 그러나 도스, 윈도우를 쓰던 사용자
들에겐 아주 고약스러운 물건이 아닐수 없다.

사용방법이 전혀 낯선것은 물론이요, 매뉴얼이 있어도 개념없이 사용하게 되면
짜증만을 불러 일으키게 된다.

본인도 VI 를 익숙하게 쓸 수 있기까지 수개월이 걸렸다. VI 를 사용하다보면
-- 물론 Emacs 도 마찬가지지만..-- 이 자그마한 프로그램 하나에도 철학이 담겨져
있음을 느끼게 된다.

VI 의 단순한 사용방법을 익히는것이 아니라 그..철학을 느끼게 되는 순간..

생각하는 것보다 손가락이 먼저 움직이는 VI 매니아가 되어 있는 당신을 발견하게
될것이다. ^^


1. 미리 알아두어야 할것들

1.1 VI 명령어 모드 3 가지 ##

1) ESC 모드
2) 편집모드
3) 콜론모드(ex모드)

1.2 VI 명령어의 간단한 문법

(반복횟수)(편집명령)(반복횟수)(커서이동명령)

현재의 위치에서 커서 이동명령의 내용대로 문서의
임의위치로 이동하는 순간, 편집명령어의 내용이 수행된다.

1.3 ESC 모드에서 사용되는 몇가지 기호

G        :  화일의 맨끝
^        :  현재줄의 맨앞 (빈칸무시)
0        :  현재줄의 맨앞
$        :  현재줄의 맨뒤
%        :  짝을 이루는 기호 확인하기
w        :  다음 단어
b        :  이전 단어
e        :  현재 단어의 끝 글자

1.4 여러가지 특수한 기호들

.        :  한글자를 대표하는 기호 (dos 의 ? 와 동일)
*        :  여러개의 문자를 동시에 대표하는 기호
^        :  줄의 처음시작.
$        :  줄의 맨끝.
%        :  처음줄부터 끝줄까지
\        :  특수한 기호들이 가지는 뜻을 없앨때 사용.

[ ]      :  일정한 제한을 두어 글자를 대표하고자 하는 기호.
[a-z]    :  a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z 를 대표
[A-Z]    :  A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z 를 대표
[AB]     :  A 또는 B
p[aeiou]t:  pat, pet, pit, pot, put 를 대표
[0-9]    :  0,1,2,3,4,5,6,7,8,9 를 대표


2. 커서 움직이기

2.1 글자 단위 이동

           위쪽으로
          
           \  k                    사선을 옆으로 그어 놓은 이유는 보통
            \                      초보자들이 h, l 은 잘 구별하는 반면
왼쪽으로  h  \   l  오른쪽으로     k, j 를 항상 혼동하기 때문이다
              \
            j  \                   항상 h,j \ k,l 로 기억해두면 잊지않
                                   게 된다.
         아래쪽으로

2.2 줄 단위 이동

^       :   줄의 맨앞으로 (빈칸무시)
0       :   줄의 맨앞으로
$       :   줄의 맨뒤로
%       :   짝을 이루는 기호 확인하기

+       :   다음줄의 첫번째 글자로
-       :   윗줄의   첫번째 글자로

n|      :   현재줄의 n 번째 열로 (n은 임의의 숫자)

H       :   화면상에 처음줄로
M       :   화면상의 중간줄로
L       :   화면상의 마지막줄로

nH      :   화면상의 처음줄로부터 n 줄 밑으로
nL      :   화면상의 마지막줄로부터 n 줄 위로

G       :   맨 마지막줄로 (go)
nG      :   n 번째줄로
gg      :   맨 마지막줄로
ngg     :   n 번째줄로
:n      :   n 번째줄로

2.3 단어 단위 이동

w        :   한단어 오른쪽으로 (word)
b        :   한단어 왼쪽으로 (back)

e       :   현재 단어의 끝으로 이동 (end)
E       :   현재 단어의 끝으로 이동 (구두점 무시 - 영문자에 해당 - ? . !.)

)       :   다음 문장의 시작으로
(       :   이전 문장의 시작으로
}       :   다음 문단의 시작으로
{       :   이전 문단의 시작으로
]]      :   다음 섹션의 시작으로
[[      :   이전 섹션의 시작으로

2.4 화면단위 이동

Control - F(orward)   한화면   밑으로 이동.
Control - B(ackward)  한화면   위로   이동.
Control - D(own)      반쪽화면 밑으로 이동.
Control - U(pon)      반쪽화면 위로   이동.

Control - E           커서는 현재위치 그대로 화면만 한줄씩 위로   이동
Control - Y           커서는 현재위치 그대로 화면만 한줄씩 아래로 이동

z                     커서의 위치와 함께, 화면상의 맨위로
nz                    n번 라인을 화면상의 맨위로
z.                    커서의 위치와 함께, 화면상의 중간으로
z-                    커서의 위치와 함께, 화면상의 맨아래로

## Control - G        현재 편집문서의 정보 보여주기
## Control - L        화면 재표시 (글자가 깨졌을경우)
## Control - R(edraw) 화면 재표시 (글자가 깨졌을경우)


3. 편집하기

3.1  복사, 붙이기, 합치기

y       :   (Yank)    복사하기
            yy        한줄복사
            2yy       두줄복사
            nyy       n줄 복사 (n 은 임의의숫자)
            yw        한단어 복사
            y2w       두단어 복사
            y$        그줄 끝까지 복사
            y0(y^)    그줄 처음까지 복사
            yG        문서의 끝까지 복사
            Y         한줄복사 (yy 와 동일)

## 마지막 명령어의 반복 ##
.       :   마지막에 수행한 명령어를 반복한다.
            2.        명령어를 2번 반복한다.

p       :   (Put or Paste) 붙이기
            p         아래로(오른쪽으로) 붙이기
            2p        아래로(오른쪽으로) 두번 붙이기
            P         위로(왼쪽으로) 붙이기
            2P        위로(왼쪽으로) 두번 붙이기

J       :   (Join)    두줄 합치기
            J         현재줄을 윗줄에 붙이기 (두줄 합치기)
            3J        세줄합치기

3.2 지우기, 복구하기, 바꾸기

d       :   (Delete)  지우기
            dd        한줄지우기
            2dd       두줄지우기
            ndd       n줄지우기 (n 은 임의의숫자)
            dw        한단어 지우기
            d2w       두단어 지우기
            d$        그줄 끝까지 지우기
            d0(d^)    그줄 처음까지 지우기
            dG        문서 끝까지 지우기
            D         그줄 끝까지 지우기 (d$ 와 동일)

u       :   (Undo)    복구하기
            u         한번복구하기
            2u        두번복구하기

c       :   (Change)  바꾸기
            cc        한줄바꾸기
            2cc       두줄바꾸기
            ncc       여러줄 바꾸기 (n 은 임의의숫자)
            cw        한단어 바꾸기
            ce        한단어 바꾸기 (공백 제외)
            c2w       두단어 바꾸기
            c$        그줄 끝까지 바꾸기
            c0(c^)    문서 끝까지 바꾸기
            C         그줄 끝까지 바꾸기 (c$ 와 동일)

r       :   (Replace) 한글자 바꾸기
            r         한글자 바꾸기
            2r        두글자 바꾸기

## r 명령어는 insert 모드로 바뀌지 않는다. ##

R       :             바꾸면서 덮어 쓰기
s       :             한글자 지우고 insert 모드로 - cl 와 동일 -
S       :             한줄지우고 insert 모드로 - cc 와 동일 -
~       :             대문자 <-> 소문자 바꾸기 - 영문자에만 해당 -

## 지우기와 바꾸기의 차이점은 바꾸기 명령어 후에  ##
## vi 편집모드로 바뀐다.                          ##

4. 찾기

/pattern              pattern 이라는 단어 찾기 - 위에서 아래로
?pattern              scully 라는 단어찾기 - 아래에서 위로

/       :             찾기반복 - 위에서 아래로
n       :             찾기반복 - 위에서 아래로

?       :             찾기반복 - 아래에서 위로
N       :             찾기반복 - 아래에서 위로

fx      :             현재줄에서 x문자 찾기 - x 는 한개의 글자 -
Fx      :             현재줄에서 반대방향으로 x문자 찾기 - x 는 한개의 글자 -
tx      :             현재줄에서 x문자를 찾아서 바로전에 커서놓기
Tx      :             현재줄에서 반대방향으로 x문자를 찾아서 바로후에 커서놓기

;       :             현재줄에서 한글자 찾기반복
'       :             현재줄에서 한글자 찾기반복 - 반대방향으로 -

## 찾기와 편집명령의 응용 ##

d/simple              simple 이라는 단어가 나올때까지 지우기
d/^scully             줄의 맨앞에 scully 라는 단어가 나올때까지 지우기
y/yahoo               yahoo 라는 단어가 나올때까지 복사하기

5. 편집모드 지정하기

i       :   insert    현재커서위치
            10i*      * 문자를 10개 집어넣기
            25i=-     =- 를 25개 반복하기
I       :             현재커서가 위치한 줄의 맨처음에
a       :   append    현재커서위치 바로 다음에
A       :             현재커서가 위치한 줄의 맨끝에
o       :   open      현재커서위치 바로 아래줄에
O       :   Open      현재커서위치 바로 윗줄에

6. 위치 기억하기

mx      :   mark      현재의 커서위치를 x 라는 문자로 기억          
`x      :             기억된 x 위치로 이동
``      :             이동하기 전의 위치로 (제자리)
'x      :             기억된 x 위치의 맨 앞으로 이동
''      :             이동하기 전 위치의 맨앞으로 이동

7. 버퍼 이용하기

"xyy    :             x 라는 이름의 버퍼에 한줄 복사 하기
"xp     :             x 라는 이름의 버퍼에 저장된 내용을 붙이기

## 잠시 쉬었다 가기 ##
:=                    현재 줄번호 보여주기
:/pattern/ =          pattern 이 위치한 줄번호 보여주기


8. ex 명령어 익히기

8.1 ex 명령어의 기본형식

:k,l command m
(범위지정) (명령어) (명령이 수행될 위치)
----------------------------------------

예)

:1,10 co 50           1 줄 부터 10 줄 까지를 50 줄 이후로 복사.
:34,50 d              34 줄 부터 50 줄 까지 삭제.
:100,150 m 10         100 줄 부터 150 줄까지를 10 줄 이후로 옮김.

:.,$ d                현재줄부터 끝까지 지우기
:.,+20 co -4          현재줄부터 20줄을, 4줄 위에 복사하기
:-,+ t 0              위, 아래로 한줄(총 3줄)씩을, 문서 맨위에 복사하기

:/pattern/ d          pattern 이 들어있는 줄 지우기
:/pattern/ -nd        pattern 이 들어있는 줄로부터 n 번째 윗줄 지우기
:/pattern/ +nd        pattern 이 들어있는 줄로부터 n 번째 아랫줄 지우기

:/pattern1/,/pattern2/ d
                      pattern1 이 들어있는 줄부터, pattern2 가 들어있는
                      줄까지 지우기

:.,/pattern/ m 23     현재줄부터 pattern 이 들어있는 줄까지, 23번줄 이후로
                      옮기기

8.2 g 옵션 붙이기

:g/pattern            화일전체에서 마지막으로 pattern 이 쓰여진 줄로 가기
:g/pattern/ p         화일전체에서 pattern 이 있는줄 보여주기
:g/pattern/ nu        화일전체에서 patterm 이 있는줄을 번호와 함께 보여주기

:60,124 g/pattern/ p  60,124 줄 사이에서 pattern 이 들어있는줄 보여주기

8.3 저장 및 종료하기

:w                    저장하기 (write) :q                    종료하기 (quit)
:wq                   저장하고 종료하기
:x                    저장하고 종료하기 (:wq 와 동일)

:w!                   강제로 저장하기 (read-only 로 열었을경우)
:q!                   편집한 내용을 저장하지 않고 종료하기

:w new_file_name      새로운 파일이름으로 저장하기
:w %.new              현재화일 이름에 .new 를 붙여서 새로운 화일로 저장.

:230,$ w file_name    230 줄부터 끝줄까지 file_name 으로 저장하기
:.,600 w file_name    현재줄부터 600줄까지 file_name 으로 저장하기

:1,10 w new_file      1줄부터 10줄까지 new_file 로 저장하기
:340,$ w >> new_file  340줄부터 끝줄까지 new_file 에 추가하기

8.4 읽기

:r[ead] filename      현재위치에 filename 읽어들이기
:r /usr/local/data    현재위치에 /usr/local/data 읽어들이기

:185 r /usr/local/data
                      185줄 이후에 /usr/local/data 읽어들이기
:$ r /usr/local/data  맨끝줄 이후에 /usr/local/data 읽어들이기
:0 r /usr/local/data  맨윗줄에 /usr/local/data 읽어들이기

:/pattern/ r /usr/local/data
                      pattern 이 존재하는 줄에 /usr/local/data 읽어들이기

8.5  다중편집하기

vi file1 file2 file3

:args                 편집중인 화일목록 보여주기
:n[ext]               다음 화일로 넘어가기
:prev[ious]           이전화일로 돌아가기

## 편집중인 화일이 저장되지 않으면 다음 화일로 넘어갈수 없다. ##

새로운 화일 편집하기

:e[dit] file_name     새로운 file_name 편집하기.              
:e!                   현재의 편집중인 내용을 무시하고 가장 최근에
                      편집한 내용을 다시편집하기

8.6 g 옵션과 바꾸기

:m,n s/old/new/g      
:g/pattern/ s/old/new/g
-------------------------

:1,30 s/his/the/gc    1 줄부터 30 줄까지 his 를 the 로 바꾸면서 확인하기.

:g/BX/ s/Esc/ESC/g    BX가 있는줄만 찾아서 Esc 를 ESC 로 바꾸기.

:% s/editer/editor/g  처음줄부터 마지막줄까지, editer 를 editor 로 바꾸기

:g/editer/ s//editor/g
                      위와 동일("s/" 다음에 인자가 없어서 윗줄과 같은효과)
반응형

+ Recent posts