디렉토리 갯수 세기

현재 디렉토리만 :

 ls -l | grep ^d | wc -l


하위 디렉토리 포함 : 

  ls -lR | grep ^d | wc -l


파일 갯수 세기

현재 디렉토리만 :

 ls -l | grep ^- | wc -l 


하위 디렉토리 포함 : 

 ls -l | grep ^- | wc -l 


grep 옵션

^ 옵션은 정규표현식 메타문자로 행의 시작 지시자 이다.

^d 는 d로 시작하는 모든 행을 의미.


출처 : http://geundi.tistory.com/113

출처 : http://redgura.tistory.com/343


'OS > Linux' 카테고리의 다른 글

리눅스 특정포트 죽이기  (0) 2014.07.14
페도라 한글입력  (0) 2011.12.02
Linux Directory(리눅스 디렉토리 기능 및 내용)  (0) 2009.11.28
리눅스 명령어  (0) 2009.11.28
리눅스 한글 입력  (0) 2009.11.28
Posted by 야동우
,



리눅스 특정 port죽이는 방법.

 

 

1. 특정 포트 확인.

# netstat -nap | grep port

(ex: netstat -nap | grep 1099)

 

 

2. 특정 포트에서 사용하는 프로그램 확인.

# lsof -i TCP:port

(ex: lsof -i TCP:1099)

 

 

3. 특정 포트를 사용하는 프로그램 죽이기.

# fuser -k -n tcp port

(ex:fuser -k -n tcp 1099)

 

 


 

 

출처 : http://kletgdgo.blog.me/90126796684


'OS > Linux' 카테고리의 다른 글

리눅스 디렉토리 및 파일 갯수 세기  (0) 2014.07.22
페도라 한글입력  (0) 2011.12.02
Linux Directory(리눅스 디렉토리 기능 및 내용)  (0) 2009.11.28
리눅스 명령어  (0) 2009.11.28
리눅스 한글 입력  (0) 2009.11.28
Posted by 야동우
,

페도라 한글입력

OS/Linux 2011. 12. 2. 20:08

페도라에서는 한영키로 한글과 영어를 입력하는 기능이 없다

그러므로 설치를 해주어야 한다.

처음에 한글 입력 조차 업데이트 후 설정을 해주어야 되더라.


한글입력과 한영 토글 키 사용

(설치, )

1. 한글 설치


해설


한글을 설치한 뒤 한 영 변환 키를 설정하면 됩니다.


명령어1


# yum install scim-hangul


내용


설치중에 y를 누르면 설치가 완료된다.

다음으로

설치가 잘 끝났으면,
기본 메뉴에서
시스템-기본 설정-하드웨어-키보드
를 찾아간다.
키보드 설정 창이 뜨면,
키보드 모델로
제작사 Generic에서 모델 Korea, Republic of 를 기본값으로 설정한다.


명령어2


~]#scim-setup


내용


입력기 엔진 창에

전체설정한글 메뉴가 있을 것이다.

한글 메뉴에는 기본 hangul,shift+space 가 등록 되어 있을 것이다.

이대로 사용하면 한영키와 shift+space로 한영 전환을 할 수 있다.

만약 키보드 문제로 변환이 자유롭지 못할경우

전체설정 메뉴에서 한글은 한영키,

영어는 오른쪽 알트키 정도로 원하는 대로 바꾸어 사용할 수 있다.


[출처] 페도라 한글 입력|작성자 imaneya

'OS > Linux' 카테고리의 다른 글

리눅스 디렉토리 및 파일 갯수 세기  (0) 2014.07.22
리눅스 특정포트 죽이기  (0) 2014.07.14
Linux Directory(리눅스 디렉토리 기능 및 내용)  (0) 2009.11.28
리눅스 명령어  (0) 2009.11.28
리눅스 한글 입력  (0) 2009.11.28
Posted by 야동우
,

[출처] Linux Directory (리눅스 디렉토리 기능 및 내용)|작성자 Hstar



Linux Directory

 

디렉토리 구조

  • 기본적으로 /(루트) 를 최상위로 하는 트리 구조로 되어있다.

 

디렉토리 기능 및 내용

 
 @ /
  가장 최상위 디렉토리.

 
@ /bin
  binary 의 약어로 이진파일. 기본 명령어들이 모여 있는 디렉토리. 부팅에 필요한 명령어 위치.

@ /etc
  각종 환경 설정에 관련된 파일들이 위치. 시스템 관리자에 의해 관리 되는 파일들.
 
@ /etc/rc.d
  시스템 부팅과 실행 레벨 변경시 실행되는 스크립트들이 있다.
 
@ /etc/shadow
  암호화된 패스워드가 저장되어있는 파일.
 
@ /etc/inittab
  init를 설정하는 파일.
 
@ /etc/issue , /etc/issue.net
  로그인 프롬프트가 뜨기전에 출력되는 메시지를 설정.
 

@ /etc/motd 
  'message of the day'의 약자. 쉘이 뜨기 전에 출력되는 메세기 설정.
 
@ /etc/profile , /etc/csh.login, /etc/csh.cshrc
  사용자가 로그인 할때 본쉘이나 c쉘에 의해 실행되는 스크립트 파일. 사용자들에 대한 기본 환경 설정에 사용. 

@ /etc/securetty
  시스템 관리자가 시스템에 로그인 할 수 있는 안전한 터미널에 대한 정보가 있다. 
  일반적으로 가상 콘솔이 설정되어 있다.

@ /etc/shell
  시스템에서 사용할 수 있는 쉘에 대한 정보를 저장하고 있다.
 
@ /boot
  리눅스 커널이 저장되어 있는 디렉토리. boot 에 필요한 booting지원 파일들이 있다.

@ /mnt
  외부장치인 플로피 디스크, 시디롬 등을 마운트하기 위해 제공되는 디렉토리. 임시로 사용되는 디렉토리이다. 

@ /usr
  시스템에 사용되는 각종 프로그램들이 설치되는 디렉토리. 
 
@ /usr/bin
  각종 프로그램들이 저장, /bin 디렉토리에 없는 다양한 실행 파일들이 저장.
 
@ /usr/etc
  각종 시스템 환경 설정 파일들이 있다. /uer/etc의 파일등른 /etc 디렉토리의 파일들과 달리 꼭 필요한 파일들은 아니다.
 
@ /usr/sbin
  관리자를 위한 명령어들이 저장.
 
@ /usr/include
  C언어 관련 해더 파일들이 저장.
 
@ /usr/lib
  각종 라이브러리들이 저장
 
@ /usr/local
  시스템의 특정적인 프로그램들이 저장. 즉, 관리자에 의해 따로 설치되는 프로그램들.
 
@ /usr/src
  각종 프로그램들의 컴파일되지 않은 소스들이 저장.
 
@ /lib
  각종 라이브러리들이 존재.
 
@ /home 
  시스템 계정 사용자들을 위한 공간. ftp , www 등과 같은 서비스 디렉토리들이 존재.
 
@ /dev
  시스템의 각종 디바이스들에 접근하기 위한 디바이스 드라이버들이 저장.
 
@ /dev/console
  시스템의 콘솔.
 
@ /dev/hda
  하드디스크이다. /dev/hda는 첫번째 하드디스크를 의미. /dev/hda1은 첫번째 하드디스크의 첫번째 파티션을 의미. 
 
@ /dev/lp
  시스템의 병렬 포트 장치들.
 
@ /dev/null
  블랙홀. 여기로 데이터를 보내면 모두 폐기.
 

◎ /dev/pty
시스템으로의 원격 접속을 위한 'pesudo-terminal'들이다. 만약 시스템 계정 사용자드이 원격지에서 시스템으로 텔넷등을 이용하여 시스쳄에 접속을 시도한다면 이들은 /dev/pty 디바이스들을 사용하게 되는 것이다.

◎ /dev/sda
SCSI 장치들이다. 만약 시스템에 스카시 하드 디스크를 장착했다면 시스템은 /dev/sda파일에서 정보를 얻어 장치에 접근할 것이다.

◎ /dev/ttyS,/dev/cuaS
/dev/ttyS은 직렬포트 장치들이고, /dev/cauS는 Callout. 장치이다.

◎ /dev/tty
시스템의 가상콘솔들이다. 이 가상 콘솔의 기능은 하나의 화면에 여러 개의 콘솔들을 만든다. 만약 사용자가 시스템 앞에 앉을 수 있다면,Alt + F1, Alt + F2등을 이용하여 리눅스에 제공한 여러개의 가상 콘솔을 직접 볼수 있을 것이다.

◎/proc
시스템의 각종 프로세서, 프로그램 정보 그리고 하드웨어적인 정보들이 저장된다. 이 티렉토리는 가상 파일 시스템으로 가상 파일 /dev와 마찬가지로 하드 디스크상에 물리적인 용량을 갖지 않는다. 즉 디렉토리에 존재하는 파일들은 실제 하드 디스크에 저장되지 않고 커널에 의해 메모리에 적재 된다. 디렉토리 안의 파일들은 현재의 시스템 설정을 보여 주는 것이다.

◎ /proc/1
프로세스 번호가 1인 프로세스에 대한 정보를 저장하는 디렉토리이다. 다른 프로세스들도 자신의 고유한 프로세스 번호의 디렉토리를 가진다는 것을 의미한다.

◎ /proc/cpuinfo
프로세서의정보를 저장하고 있는 파일이다. cpu의 타입, 모델, 제조회사, 각종 성능 등의 정보를 제공하여 준다.

◎ /proc/devices
현재 시스템 커널에 설정되어 있는 장치들에 대한 정보를 저장하고 있다.파일등의 정보로 모든 시스템의 장치 목록에 대한 정보를 얻을 수 있다.

◎ /proc/dma
현재 시스템에서 사용하고 있는 DMA 채널에 대한 정보를 저장하고 있다.

◎ /proc/filesystem
시스템에 설정되어 있는 파일 시스템에 대한 정보를 저장하고 잇는 파일이다.

◎ /proc/interrupts
현재 사용중인 인터럽트와 인터럽트의 사용량에 대한 정보를 저장하고 있는 파일이다.

◎ /proc/ioports
현재 사용중인 I/O 포트에 대한 정보를 저장하고 있는 파일이다.

◎ /proc/kcore
현재 시스템에서 사용중인 메로리의 실제 이미지이다. 이 파일은 실제 메모리의 내용을 모두 가진 것처럼 보이지만 프로그램이 필요로 하는 부분의 이미지만을 필요할 때 만들어 제공한다.

◎ /proc/kmsg
커널에 의해서 출력되는 메시지들을 저장하고 있는 파일이다.이것은 또한 syslog파일에도 저장된다.

◎ /proc/loadavg
현재 시스템의 평균 부하량(Load Average)에 대한 정보를 저장하고 있는 파일이다.이 파일을 통해서 시스템이 현재 수행해야 하는 일이 얼마나 많은지를 알려주는 3가지 지표에 대한 정보를 얻을 수 있다.

◎ /proc/ksyms
시스템 커널이 사용하고 있는 심볼들에 대한 정보를 저장하고 있는 파일이다.

◎ /proc/meminfo
현재 시스템이 사용중인 메모리의 사용량을 저장하고 있는 파일이다./proc/meminfo에서 실제 메모리는 물론 가상 메모리에 대한 정보도 얻으 수 있다.

◎ /proc/self
이 디렉토리를 보고 있는 프로그램 자시의 프로세스 디렉토리로 링크도어 있다. 만약 서로 다른 2개의 프로세스가 /proc 디렉토리를 보고 있다면 두 프로세스는 서로 다른 링크를 보게 된다. 이를 통해서 프로그램들이 자신의 프로세스 디렉토리를 쉽게 찾을 수 있다.

◎ /proc/stat
시스템의 현재 상태에 대한 다양한 정보를 저장하고 있는 파일이다.

◎ /proc/uptime
시스템이 얼마나 오래 동작했는지에 대한 정보를 저장하고 있는 파일이다.

◎ /proc/version
시스템이 현재 사용중인 커널 버전에 대한 정보를 저장하고 있는 파일이다.

◎ /var
시스템에서 사용되는 동적인 파일들이 저장된다. 각종 시스템 로그 파일, 사용자 로그인에 대한 보안기록,메일서버를 운영한다면 사용자들에게 전송된 메일들을 임시로 저장한다.

◎ /var/cache
포멧된 메뉴얼 페이지들이 잠시 대기(Cache)하기 위한 디렉토리이다.

◎ /var/lib
시스테이 동작하면서 계속 수정되고 변경되는 파일들을 위한 디렉토리이다.

◎ /var/local
/usr/local 디렉토리에 설치된 프로그램들의 각종 데이터들이 저장되는 디렉토리이다.

◎ /var/lock
잠금 파일들이 저장되는 디렉토리이다.프로그램들이 특정한 장치나 파일들을 프로그램 자신이 독점적으로 사용하려 할 때 /var/lock 디렉토리에 잠금 파일을 만들어 사용하게 된다. 그렇기 때문에 다른 프로그램들은 장치나 파일을 사용하기 전에 우선 이 디렉토리의 내용을 조사하여 해당 장치나 파일들이 사용중인지 확인하게 된다.

◎ /var/log
프로그램들의 로그 파일들이 저장되는 디렉토리이다. 이 디렉토리에 wtmp파일은 login 파일과 messages파일은 syslog의 로그 파일이다.wtmp는 시스쳄의 모든 사용자 로그인과 로그 아웃에 대한 정보르 저장하고 있는 파일이고,messages는 커널과 시스템의 모든 출력 메세지를 저장하고 있는 파일이다./var/log 안의 파일들은 시스템의 사용량에 따라 그 크기가 무한대로 증가할 있으므로 정기적으로 파이들을 삭제하는 등 디렉토리 관리가 필요하다

◎ /var/run
시스템의 현재 정보들을 저장하고 있는 디렉토리이다./var/run/xinetd.pid 파일의 경우 현재 사용중인 xinetd 데몬의 프로세스 번호를 저장하고 있다.

◎ /var/spool
메일이나 뉴스, 프린터 큐 등고 같은 시스템상에서 대기 상태에 있는 작업들을 위한 디렉토리이다. 각각의 대기 작업들은 모두 /var/spool 아래 고유의 디렉토리에 위치하게 된다. 예를 들어 시스템의 계정 사용자들의 메일은 /var/spool/mail 에 저장된다.

◎ /var/tmp
/tmp에 저장된 임시 파일들중에 오래 보관되어야 할 임시 파일들이 저장되는 디렉토리이다.

◎ /tmp
이름에도 알 수 있듯이 임시 파일들을 위한 디렉토리이다.

◎ /root
시스템 관리자의 홈 디렉토리이다

 

'OS > Linux' 카테고리의 다른 글

리눅스 특정포트 죽이기  (0) 2014.07.14
페도라 한글입력  (0) 2011.12.02
리눅스 명령어  (0) 2009.11.28
리눅스 한글 입력  (0) 2009.11.28
우분투] 설치 후 초기화 과정  (0) 2009.11.28
Posted by 야동우
,

리눅스 명령어

OS/Linux 2009. 11. 28. 04:50

[출처] Linux 명령어|작성자 Hstar




리눅스 명령어 형식

# command [-options]

 

 

디렉토리 관련 명령어

# cd 

  현재의 디렉토리에서 다른 티렉토리로 위치 변경

 

# pwd

  현재 작업중인 디렉토리의 절대경로 보기

 

# mkdir

  새로운 디렉토리 생성

-p : 존재하지 않는 상위 디렉토리까지 생성

 

-m : 디렉토리의 퍼미션을 지정한다.

# rmdir

  기존의 디렉토리 삭제

-p : 지정된 경로 모두를 삭제.

파일 관련 명령어

 # ls

  디렉토리 내의 파일과 디렉토리의 정보 표시.

-a : 도트로 시작되는 파일도 보여줌.

-d : 현재 디렉토리에 대한 정보 출력.

-l : 자세하게 출력.

 

# cp

  파일이나 디렉토리를 복사.

 

# mv

  파일의 이름을 바꾸거나 이동.

 

# rm

  파일을 지운다. 디렉토리를 지울때도 사용.

-f : 강제로 삭제

-r : 서브 디렉토리의 파일도 재귀적 삭제

# cat

  파일 내용을 보여주거나 , 텍스트 파일 생성.

@@@ redirection(> , >> ) @@@

  # cat > aa

   aa 파일 생성하고 입력 대기;

  # cat aa >> bb

   aa 파일의 내용을 bb 에 추가.

# more

  파일의 내용을 한 페이지 단위로 출력.

 

# touch

  파일이나 디렉토리의 timestamp를 변경 . 파일 지정하지 않을경우 빈파일 생성.

 -t : 지정된 시간으로 파일의 timestamp를 변경

ex ) # touch -t 0909031200 test.txt

# find

  조건 만족하는 파일 검색

-type pattern : 형식이  pattern 인것

-name filename : 파일명

-size : 파일 크기

-exec command {} \; : 검색결과에 대해 지정한 명령을 적용

-user 사용자명 : 사용자명 소유의 파일.

# which

  쉘 위치, 실행 프로그램 위치 확인.

 

# whereis

  명령어의 binary, source, man 페이지 파일의 위치 표시.

 

# grep

  파일에서 특정 문구를 검색.

 

# ln

  링크 .  symbolic link 와 hard link 가 있다.

+ 심볼릭 링크

-- windows 의 바로가기 아이콘과 비슷하다.

-- 새로운 inode 생성

-- 원본 삭제시 링크가 끊긴다.

-- 원본 다른곳으로 이동시 사용못한다.

  ex) ln -s aa.txt bb.txt

    =>  bb.txt -> aa.txt

+ 하드 링크

-- 동일한 inode 사용

-- 원본 수정시 하드링크도 수정.

-- 원본 삭제해도 살아있다.

-- 파일복사 와의 차이는 공간을 차지않는 않는다는것.

 

프로세스 관련 명령어

   process : 현재 실행중인 프로그램

 

# ps

  프로세스의 상태를 표시.

 

# top

  Top CPU Process 들을 매초별로 시스템 상태와 프로세스들은 refresh 해서 보여줌.

 

 

시스템 관련 명령어

 # banner

  문자열을 큰 글씨로 만들어서 출력.

 

# echo

  문자열을 화면에 그대로 출력. (메아리'친다.)

-n : 새로 개행하지 않고 출력.

-p : 백슬래쉬와 조합되는 측수 문자 인식

# man

  사용하고자 하는 유닉스 유틸리티에 대한 메뉴얼 검색 출력.

 

그 외 명령어

 # sed

  스트림 편집기

ex ) s/string1/string2 : string1 을 string2 로 바꾼다.(각라인의 첫번째 string1만 적용)

      s/string1/string2/g : string1을 모두 string2로 바꾼다.

# sort

  행 단위로 정렬 및 결합

-c : 정렬되있는지 검사

-d : 알파벳 순 ( 디폴트 되어 있다. )

-f : 대소문자 구분없이 정렬

-n : 숫자 순서

-r : 내립차순

-o file : 정렬 결과를 file 로 출력.

# nl

  파일의 각 라인에 번호를 붙여 표준 출력.

 

# head

  파일의 처음 부분을 표준 출력.

-c number : 파일의 앞에서부터 number byte 만큼 출력.

-n line : 파일의 앞에서부터 line 수만큼 출력.

# tail

  head 의 반대. 끝에서부터 출력.

+n : 파일의 처음 n 라인부터 끝까지 출력

-n : 파일의 끝에서부터 n개 라인 출력

-c number : head와 반대

-f : 파일의 끝에서 추가되는 부분을 계속해서 출력.(로그파일 분석에 유용)

'OS > Linux' 카테고리의 다른 글

페도라 한글입력  (0) 2011.12.02
Linux Directory(리눅스 디렉토리 기능 및 내용)  (0) 2009.11.28
리눅스 한글 입력  (0) 2009.11.28
우분투] 설치 후 초기화 과정  (0) 2009.11.28
vi 명령어  (0) 2009.11.22
Posted by 야동우
,

리눅스 한글 입력

OS/Linux 2009. 11. 28. 04:40

[출처] 리눅스 한글 입력|작성자 꿈쟁이


Ubuntu 7.10


System > Administration > Language Support       Korean 선택
그리고 Default Language 를 Korean 으로 선택하면 전체 우분투가 한글화가 된다.

그렇다면 영문 우분투에 한글 입력기만 설치하고 싶다면? (임베디드 시스템 개발용으로 사용하는 경우 이렇게 설정하고 싶은 경우가 있다.)

1. System > Administration > Language Support

    여기가서 Korean을 체크하고 확인을 누르면 우분투는 한글 랭귀지 팩을 설치한다.

2. System > Keyboard      

        Layouts의 Keyboard model : Korean 106-key

                     Selected layouts : Korea, Republic of 101/104 key Compatible 추가.

                     그리고 이걸 디폴트로 설정.

3. System > Preference > SCIM Input Method Setup     
     a. IMEngine의 Global Setup으로 가서 Korean - 한2bul 만 체크. 핫키도 Hangul로 설정

     b. Front End의 Global Setup으로 가서 Triger를 Hangul로 설정.

4. System > Preference > Sessions   

      a. Startup Program 으로 scim을 등록한다.

            Name: SCIM

            command: scim

5. # vi /etc/environment
       끝에 LC_CTYPE="ko_KR.UTF-8" 라고 추가

6. 로그아웃


 

FEDORA 8

1. scim 설치

   # yum install scim 

2. Language Pack 설치
   System > Administration > Language 에서 Korean을 선택
3. 키보드 설정도 해주고

   # vi /etc/environment

   environment 파일을 생성해

   끝에 LC_CTYPE="ko_KR.UTF-8" 라고 추가

4. 로그아웃


 

CentOS 5.2

CentOS는 설치할때 패키지 설치하는 화면에서 Customize now라는 걸 눌러 세부 사항 화면으로 간다음 Language에 Korean을 설치해주면 된다. 그러면 자동으로 scim도 같이 설치가 된다.

가장 간단하게 한글을 사용할수 있지만 만약 설치시 이렇게 안하고 설치가 완료됐다면 좀 힘들다.

인터넷에 있는 여러 방법을 사용해봤지만 잘 작동하지 않았다.

yum으로 scim 설치하고, fonts-korean을 설치하고 그런데 뭔가 맞지 않았나보다. 실제로 해보진않았지만 패키지설정에서 Languge에서 Korean을 선택해 설치하면 자동으로 잘 잡지 않았을까 하는 생각이 든다.

 

'OS > Linux' 카테고리의 다른 글

Linux Directory(리눅스 디렉토리 기능 및 내용)  (0) 2009.11.28
리눅스 명령어  (0) 2009.11.28
우분투] 설치 후 초기화 과정  (0) 2009.11.28
vi 명령어  (0) 2009.11.22
vi를 사용할 때 주의사항  (2) 2009.11.08
Posted by 야동우
,

$]sudo passwd root
▣ System → Language support update
▣ System → Keyboard → 한국 키보드로 변경
$]sudo aptitude install build-essential vim-runtime gdb
$]sudo aptitude install vim
$]sudo aptitude install manpage-dev manpage-posix
※ 영문 환경에 한글 입력만 가능하도록 할 때 -> 2009/11/28 - [IT Study/Linux] - 리눅스 한글 입력

$]sudo aptitude install libncursor-dev : curses.h 사용하기 위한 패키지
 - gcc -o curses curses.c -lcurses : Compile 할 때

'OS > Linux' 카테고리의 다른 글

리눅스 명령어  (0) 2009.11.28
리눅스 한글 입력  (0) 2009.11.28
vi 명령어  (0) 2009.11.22
vi를 사용할 때 주의사항  (2) 2009.11.08
vi편집기 환경설정(vimrc)  (0) 2009.11.08
Posted by 야동우
,

vi 명령어

OS/Linux 2009. 11. 22. 15:23

VI 명령어 모음  

http://blog.naver.com/yhyuckj74/50013459569

 

삽입 명령

a

커서 뒤에 입력

A

라인 끝에 입력

i

커서 앞에 입력

I

라인시작 부분에 입력

o

커서 있는 라인 밑에 입력

O

커서가 있는 라인 위에 입력

커서 이동 명령

h

왼쪽으로 커서 한 칸 이동

H

화면의 처음으로 이동

L

오른쪽으로 한 칸 이동

L

화면 끝으로 이동

e

다음 단어의 마지막으로 이동

E

커서를 공백으로 구분된 다음 단어 끝으로 이동

b

한 단어 뒤로 이동

B

커서를 공백으로 구분된 이전 단어로 이동

w

커서를 한 단어 뒤로 이동

W

커서를 공백으로 구분된 다음 단어로 이동

k

커서를 한 라인 위로 이동

j

커서를 한 라인 아래로 이동

O

커서를 라인의 시작으로 이동

$

커서를 라인의 끝으로 이동

Enter

커서를 다음 라인 시작으로 이동

-

커서를 전 라인의 시작으로 이동

Ctrl + F

다음 화면으로 이동

Ctrl + D

화면의 반만 앞으로 이동

Ctrl + B

전 화면으로 이동

Ctrl + U

화면의 반만 뒤로 이동

G

커서를 텍스트 마지막 라인으로 이동

숫자G

커서를 숫자 라인만큼 이동

M

커서를 화면 중간 라인으로 이동

커서를 전 위치로 이동

(

문장의 시작으로 이동

{

문단의 시작으로 이동

)

문장 끝으로 이동하여 다음 단어의 시작으로 커서 이동

}

문단 끝으로 이동

삭제 명령

x

커서가 있는 문자 삭제

X

커서가 있는 문자 앞에 있는 문자 삭제

dw

커서가 있는 단어 삭제

db

커서가 앞에 있는 단어 삭제

dW

공백으로 구분된 뒷 단어 삭제

dB

공백으로 구분된 앞 단어 삭제

dd

커서가 있는 라인 삭제

D

커서가 있는 라인의 나머지 삭제

d)

문장의 나머지 삭제

d}

문단의 나머지 삭제

dG

파일의 나머지 삭제

dH

화면의 시작까지 삭제

dL

화면의 나머지 삭제

J

커서와 다음 단어의 공백을 모두 삭제

바꾸기 명령

r

커서에 있는 문자 대치

R

입력 모드로 한 문자씩 덮어씀

s

커서가 있는 문자 삭제 후 입력 모드로 전환

S

커서가 있는 줄을 삭제 후 입력 모드로 전환

cb

커서가 있는 앞 문자 삭제 후 입력 모드

cW

공백으로 구분된 뒷 단어를 삭제 후에 입력 모드

cB

공백으로 구분된 앞 단어 삭제 후 입력 모드

cc

커서가 있는 라인을 삭제하고 입력 모드

C

커서가 있는 라인의 나머지를 삭제하고 입력 모드로 전환

cO

커서에서부터 라인의 시작까지 텍스트 바꾸기

c

특정 텍스트 바꾸기

c)

문장의 나머지 바꾸기

c}

문단의 나머지 바꾸기

cG

파일의 나머지 바꾸기

cm

표시까지 모든 것 바꾸기

cL

화면의 나머지 바꾸기

ch

화면의 시작까지 바꾸기

이동

p

삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입

P

삭제나 복사된 텍스트를 커서가 잇는 문자나 라인 앞에 삽입

dw p

커서가 있는 단어를 삭제한 후 이를변경한 커서가 있는 것 뒤에 삽입

dw P

커서가 잇는 단어를 삭제 후 이를 변경한 커서 있는 곳 앞으로 삽입

d p

지정한 다음 텍스트로 삭제한 후 커서가 가리키는 곳으로 이동

d) P

문장의 나머지로 이동

d} p

문단의 나머지로 이동

dG P

파일의 나머지로 이동

dH p

회면 시작 부분으로 이동

dL P

화면의 나머지를 이동

복사

yw

커서가 있는 단어를 복사

yb

커서가 있는 앞 단어를 복사

yW

공백으로 구분된 뒷 단어 복사

yB

공백으로 구분된 앞 단어를 복사

y

특정한 다음 텍스트 복사

yy

커서가 있는 라인을 복사, 커서가 가리키는 곳으로 라인을 이동

y)

문자의 나머지 복사

y}

문단의 나머지 복사

yG

파일의 나머지 복사

yH

화면의 시작까지 복사

yL

화면의 나머지 복사

검색

/patter

n

텍스트에서 앞으로 패턴 검색

>patter

텍스트에서 뒤로 패턴 검색

n

앞 또는 뒤로 이전 검색 반복

N

반대 방향으로 이전 검색 반복

/

전 검색을 앞으로 반복

?

전 검색을 뒤로 반복

 

vi 에디터 종료 마치기 명령

 

:q

그대로 종료하기

 

:q!

변경된 내용을 저장하지 않고 강제로 종료하기

 

:wq

변경된 내용을 저장하고 종료하기

 

:x

:wq와 동일한 명령

 

ZZ

:wq와 동일한 명령

 

삽입 명령

 

a

커서 뒤에 입력

A

라인 끝에 입력

 

I

커서 앞에 입력

I

라인시작 부분에 입력

 

o

커서 있는 라인 밑에 입력

O

커서가 있는 라인 위에 입력

 

방향키를 이용한 커서 이동 명령

 

<-, Del

왼쪽으로 커서 한 칸 이동

PageUp

화면 위로 이동

 

->

SpaceBar

오른쪽으로 한 칸 이동

PageDown

화면 아래로 이동

 

윗 줄로 커서 이동

Enter

다음 줄 첫 칸으로 이동

 

아래 줄로 커서 이동

Esc

다음 줄 첫 칸으로 이동

 

Home

줄 처음 칸으로 이동

 

다른 키를 이용한 커서 이동 명

 

H

왼쪽으로 커서 한 칸 이동

k

윗 쪽으로 커서 이동

 

l

오른쪽으로 한 칸 이동

j

아래쪽으로 커서 이동

 

e

다음 단어의 마지막 칸으로 이동

E

공백으로 구분된 뒷 단어의 마지막 칸으로 이동

 

b

앞 단어의 앞 칸으로 이동

B

공백으로 구분된 앞 단어의 앞 칸으로 이동

 

W

다음 단어의 앞 칸으로 이동

W

공백으로 구분된 뒷 단어의 앞 칸으로 이동

 

그 외의 키를 이용한 커서 이동 명령

 

Ctrl + F

다음 화면으로 이동

Ctrl + D

반 화면 위로 이동

 

Ctrl + B

(앞) 화면으로 이동

Ctrl + L

반 화면 아래로 이동

 

O

줄이 시작되는 첫 칸으로 이동

-

이전 줄의 시작 부분으로 이동

 

$

줄이 끝나는 마지막 칸으로 이동

+

다음 줄의 시작 부분으로 이동

 

(

문장의 시작으로 이동

{

문단의 시작으로 이동

 

)

문장의 끝으로 이동하여 다음 단어의 시작 첫 칸으로 커서 이동

}

문단의 끝으로 이동

 

G

문서의 마지막 줄로 이동

이전의 커서 위로 이동

 

nG

n번째 줄로 이동

M

화면 중간 줄에 커서 이동

 

삭제 명령

 

x

커서가 있는 문자 삭제

X

커서가 있는 문자 앞에 있는 문자 삭제

 

dw

커서가 있는 단어 삭제

db

커서 앞에 있는 단어 삭제

 

dW

공백으로 구분된 뒷 단어 삭제

dB

공백을 구분된 앞 단어 삭제

 

dd

커서가 있는 라인 삭제

D

커서가 있는 라인의 나머지 삭제

 

d)

문장의 나머지 삭제

d}

문단의 나머지 삭제

 

dG

파일의 나머지 삭제

dH

화면의 시작까지 삭제

 

dL

화면의 나머지 삭제

J

커서와 다음 단어 사이의 모든 공백 삭제

 

바꾸기 명령

 

R

커서에 잇는 문자 대치

R

입력 모드로 한 문자식 덮어 씀

 

s

커서가 있는 문자 삭제 후 입력 모드로 전환

D

커서가 있는 줄을 삭제한 후 입력 모드로 전환

 

cb

커서가 있는 앞 문자 삭제 후 입력 모드

cW

공백으로 구분된 뒷 단어를 삭제한 후 입력 모드

 

cB

공백으로 구분된 앞 단어 삭제 후 입력 모드

cc

커서가 있는 라인을 삭제하고 입력 모드

 

C

커서가 있는 라인의 나머지를 삭제하고 입력 모드로 전환

cO

커서에서부터 라인의 시작까지 텍스트 바꾸기

 

c

특정 텍스트 바꾸기

c)

문장의 나머지 바꾸기

 

c}

문단의 나머지 바꾸기

cG

파일의 나머지 바꾸기

 

cH

화면의 시작까지 바꾸기

cL

화면의 나머지 바꾸기

 

텍스트 이동

 

p

삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입

P

삭제나 복사된 텍스트를 커서가 있는 문자나 라인 앞에 삽입

 

dw p

커서가 있는 단어를 삭제한 후 이를 원하는 곳 커서 뒤로 삽입

dw P

커서가 있는 단어를 삭제한 후 이를 변경한 커서가 있는 곳으로 삽입

 

d p

지정한 다음 텍스트로 삭제한 후 커서가 가리키는 곳으로 이동

d) P

문장의 나머지로 이동

 

d} p

문단의 나머지로 이동

dG P

파일의 나머지로 이동

 

dH P

화면 시작 부분으로 이동

dL P

화면의 나머지를 이동

 

복사

 

yw

커서가 있는 단어를 복사

yb

커서가 잇는 앞 단어를 복사

 

yW

공백으로 구분된 뒷 단어 복사

yB

공백으로 구분된 앞 단어를 복사

 

y

특정한 다음 텍스트 복사

yy

커서가 있는 라인을 복사, 커서가 가리키는 곳으로 라인을 이동

 

y)

문자의 나머지 복사

y}

문단의 나머지 복사

 

yG

파일의 나머지 복사

yH

화면 시작까지 복사

 

yL

화면의 나머지 복사

 

검색

 

/pattern

텍스트에서 앞으로 패턴 검색

>pattern

텍스트에서 뒤로 패턴 검색

 

n

앞 또는 뒤로 이전 검색 반복

N

반대 방향으로 이전 검색 반복

 

/

전 검색을 앞으로 반복

?

전 검색을 뒤로 반복

 

옵션

옵션약어

기능

디폴트

autoindent

ai

들여 쓰기 가능, 탭으로 들여 쓰기 범위 지정

off

autoprint

ap

줄이 바뀔 때 현재 줄을 화면상에서 출력

on

errobells

ed

명령 에러가 발생시 삑 소리나게 함

off

number

nu

줄 번호를 나타나게 함

off

report

report

편집시 메시지를 보낼 편집 변화 크기 지정

5

showmatch

sm

가로 닫기 괄호를 사용할 때 일치하는 가로 열기 괄호를 보여줌

off

wam

wam

저장하지 않고 vi 종료할 때 경고 메시지를 뿌려 줌

on

ignorecase

ic

검색 패턴에 사용되는 대소문자 구별하지 않음

on

tabstopp=n

ts=n

탭 공백을 n 수만큼 지정

8

wrapmargin=n

wm=n

텍스트 오른쪽 여백을 n 수만큼 지정

0

내용출처 : [직접 서술] 블로그 집필 - 뿌로구라모
 
 



vi 에디터  (출처:http://compedu.inue.ac.kr/%7Echlee56/wowlinux/vi.htm)

vi 기초

여러개 파일을 동시에 열고 싶을 때,

$ vi  *.html  (.html파일을 모두 연다)

    :n은 다음문서, :N은 이전문서로 간다.  

다음, 파일을 저장하거나 닫고 싶거나 다른 파일을 편집하고 싶을 때,
(먼저 ESC를 눌러서 명령을 내릴 수 있는 상태로 변환해야 합니다.)

명령

설 명

ZZ or :wq

저장하고 vi 끝내기

:w [파일이름]

주어진 파일이름으로 파일 저장하기

:w! [파일이름]

주어진 파일이름으로 저장/덮어쓰기

:q!

편집한 내용을 저장하지 않고 vi 끝내기

:e!

편집한 내용을 저장하지 않고 최종 저장된 상태로 파일 열기

:w 새파일이름

현재 작업중인 파일을 새파일이름으로 저장하기

:e 열고_싶은_파일이름

vi를 끝내지 않고 다른 파일 편집하기

vi의 세가지 모드

vi에는 세가지 모드가 있습니다. Command, Insert, ex 모드랍니다.

모 드

전환키

설 명

Command Mode

ESC

문서내의 텍스트를 지우거나, 복사하거나, 추가하거나, 삽입하거나, 옮기거나 할 수 있는 명령을 사용할 수 있는 모드입니다.

Insert Mode

i,a,o,O, ...

문서에 텍스트를 추가하거나, 삭제하거나, 복사할 수 있는 모드입니다.

ex Mode

:

맨 아래 라인에 확장된 명령어를 입력할 수 있도록 해줍니다.


파일 안에서 커서 움직이기

한칸씩 이동하는 것은 화살표키로도 가능하지만, vi명령을 사용할 경우 '3h'와 같이 사용하여, '오른쪽으로 3칸이동'과 같은 명령을 수행할 수 있다.

입력 키

기 능

입력 키

기 능

h

오른쪽으로 한 칸

b

한 단어 뒤로 이동

j

아래로 한 칸

B

특수문자/기호들은 단어로 치지 않고, 한 단어 뒤로 이동

k

위로 한 칸

w

한 단어 앞으로 이동

l

왼쪽으로 한 칸

W

특수문자/기호들은 단어로 치지 않고, 한 단어 앞으로 이동

0

라인의 시작으로 이동

:0

문서의 맨 앞으로

$

라인의 끝으로 이동

:$

문서의 맨 뒤로

^

라인의 첫 번째 단어로 이동




텍스트를 편집하기 위한 명령


입력 키

기 능

입력 키

기 능

i

insert, 현재 문자 앞에서부터 입력

cw

한단어 change

a

append, 현재 문자 뒤부터 입력

x

한문자 delete

o

현재 줄 아래 한 줄 삽입
O : 현재 줄 위에 한 줄 삽입

y

yank(copy) text, 문자 복사
yw : 단어 복사
yy : 한줄 복사
3yy : 세줄 복사

r

replace

p

put(paste) 현재 줄 다음 줄에 버퍼의 내용을 붙인다.

R

현재 문자 이후부터 replace

P

현재 줄 앞에 버퍼의 내용을 붙인다.

dw

delete word

u

마지막 명령을 Undo
U : 그줄에서 수행한 명령들을 Undo

dd

delete line

J

join, 두 줄을 연결한다.


vi에서는 정규표현식을 사용하여 여러 가지 작업을 효율적으로 처리할 수 있습니다.
예를들어, 다음 명령으로 정해진 패턴을 삭제하거나, 바꿀 수 있습니다.

    :s/old/new/g
    --> old를 찾아 new로 바꾸어 준다.

    :10,50s/old/new/g
    --> 10~50Line 사이에 있는 old를 찾아 new로 바꾸어 준다.

    :1,$s/old/new/g
    :%s/old/new/g
    --> 현재 문서의 처음부터 끝까지 old를 찾아 new로 바꾸어 준다.

    :1,$s/old/new/gc
    --> c옵션에의해 바꾸기 전에 항상 물어본다.

환경설정 set 명령


set 명령은 vi의 각종 환경을 설정하는데 사용됩니다.

set 명령의 환경 변수 설정은 세가지 타입이 있습니다.

    Boolean(on|off), Numeric, String

어떤 환경변수가 있는지는 다음 명령으로 확인해 보세요.

    :set all


vi 환경 설정하기

~/.exrc

vi는 실행될 때마다, 위의 파일을 읽는다. 이 파일은 자신의 홈디렉토리 안에 만들어 주면 되고, 기본적으로 Tab size, Line Number 출력 여부, 자동 들여쓰기 여부, 좌표 출력 여부등의 여러 가지 설정을 자신의 취향에 맞게 할 수 있습니다.

set autoindent
set number

와 같은 형식으로 씁니다.

리눅스 명령 실행하기



vi를 종료하지 않고도 리눅스 명령어를 수행 할 수 있습니다.

    ':!  '를 입력하고, 수행하기 원하는 명령어를 치면 됩니다.

     :!ls
     :!data
     :r  !date
    --> 명령을 실행하고 실행 결과를 현재 파일안에 삽입한다.  

Posted by jude
 
 
 
 


[리눅스 강좌] vi 에디터 초간단 메뉴얼
번호 : 1871   글쓴이 : M_태그
조회 : 78   스크랩 : 0   날짜 : 2006.11.03 10:52
가장 대중적이고 가장 중요한 편집기이지만, 너무나도 낯선 사용법에 그동안 힘드셨다면 일단 이 글부터 읽어보시길 권합니다.

vi는 VIsual editor의 약자로 유닉스 세상에서는 표준 에디터의 자리를 구축하고 있습니다. 물론 emacs처럼 엄청나게 강력한 에디터도 있습니다만, 동네 목욕탕 가면서 롤스로이스를 몰고 갈 필요는 없는 법. 자전거만 있으면 되죠. vi 사용 순서는 다음과 같습니다.

1. 시작하기
2. 편집하기
3. 종료하기


너무 간단합니까?

오늘은 여러분의 홈 디렉토리에 있는 .bashrc 파일을 조금 편집하는 것으로서 vi에 입문하도록 할 것입니다. 이 글의 내용은 얼마 되지 않지만 짜내고 짜낸 핵심 중의 핵심입니다. 이걸 모른다면... 음...

********************

1. 시작하기

vi를 실행해 보겠습니다.

vi[엔터]

물결표시 ( ~ ) 가득한 vi의 화면이 보일 것입니다. 아마 이름이 vim일텐데 신경쓰지 마십시오. Vi IMproved라고 해서 vi의 개선판입니다. 막 vi를 실행한 지금은 명령모드라고 합니다. ( 엄밀히 말하면 좀 다르지만 그렇게 알아두셔도 무리가 없을 듯 ) 명령모드에서는 글자가 입력되지 않습니다. 글자를 입력하기 위해서는 편집모드로 들어가야 됩니다. 편집모드로 들어가서 새로운 글을 써도 되지만 지금은 일단 파일을 불러와야 하니까, 다음과 같이 하십시오.

:e .bashrc[엔터]

shift 키를 누른 채 콜론 ( ; )을 입력하면 세미콜론( : )이 찍히죠. 그리고 e를 입력하고 ( 아마도 edit의 e 같습니다 ) 한 칸 띄고 편집하려는 파일 이름을 쓰고 엔터를 치면 됩니다. 그럼, 화면에 .bashrc 파일이 불려옵니다.

X 윈도즈에서 터미널 창을 불러 vi를 실행했다면 한글 부분이 제대로 보일 것이고, X 윈도우가 아닌 그냥 콘솔 모드에서는 한글이 표현되지 않기 때문에 한글 부분은 깨져 보일 것입니다.

어느 키보드를 누르라는 것까지 말씀드리는 건 vi를 처음 접하시는 분들에게는 너무나도 낯선 vi의 환경 때문입니다. 여러분이 익히 쓰시던 윈도즈의 프로그램들 수준에 vi를 맞춰서 이해하려 하지 마시고, vi의 성격에 여러분의 생각을 맞춰주시기 바랍니다.

2. 편집하기

커서를 여기저기 움직이기 위해서는 화살표 키를 이용하십시오. 물론 그것에 비하면 수백 배는 많은 이동 방법이 있지만 이 글은 초미니 매뉴얼이라는 걸 상기하시기 바랍니다. 일단은 사용할 수 있고 난 다음에 그런 축지법을 익힐 일입니다.

이제 깜빡거리는 커서를 움직여서 화면 맨 윗 줄, 맨 앞에 가져다 놓으십시오. 그리고 i ( 알파벳 소문자 아이 )를 누르세요. 화면 하단 부분에 -- INSERT -- 라고 바뀌면서 삽입모드로 전환되었습니다. 이제부터 여러분이 타이핑하는 것들은 문서에 입력되게 됩니다.

기억하세요. 명령모드에서 편집모드로 들어가기 위해서는 i를 누르면 됩니다. ( 화면에는 표시되지 않습니다. 그냥 명령이기 때문에 ) 편집모드에서 명령모드로 빠져나오기 위해서는 Esc 키를 누르면 됩니다. 앞으로는 습관처럼 Esc 키를 두들기십시오.

이제 편집모드에 있으므로 다음과 같이 입력하세요.

echo "Hey, What do you want?"[엔터]

그리고 나서 명령모드로 빠져나오세요. 당신은 드디어 파일을 편집할 수 있게 되었습니다.

3. 끝내기

vi를 마치려면 일단 지금까지 편집했던 내용들을 저장해야 합니다.

:w[엔터]

w는 아마도 write의 약자인 듯합니다. 저장장치에 쓰라는 말이겠죠. w 명령으로 당신은 편집한 파일을 저장하게 되었습니다. 이제 vi를 마칩시다.

:q[엔터]

이렇게 입력하면 vi를 끝내게 됩니다. 만약 파일이 변경되었는데 저장하지 않았다면 vi는 종료되지 않습니다. 변경된 내용을 무시하고 무조건 종료하기 위해서는 다음과 같이 하십시오.

:q![엔터]

느낌표를 붙이면 파일이 변경되었더라도 저장하지 않고 강제로 종료하게 됩니다. 느낌표는 q에 붙여서 쓰시기 바랍니다.

********************

지금 우리가 무슨 짓을 했는지 알아봅시다. 일단 로그아웃하세요. 그리고 다시 로긴해 보세요. 리눅스가 "Hey, What do you want?"라며 당신을 환영합니다. 너무 건방지다 싶으면 다른 말을 써 두십시오.

다시 vi .bashrc 라고 입력해서 파일을 편집합시다. vi 뒤에 파일 이름을 써서 실행하면 그 파일을 바로 편집할 수 있습니다. 만약 파일 이름이 없는 것이었다면 그 이름을 가지는 새 파일을 작성하게 됩니다.

echo로 시작되는 첫 줄을 가지고 지우는 연습을 하겠습니다. 커서를 첫 줄에 옮겨놓으시고 명령모드에서 ( Esc를 몇 번 누르면 됩니다 ) x를 한번 눌러보십시오. 커서 뒤에 있는 글자 한 개가 지워집니다. 이것이 vi에서 글자를 지우는 전통적인 방법입니다. 딜리트 키를 사용하시려면 그렇게 하세요. 하지만 전통을 지켜줘야 한다는 생각이 드는군요.

한 줄 다 지우려면 x를 허벌나게 눌러야 할까요? 설마... 명령모드에서 ( Esc를 누르시면 됩니다. 지금이 편집모드인지 명령모드인지 확인하기가 좀 불편하기 때문에 리눅스를 쓰는 사람들은 명령모드에 있기 위해서 습관처럼 Esc키를 두들기고 있습니다. 키보드가 부서지지 않을 정도로만 두들기십시오 ) d를 두 번 연속해서 누르십시오. 다른 매뉴얼들에는 dd라고 하더군요. 한 줄을 지울 때 쓰는 방법입니다. 이제 저장하고 나가던지, 그냥 나가던지는 알아서 하세요.

지금까지 내용은 vi의 기능 중에서 1%도 되지 않는, 정말 vi를 몰라 답답했던 사람들에게 해당되는 내용이었습니다. 좀 삽질을 하게 되지만 일단 이 내용만 알면 vi를 사용할 수는 있습니다.

하지만 단어 검색, 파일 내에서의 편리한 이동, 버퍼 사용하기, 외부 기능 확장 등 설명하지 않은 부분이 더 많고, 사실 모든 사용법에 대해 설명하려면 리눅스의 다른 모든 것과 마찬가지로 책 한 권이 나옵니다.

일단 급한 대로 이 내용은 다 익혀두십시오. 그 다음에 필요한 기능을 하나씩, 하나씩 습득하시면 됩니다. 모든 것이 하루 아침에 완성될 수는 없지 않겠습니까. 
 



vi 명령어

 

vi에디터는 세가지 모드가 존재하며, 입력(input), 명령(command), ex(last line)모드이다. 이에 우선 명령어 모드는 파일의 편집작업을 하는 것으로 글자를 지우고, 바꾸고, 복사하고, 다른 곳으로 옮기는 등의 작업을 할 수 있다. 이러한 명령어 모드의 명령어들은 영어단어의 첫글자로 만들어졌으며 대소문자를 구분한다. 입력모드의 경우에는 에디터 상에서 글을 입력하는 모드이다. 삽입 모드가 아닌 경우에는 입력이 불가하며, vi에디터는 명령어 모드로 시작된다. 마지막으로 ex모드의 경우에는 명령어 모드의 확장이라고 볼 수도 있는데, 마지막에 정리를 하거나, 저장을 하기 위해 사용되는 모드로 대체적으로 :나 /, ? 이 사용된다.

 

 

 

 

 

그럼 구체적인 명령어를 살펴보면,

 

 

 

 command line 명령어

내 용

vi file

vi를 시작하여 지정한 파일 편집

vi -r file

읽기 전용(read- only) 편집기로서 vi를 시작하여 지정한 파일 편집

view file

읽기 전용(read- only) 편집기로서 vi를 시작하여 지정한 파일 편집

vi -r

되살릴 수 있는 모든 파일 이름 보여주기

vi -r file

vi를 시작하여 지정한 파일 되살리기

 
 

편 집 명 령

내 용

i

입력 모드로 전환, 커서 위치 앞에서 삽입

a

입력 모드로 전환, 커서 위치 뒤에서 삽입

I

입력 모드로 전환, 현재 줄의 앞에 삽입

A

입력 모드로 전환, 현재 줄의 끝에 삽입

o

입력 모드로 전환, 현재 줄의 아래에 전개

O

입력 모드로 전환, 현재 줄의 위에 전개

:e file

지정한 파일의 편집

:e! file

지정한 파일의 편집, 자동 점검의 생략

r

단지 한 글자만 변경(입력 모드로 바뀌지 않음)

R

입력하는 대로 겹쳐 써서 변경

s

삽입에 의해 한 단어의 변경

C

커서의 위치로부터 줄 끝까지 삽입에 의한 변경

cc

전체 줄을 삽입에 의한 변경

S

전체 줄을 삽입에 의한 변경

cmove

커서부터 move까지 삽입에 의해 변경

~

대,소문자 바꾸기

u

편집 버퍼를 수정했던 마지막 명령을 취소

U

현재 줄을 저장

.

편집 버퍼를 수정했던 마지막 명령 반복

x

커서가 있는 문자 삭제

X

커서의 왼쪽 문자 삭제

D

커서부터 줄의 끝까지 삭제

dd

현재 줄의 전체 삭제

dmove

커서부터 move까지 삭제

dG

커서부터 편집 버퍼의 끝까지 삭제

d1G

커서부터 편집 버퍼의 맨 앞까지 삭제

:<line>d

지정한 줄의 삭제

:<line>,<line>d

지정한 범위의 삭제

:<line>co<target>

지정한 줄을 복사하여 target 줄 밑에 삽입

:<line>, <line>co<target>

지정한 범위를 복사하여 target 줄 밑에 삽입

:<line>m<target?

지정한 줄로 이동하여 target 줄 밑에 삽입

:<line>, <line>m<target>

지정한 범위로 이동하여target 줄 밑에 삽입

<n>!!command

n번 줄에서 command의 실행

!move command

커서부터 move까지 command 실행

!move fmt

커서부터 move까지 줄들을 형식 맞추기

:w

원래의 파일로 데이터를 저장

:w file

지정한 파일로 데이터를 저장

:w>> file

지정한 파일에 데이터를 추가

:wq

데이터를 저장하고 종료

:q!

데이터를 저장하지 않고 종료

:set number

내부 줄 번호 디스플레이

:set nonumber

내부 줄 번호 디스플레이 않기

p

마지막으로 지워진 것을 커서의 뒤/아래에 삽입

P

마지막으로 지워진 것을 커서의 앞/위에 삽입

xp

두 문자를 바꿈

deep

두 단어를 바꿈

ddp

두 줄을 바꿈

/rexp

지정된 정규 표현식에 대해 앞으로 이동

/

이전의 패턴에 대해 앞으로 검색을 반복

?rexp

지정된 정규 표현식에 대해 뒤로 이동

?

이전의 패턴에 대해 뒤로 검색을 반복

n

/나 ?명령에 대해 같은 방향으로 반복

N

/나 ?명령에 대해 반대 방향으로 반복

:ab short long

short를 long에 대한 약어로 변경

:ab

현재 약어 목록을 표시

:una short

약어 short를 표시

r<Return>

문자를 뉴라인으로 변경

J

아래 line을 현재 line과 합치기

:set wm=n

오른쪽으로 n문자 위치에서 자동적으로 줄 나눔

h or <Left key>

커서를 한 칸 왼쪽으로 이동

j or <Down key>

커서를 한 줄 아래로 이동

k or <Up key>

커서를 한 줄 위로 이동

l or <Right key>

커서를 한 칸 오른쪽으로 이동

<Backspace>

커서를 한 칸 왼쪽으로 이동

<Space>

커서를 한 칸 오른쪽으로 이동

-

커서를 이전 줄의 처음으로 이동

+

커서를 다음 줄의 처음으로 이동

<Return>

커서를 다음 줄의 처음으로 이동

0

커서를 현재 줄의 맨 앞으로 이동

$

커서를 현재 줄의 맨 끝으로 이동

^

커서를 현재 줄의 첫글자(공백이나 탭이 아닌)로 이동

w

커서를 다음 단어의 첫 글자로 이동

e

커서를 다음 단어의 끝 글자로 이동

b

커서를 이전 단어의 첫 글자로 이동

W

w와 같음(문장 부호 무시)

E

e와 같음(문장 부호 무시)

B

b와 같음(문장 부호 무시)

(

다음 문장의 처음으로 이동

)

이전 문장의 처음으로 이동

{

다음 문단의 처음으로 이동

}

이전 문단의 처음으로 이동

H

커서를 화면 맨 위로 이동

M

커서를 중간으로 이동

L

커서를 맨 아래로 이동

^f

한 화면 아래로 이동

^b

화면 위로 이동

^d

반 화면 아래로 이동

^u

반 화면 위로 이동

n^d

n줄만큼 아래로 이동

n^u

n줄만큼 위로 이동

:!command

vi를 중단하고 지정한 셸 명령을 실행

:!!

vi를 중단하고 이전의 셸 명령을 실행

:sh

vi를 중단하고 셸을 실행

:!csh

vi를 중단하고 새로운 C-셸을 실행

:s/<pattern>/<replace>/

현재 줄의 치환

:<line>s/<pattern>/<replace>/

지정한 줄의 치환

:<line>,<line>s/<pattern>/<replace>/ 

정한 범위의 치환

:%s/<pattern>/<replace>/

모든 줄의 치환

:<line>r file

file의 내용을 지정한 줄 다음에 삽입

:r file

file의 내용을 현재의 줄 다음에 삽입

:<line>r !command

command의 결과를 지정한 줄 다음에 삽입

:r !command

command의 결과를 현재의 줄 다음에 삽입

:r !look pattern

지정한 pattern으로 시작된 단어 삽입

.

뉴라인을 제외한 모든 단일 문자와 대응

*

영 또는 그 이상의 선행 문자와 대응

^

줄의 시작과 대응

$

줄의 끝과 대응

\<

단어의 시작과 대응

\>

단어의 끝과 대응

[ ]

묶여진 문자중의 하나와 대응

[^ ]

묶여진 문자를 제외한 아무것하고나 대응

\

이어지는 기호를 문자 그대로 해석

<n>G

줄번호 n으로 건너뛰기

1G

편집 버퍼의 첫 줄로 건너뛰기

G

편집 버퍼의 마지막 줄로 건너뛰기

:map g lG

g가 lG와 같도록 매크로 정의



 

아래 표 출처 : http://if.kaist.ac.kr/~jskim/Home/etc/vi.html

'OS > Linux' 카테고리의 다른 글

리눅스 한글 입력  (0) 2009.11.28
우분투] 설치 후 초기화 과정  (0) 2009.11.28
vi를 사용할 때 주의사항  (2) 2009.11.08
vi편집기 환경설정(vimrc)  (0) 2009.11.08
시스템정보 명령어  (0) 2009.10.21
Posted by 야동우
,

  vi에서 파일을 편집하면 저장을 하기 전까지의 모든 내용은 메모리에 일시 저장됩니다. 간혹 초심자의 경우 vi로 파일 편집 중 터미널 자체를 종료하는 경우가 있습니다. 이때 해당 파일이 저장되지 않았으므로 vi는 변경된 내용을 유지하기 위해 스왑 파일을 생성합니다.

  가령 a.txt 파일을 편집하던 중 vi를 제대로 종료하지 않은 상태로 터미널을 종료한 경우라면 .a.txt.swp와 같은 히든 파일 형태의 스왑 파일을 생성하여 복구 기능을 제공합니다.



  이러한 스왑 파일은 이후 해당 파일을 불러들여 편집할 경우 해당 파일 복구를 위해 다음과 같은 화면을 제시하게 됩니다.


  이렇게 .a.txt.swp 파일이 존재함을 알리는 메시지가 보일 때, 해당 파일을 복구하는 방법은 3가지 방법이 존재합니다. 위 그림은 vi를 사용하던 터미널을 강제로 종료한 경우이거나 해당 파일을 다른 사용자가 사용 중일 경우에 나타나는 화면입니다.

  먼저 ps aux | grep "vi 파일명" 명령어로 다른 사용자가 사용 중인지 확인해 보시기 바랍니다. 만약 다른 사용자가 해당 파일을 사용 중이라면, 끝내기 ((Q))를 선택하시기 바랍니다.

  vi 사용 중 터미널 강제 종료로 인해 발생한 메시지에 대한 대처방안은 다음과 같습니다.
  • 해당 화면에서 복구 ((R))를 선택합니다(r 입력).
  • 해당 화면에서 그냥 고치기((E))를 선택한 다음(e 입력), :recover 를 통해 복구합니다.
  • vim -r a.txt 명령어로 해당 파일을 불러들입니다.

  3가지 방법 중 한가지를 택해 복구한 후 저장 및 종료(:wq)한 후 스왑 파일(.a.txt.swp)을 삭제합니다.

  만약에 파일을 복구한 후 저장하지 않고 또 다시 터미널 자체를 종료할 경우 이에 해당하는 스왑파일을 순차적으로 더 생성하게 됩니다(.swp → .swo → .swn → .swm → ...). 이런 상황의 경우 복부 방법은 동일하지만(어떤 스왑파일을 사용할 것인지 선택하는 메뉴가 하나 더 나옴), 파일을 복구한 후 .a.txt 로 시작하는 모든 스왑 파일을 삭제해야합니다.




[출처]

레드햇 리눅스 9 상세보기

'OS > Linux' 카테고리의 다른 글

리눅스 한글 입력  (0) 2009.11.28
우분투] 설치 후 초기화 과정  (0) 2009.11.28
vi 명령어  (0) 2009.11.22
vi편집기 환경설정(vimrc)  (0) 2009.11.08
시스템정보 명령어  (0) 2009.10.21
Posted by 야동우
,

  레드햇 리눅스9의 경우 vi를 구동할 때 vi의 기본 환경 설정 내용은 /usr/share/vim/vim61/vimrc_example.vim 에 기록되어 있습니다. 만약 샘플로 제공되는 환경 설정 이외의 자신만의 vi 환경 설정을 원하신다면 /usr/share/vim/vim61/vimrc_example.vim 파일을 자신의 홈 디렉토리에 .vimrc 로 복사하여 편집합니다.

./vimrc 환경 설정 내용

설정값

적용내용

set autoindent

자동 들여쓰기

set cindent

C 언어 프로그램 작성시 자동 들여쓰기

set autowrite

파일 수정 시 자동 저장

set ruler

커서 위치 표시

set backspace=indent,eol,start

입력 모드에서 backspace 허용

set backup

백업 파일 자동 생성

set history=50

명령어 히스토리 기록(50라인)

set showcmd

명령어 표시

set incsearch

순차적 검색 허용

syntax on

컬러 터미널의 경우 컬러로 표시

set hlsearch

문자열을 검색할 때 컬러로 표시

set magic

문자열을 검색할 때 와일드카드 사용

set binary

바이너리 파일 편집 가능

set ignorecase

문자열을 검색할 때 대소문자 구별



EX)
테스트 해보았는데요ㅎ
제 경우에는 Red Hat Enterprise Linux 4를 사용하는데, /usr/share/vim/vim63/vimrc_example.vim 파일을 제 홈 디렉토리에 .vimrc 로 저장했습니다.
이후 $vi .vimrc 명령을 치고 아래 그림과 같이 set cindent 를 추가했습니다.
이제 C프로그래밍을 할 때는 자동으로 들여쓰기가 됩니다.
꽤 오랜 시간 들여쓰기한다고 탭탭탭탭탭 했었는데ㅠㅠ..(무식하면 손발이 고생!)
이제 편하겠네요! ^^





[출처]
레드햇 리눅스 9 상세보기

'OS > Linux' 카테고리의 다른 글

리눅스 한글 입력  (0) 2009.11.28
우분투] 설치 후 초기화 과정  (0) 2009.11.28
vi 명령어  (0) 2009.11.22
vi를 사용할 때 주의사항  (2) 2009.11.08
시스템정보 명령어  (0) 2009.10.21
Posted by 야동우
,