리눅스 트리 계층구조( linux tree directory) 이해

  

 

리눅스는 계층적인 트리 형태로 구성되어 있다.
리눅스는 윈도우즈와는 달리 드라이브 라는 개념을 사용하지 않고 파티션(partition)과 마운트(mount)라는 개념을 사용한다.
리눅스는 유닉스와 마찬가지로 모든것을 파일로 취급하여 처리하며 리눅스의 기본적인 디렉토리 구조는 다음과 같다.
 

 

/ (root)
최상위 디렉토리로서, 루트 디렉토리라고 한다.
모든 디렉토리는 루트를 기준으로 생성되며 루트는 모든 디렉토리의 출발점이자 다른 파티션의 연결점이다.
/bin
시스템에서 사용되는 기본 명령어들이 위치하는 디렉토리로 많은 리눅스 명령이 저장되어 있다.
'bin' 이라는 이름은 이곳의 프로그램 배부분이 이진 파일이라는 것을 의미한다.
/var
내용이 자주 변경되는 가변 자료들이 저장되는 곳으로, 기본적으로는 시스템을 운영할 때 발생되는 로그 파일들이 저장된다.
다은과 같은 서비스를 제공하는 서버로 리눅스를 운영할때 사용 하면 바람직 하다.
- 메일을 송/수신할 때 임시로 저장되는 스풀
- 프린트로 전송하기 위해 임시로 저장하는 프린트 스풀 데이터
- 레드햇 배포판에서 패키지로 제공하는 아파치 웹 서버 관련 자료
- MySQL의 데이터 베이스
- FTP의 최상위 디렉토리 등등

/boot
부팅에 필요한 지원 파일들이 위치하는 디렉토리이며, 시스템 부팅 시 부트로더가 커널의 위치를 참조 한다.
/dev
각 장치에 대한 장치 파일이 위치하는 디렉토리로, 용량을 차지 하지 않는 가상의 디렉토리다.
통상적으로 파일을 저장하지 않는다.
/dev 디렉토리에 있는 유용한 파일 가운데 하나는 null 이다.
이파일은 존재하지 않거나 비어 있는 장치를 의미한다.
/etc
리눅스에서 사용되는 모든 어플리케이션 및 환경 설정에 필요한 설정 파일들이 존재한다.
실행파일은 존재하지 않고 편집기를 이용하여 해당 파일을 변경하여 시스템의 설정을 변경하는 디렉토리다.
시스템을 관리하는데 필요한 프로그램이나 파일이 있다.
가장 유명한 파일은 시스템의 암호 파일인 passwd가 있다.
/home
일반 사용자들의 홈 디렉토리가 위치하는 곳이다.
또한 FTP, MySQL, 등 별도의 공간을 요구하는 서비스를 위한 디렉토리로 사용될 수도 있다.
/lib
기본적인 라이브러리가 위치하는 디렉토리로서, 시스템 운영이나 프로그램을 구동할 때
필요한 공유 라이브러리 및 부팅할 때 사용되는 커널 모듈도 포함된다.
/mnt

시스템 관리자에 의해 임시로 마운트된 파일 시스템들이 위치할 곳이다.
CD-ROM 이나 USB에 대한 기본 마운트 포인트를 제공한다.
/proc
프로세스와 시스템 정보를 제공하기 위한 목적으로 설계된 가상 파일 시스템을 위한 디렉토리다.
/proc은 실제로 하드디스크 상에 존재하는 것이 아니라 메모리에 존재하는 것으로서
메모리에 존재하는 내용을 마치 하드디스크에 있는 하나의 파일처럼 다룰수 있게 해 주는 디렉토리다.
/sbin
sbin은 시스템 바이너리(system binaries)의 약자로 시스템 관리자가 사용하는 시스템운영에 필요한 명령어가 존재하는 디렉토리다.
즉 관리자만 사용하며 해당 명령어로는 fdisk, reboot 등이 있다.
/tmp
프로세스 생성 과정에서 발생되는 임시 파일을 저장하는 디렉토리로, 수시로 파일이 생성되고 삭제된다.
시스템을 재구동하는 경우에는 존재하는 모든 파일이 삭제된다.
일반적으로 짧은 시간 동안만 저장할 필요가 있는 파일을 이곳에 저장한다.
/usr
모든 어플리케이션 및 시스템 파일들, 라이브러리 파일 및 실행 파일이 위치하는 디렉토리로, 비교적 많은 공간이 필요하다.
/usr의 하위 디렉토리

 디렉토리명

 

 /usr/bin

 실행 파일을 보관하는데 사용한다.

 /usr/dict

 리눅스 사전이 사용하는 파일들이 들어 있다.

 /usr/include

 프로그래머들이 사용하는 파일들이 존재한다.

 /usr/lib

 /lib의 일부분처럼 프로그램의 라이브러리들이 존재한다.

 /usr/local

 시스템 관리자가 자신의 프로그램이나 문서를 저장하는데 사용한다

 /usr/man

 매뉴얼에서 사용하는 디렉토리와 파일이 들어 있다.

 

 디렉토리명 
 /usr/bin  실행 파일을 보관하는데 사용한다.
 /usr/dict  리눅스 사전이 사용하는 파일들이 들어 있다.
 /usr/include  프로그래머들이 사용하는 파일들이 존재한다.
 /usr/lib  /lib의 일부분처럼 프로그램의 라이브러리들이 존재한다.
 /usr/local  시스템 관리자가 자신의 프로그램이나 문서를 저장하는데 사용한다
 /usr/man  매뉴얼에서 사용하는 디렉토리와 파일이 들어 있다.
  


 리눅스 디렉토리 구조 -2
 
리눅스는 설치를 하면 최상위 디렉토리가 존재하기 마련인데
바로 루트 디렉토리이다.
 루트 디렉토리는 / 으로 표시한다.
폴더 이름 자체가 / 으로 되어있다는 뜻이다.
 하지만 /(루트) 디렉토리가 존재하는 반면 /root 라는 디렉토리도 존재하는데
 (루트)디렉토리는 말그대로 루트 디렉토리이고, /root 디렉토리는 관리자 홈 디렉토리를 말한다.
 


 리눅스 GUI 환경에서 파일 브라우저로 /를 검색해본 결과 ( 프로그램 -> 파일 브라우저 )
위와 같이 나온다.
 
리눅스의 파일 브라우저는 윈도우에서 탐색기라고 보면된다.
파일이 여러개있다.
루트 디렉토리 안에 들어있는 또다른 디렉토리들에 대한 정보를 알아보자.
 
/root : 관리자 홈 디렉토리
/boot  : 커널 디렉토리 (부팅 관련 파일 )
/etc  : 시스템 설정파일 디렉토리
/usr : 응용프로그램 디렉토리
/var : 로그파일, 메일 디렉토리
/lib : 라이브러리 디렉토리
/tmp : 임시 디렉토리
/home : 일반계정 홈디렉토리
/dev : 장치파일 디렉토리
/proc : 프로세스 정보 디렉토리
/media, /mnt : CDROM 마운트 디렉토리
  
현재,부모,자식 디렉토리
 
1. 현재 디렉토리 : 현재 디렉토리는 현재 자신의 위치한 디렉토리를 말한다.
" . "로 표현
● 사용자가 현재 작업중인 디렉토리
 
2. 부모 디렉토리
" .. "로 표현
● 현재의 디렉토리가 포함되어 있는 바로 위의 디렉토리
 
부모 디렉토리 입장에서 하위 디렉토리를 본다면 그 하위 디렉토리는 자식 디렉토리가 되는것임!
  
상대 경로 이름과 절대 경로 이름
 
경로(path) : 파일이 위치한 부분
 절대경로(absolute path) : 루트(/) 디렉토리부터의 위치
 상대경로(relative path) : 현재의 디렉토리부터의 위치
 
예를 들어보자.
/home 디렉토리에 mulhanbangul 이라는 파일이 있다고 치면
절대 경로로 치면 /home/mulhanbangul 이 되는 것이다.
 
반면에
 
상대경로로 표현하면 ../mulhanbangul 이렇게 된다.
 
절대경로와 상대경로의 쓰임은 다음 포스트에서 명령어를 알아가면서
직접 이해해 볼터니 잘 기억해두자.
 
 
명령어 디렉토리
 
명령어 디렉토리는 명령어가 저장되어있는 디렉토리를 말한다.
한마디로 그 디렉토리마다 명령어 제한이 존재하는데
예를들어 아래처럼 /bin인 경우에는 모든 사용자가 사용이 가능한 명령어를 저장하고있다.
 
/bin : 슈퍼유저(root) + 일반유저 = 모든 사용자가 쓸 수있는 명령어
/sbin : 슈퍼유저(root)용 명령어
/usr/bin : 대부분의 사용자 명령어
/usr/sbin : 시스템 관리용 명령어
/usr/local/bin : 리눅스 OS 설치 후에 추가된 프로그램 명령어
 
 
보면 /bin /usr/bin은 그럼 서로 같은거 아니냐 라고 생각할 수 있겠지만
사실은 /usr/bin보다 /bin이 더 큰 디렉토리라고 보면된다.
 

 

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,


  리눅스 기본 명령어 통해 상대경로/절대경로를 알아낼 수 있습니다.
그럼 순서대로 하나씩 차근차근 실습을 하면서 명령어를 익혀보세요

 

리눅스의 바탕화면에서 오른쪽 마우스를 클릭하면 위와 같은 창이 나오는데
여기서 'open in Terminal'을 클릭하고 프롬프트 창에서 명령어를 입력하면된다
passwd
계정의 비밀번호를 변경하는 명령어 입니다.


ls
ls는 파일과 디렉토리의 리스트를 보는 명령어 입니다.
MS-DOS 의 DIR 명령어와 같은 개념이라 보시면 됩니다.


ls 명령에는 옵션이 따라 붙는데, 가장 많이 쓰는 옵션이 -a, -l, -h 입니다.
-a : 모든 파일의 리스트를 보기 위해 쓰는 옵션으로, 모든 파일과 디렉토리 및 숨김파일까지 보여줍니다.
-l : 각각의 디렉토리나 파일의 정보를 함께 보여줍니다. 파일의 권한 및 소유자, 소유그룹, 용량 등을 보여줍니다.
-h : 파일의 용량을 보기 좋은 단위로 보여줍니다. 1967000000 Byte 대신에 1.9G 이런식으로 보여주는거죠.


-rw-r--r--    1 root      root                7.4G 2013-03-05 22:54 sda_disk.img
drwxrwxrwx  2 root      root                4.0K 2013-03-15 20:41 temp


출력결과를 볼 때 권한과 관련 된 부분은 가장 좌측의 열자리 입니다. 1/3/3/3 순으로 끊어서 보시면 되고,
제일 앞에 'd' 가 있는 경우는 디렉토리, '-' 가 있는 경우는 파일 입니다. 그 뒤의 9자리가 권한과 관련된 것입니다.


옵션을 한꺼번에 적용할 수도 있습니다.
예를 들어 ls -alh 라고 한다면 모든 파일의 리스트를 보여주는데, 자세한 정보와 함께 보기좋은 단위의 용량으로 리스팅 해줍니다.

cd
DOS에서의 cd와 같은 것입니다.
상위 디렉토리로 이동할 때는 cd .. (한칸 띄워야 합니다) 이라고 해주면 되고, 루트로 가려면 cd / 이라고 해주면 됩니다.
root 아래의 pogodata 디렉토리로 이동하려면 cd /pogodata 라고 해주면 되겠습니다.
하위 디렉토리로 갈 때는 cd 해당폴더명 이렇게 해주면 이동합니다.


pwd
현재 사용자가 위치하고 있는 디렉토리의 절대경로를 출력해 주는 명령어 입니다.


mkdir
디렉토리를 만드는 명령어 입니다.
mkdir test 라고 하면 하부에 test라는 디렉토리를 만드는 것입니다.
절대경로를 사용하여 mkdir /pogodata/movies 이런식으로 디렉토리를 만들어 줄 수도 있습니다.
유용한 옵션으로는 -m 옵션이 있는데, 퍼미션 까지 지정하여 디렉토리를 만들어 줍니다.
mkdir -m 777 /pogodata/movies 라고 한다면, root 하부의 pogodata 하부에 movies 라는 디렉토리를 만들고,
777 권한을 부여한다는 것입니다.


nano
텍스트 파일의 편집에 이용되는 명령어 입니다.
nano (편집할 파일명) 의 형식으로 사용됩니다.
nano /etc/fstab 이런식으로 절대경로로 사용될 수도 있습니다.
해당하는 위치에 파일이 없는 경우에는 파일을 생성하는 역할도 해줄 수 있습니다.


fdisk
fdisk (디바이스명) 으로 입력하면 해당 디바이스의 파티션을 조정할 수 있습니다.
예를 들면, fdisk /dev/sda 라고 해주면
sda 에 잡혀있는 디바이스의 파티션을 설정할 수 있는 것입니다.
여기서 스왑파티션의 설정도 가능합니다


-l 옵션을 추가하여 fdisk -l 이라고 해주면
현재 시스템의 파티션 목록을 보여주게 됩니다.


chmod
파일이나 디렉토리의 권한을 변경하여 줍니다.
chmod 777 /pogodata 라고 하면 /pogodata 디렉토리의 권한을 777로 설정해 주는 것입니다.
-R 옵션이 들어가면 하부 디렉토리까지 적용이 가능합니다.


chown
소유자나 소유그룹을 변경할 수 있는 명령입니다.
chown pogo_user test
- test 라는 파일의 소유자를 pogo_user 로 변경하는 것입니다
chown :family test
- test 라는 파일의 소유그룹을 family 로 변경하는 것입니다. 그룹 이름 앞에 콜론을 찍습니다.
chown pogo_user:family test
- test 라는 파일의 소유자, 소유그룹을 한꺼번에 변경할 수 있으며,
  소유자를 pogo_user 로 바꾸고, 소유그룹을 family 로 바꾸어 줄 수 있습니다.


which
명령어 파일의 경로를 알려줍니다.
which (찾을 명령어) 형식으로 사용합니다.


whereis
명령어의 실행파일위치, 소스위치, 메뉴얼 페이지 파일위치를 찾아주는 명령어로써,
명령어의 위치만을 찾아주는 which에 비해 포괄적인 명령어 입니다.
whereis (명령어) 의 형식입니다.


whatis
명령어의 역할을 간단히 알려주는 기능을 합니다.
whatis (명령어)


--help
명령어 뒤에 붙여주면 간단한 기능 및 옵션에 대하여 알려줍니다.
(명령어) --help 의 형식으로 사용합니다.


man
명령어의 메뉴얼 파일을 보여줍니다.
man (명령어) 형식으로 사용하게 되며, 자세한 메뉴얼을 볼 수 있습니다.
예를 들어, man rtmpdump > rtmp.txt 의 형식으로 사용하게 되면
rtmpdump 의 메뉴얼을 rtmp.txt 파일로 저장하여 줍니다.


| more
사용하는 명령 뒤에 붙여서 쓰는 것으로 more 앞에 있는 '|' 은 소문자 L이 아니라,
C:\> 에 사용되는 \ 문자와 같은 키 위에 있는 문자로 '쉬프트 + \' 로 입력하게 됩니다.
출력의 내용이 너무 길어 한페이지에 다 볼 수 없을 때 출력결과를 끊어서 보여주는 역할을 합니다.


df (Disk Free)
df 명령은 디바이스의 용량 및 마운트 경로, 파티션 정보 등을 보여주는 명령입니다.
-h 옵션을 사용하면, Kilo, Mega, Giga 등의 보기좋은 용량으로 보여줍니다.


mkfs
mkfs -t [파일 시스템 타입] [디바이스명] 의 형식으로 사용하는 것으로, 파일 시스템을 작성하고 포멧을 해줍니다.
mkfs -t ext3 /dev/sda (mkfs.ext3 /dev/sda 라고도 쓸 수 있습니다.) 라고 한다면
/dev/sda 디바이스를 ext3 파일 타입으로 포멧하겠다는 뜻이 됩니다.


fsck
fsck -t [파일 시스템 타입] [디바이스명] 의 형식으로 사용하는 것으로,
손상 된 파일시스템을 점검하고 복구해 주는 역할을 합니다.
fsck -t ext3 /dev/sda 같은 형식으로 사용할 수 있으며, 마운트를 해제하고 진행해야 합니다.
(fsck.ext3 /dev/sda 와 같이 사용할 수 있습니다)


uptime
시스템의 부하율을 보여줍니다.
12:54:21 up  3:28,  2 users,  load average: 0.00, 0.03, 0.04
이런 형식으로 출력되며
맨 끝의 3개의 숫자들은 지난 1분, 5분, 15분동안의 시스템 부하율을 각각 평균으로 보여주는 것입니다.


top, htop
시스템 모니터링을 위한 명령입니다.


free
메모리의 사용현황을 보여줍니다.


tar
묶을 때 : tar cvfz (압축파일.tar.z) (압축대상파일 및 디렉토리)
풀 때 : tar xvfz (압축파일.tar.z)


옵션
c : 여러개의 파일을 하나의 파일로 묶어 tar파일을 생성할 때 사용 (압축하지 않고 묶기만 하는 것)
f : tar파일을 사용할 때에는 반드시 포함
v : 파일들의 내용을 보려고 할 때 사용
x : 묶인 파일을 다시 풀어줄 때
z : 압축과 관련 된 옵션 (z 옵션이 들어가면 파일 확장자가 tar.z 가 되고, z 옵션이 없으면 tar 가 됩니다)


halt
시스템을 종료합니다.
halt 명령 후 10초 정도 지나면 usb의 led 가 깜빡거리다가 꺼지는 것을 볼 수 있고,
그 후에 플러그를 빼주시는 게 좋습니다.


reboot
시스템을 재부팅 합니다.


* 파일의 삭제, 복사, 이동 등의 명령어는 왠만큼 FTP 클라이언트로 대체 가능하여 제외 하였다.
 
리눅스의 기본 파일 시스템 및 계층구조
1. 파일시스템(/)
'/'은 최상위 루트 디렉터리로 리눅스의 모든 디렉터리들의 시작점이다.
2. /boot
리눅스 부트로더(Boot Loader)가 존재하는 디렉터리이다.
3. /bin
기본적인 명령어(실행파일)가 저장된 디렉터리이다.
4. /dev
시스템 장치(device)파일을 저장하고 있는 디렉터리이다.
5. /etc
시스템의 거의 모든 설정파일이 존재하는 디렉터리(서비스)이다.
6. /home
일반 사용자의 홈디렉터리 생성 위치이다.
7. /lib
커널모듈파일과 라이브러리파일(언어소스파일)들이 들어 있는 디렉터리이다.
8. /lost+found
파일시스템마다 존재할 수 있는 디렉터리로 파일시스템 체크(점검) 및 복구 유틸리티 실행 후 주로 생성되는 것이다.
9. /media
로컬 장치파일이 들어있는 디렉터리이다.
10. /mnt
원격 장치파일이 들어있는 디렉터리이다.
11. /proc
가상화 파일시스템이 들어 있는 디렉터리이다. (커널, 프로세스등)
12. /root
루트(root)의 홈 디렉터리이다.
13. /sbin
시스템 명령어가 들어 있는 디렉터리이다. (root 만이 사용할 수 있는 명령어)
14. /tmp
임시저장파일이 들어있는 디렉터리 일명 "공용디렉토리" . 시스템을 사용하는 모든 사용자들이 공동으로 사용하는 디렉토리이다.
15. /usr
시스템이 아닌 일반 사용자들이 주로 사용하는 디렉터리이다.
16. /var
시스템로그파일,메일파일등이 들어있는 디렉터리로 시스템운용중에 생성되었다가 삭제되는 데이터를 일시적으로 저장하기 위한 디렉터리이다.
이렇듯 리눅스의 계층구조는 최상위 디렉터리 '/' 아래로 'boot', 'bin', 'dev', 'mnt', 'sbin' 그외 여러 하위 디렉터리로 구성되어 있다.

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

리눅스 Vi / Vim 편집기 명령어 익히기

 

 

Linux vi편집기 명령어  

리눅스에서 작업을 도와주는 리눅스 단축명령어을 이용하며  편합니다.
vi 편집기를 처음시작하면 명령어 모드상태가 되며 이 상태에서 문자입력시 사용되는 명령어를 이용하여
입력모드로 들어갑니다. 이 후 명령어모드와 입력모드간의 변경은 esc키를 이용하여 변경하며
명령어모드에서 :키를 입력하면 마지막 라인모드가 됩니다.
아래 vi명령어를 정리해 두었으며  되로록 자주 사용하면서 습득하는 것이 좋습니다.

vi , vim 편집기 명령어 ( vi를 더 개량 한 것이 vim 편집기 이다.

1. vi 시작 및 종료
   vi  filename  : vi를 시작하여 지정한 파일 편집
   vi file1 file2 ... filen   :   여러개의 파일을 동시에 편집
   vi -r filename   :  비정상적인 vi 모드의 종료 등에 의한 편집파일 복구모드에서 작업
 
   [vi 종료 및 파일 생성]
   :q   -   수정하지 않았을 경우 종료하기
   :q!  -    수정한 것을 저장하지 않고 종료하기
   :w   -    저장하기
   :w!  -    읽기 전용의 파일을 저장하기
   :wq-    저장하고 종료하기
   ZZ  -   저장하고 종료하기
   :w new_file_name    -   새로운 파일이름으로 저장하기
   :w %.new   -   현재 파일 이름에 .new를 붙여서 새로운 파일로 저장
   :n,$ w file_name   -   n줄부터 끝줄까지 file_name으로 저장하기
   :.,n w file_name   -   현재줄부터 n줄까지 file_name으로 저장하기
   :n1, n2 w file_name   -   n1줄부터 n2줄까지 file_name으로 저장하기
   :n1, n2 w >> file_name  -   n1줄부터 n2줄까지를 file_name으로 추가하기
 
   [파일관리]
   :w [file-name]   -   현재 내용 저장
   :w! [file-name]   -   기존의 파일에 덮어 쓰기
   :e file-name   -   파일 불러오기
   :e! file-name   -   현재 내용을 저장않고 새 파일 불러오기
   :e#   -   직전 편집 파일 불러오기 - 여러 개의 파일을 동시 작업시
   :r file-name   -   현재 커서 위치에 파일 내용 삽입
 
2. 모드전환
   명령모드 --->  입력모드 : a, A, i, I, o, O, ....
   입력모드 --->  명령모드 : Esc Key
 
3. 편집
   - 텍스트를 편집하기 위해선 먼저 입력 모드로 변경해야 한다.
   - vi 편집기에서 명령모드에서의 키는 다음의 약어를 암기한다.
   d : delete 삭제
   c : change 변경
   y : yang 복사
   p : paste 붙이기
   w : word 단어
   u : undo 취소
   $ | ^ : 줄의 끝 | 시작
 
 
   [텍스트의 추가 및 삽입]
   i (insert)   -   현재 커서가 있는 위치에 새로운 텍스트를 끼워 넣는 기능
   I (insert)   -   현재 줄의 처음부터 새로운 텍스트를 끼워 넣는 기능
   a (append)   -   현재 커서가 있는 위치 다음부터 입력하는 기능
   A (append)   -   현재 줄의 끝에 텍스트 입력하는 기능
   o (open)   -   현재 커서가 있는 다음 줄에 행을 삽입하여 편집
   O (open)   -   현재 커서가 있는 앞줄에 행을 삽입하여 편집
 
   [문자 복사 및 삭제와 복구]
   x  -   한번에 커서 뒤의 한 글자를 삭제
   X  -   한번에 커서 앞의 한 글자를 삭제
   숫자1, 숫자2d   -   파일의 숫자 1행에서 숫자 2행까지 삭제
   dd   -   한 라인을 삭제하고 그 내용을 버퍼에 저장
   ndd  -   현재 line부터 n개의 line을 지우고 그 내용을 버퍼에 저장
   dw   -   한 단어를 삭제
   D   -   현재 커서의 위치에서 그 행의 끝까지 삭제
   u  -   마지막에 실행한 명령을 취소하고 명령 실행 이전으로 복구
   U  -   u에 의해 취소된 명령 재실행
   ^r  -   u에 의해 연속적으로 취소된 명령을 연속적으로 재실행
   nY  -   다음 줄부터 n줄을 버퍼에 복사
   yw   -   한 단어 복사
   y$   -   커서 위치에서  그 줄 끝까지 복사
   yO   -   커서 위치에서 그 줄 처음까지 복사
   yG  -   커서 위치에서 문서의 끝까지 복사
   :n1,n2 y  -   n1번 line에서 n2번 line까지를 버퍼에 저장
   p | P   -   버퍼의 내용을 현재 line 뒤/앞에 붙인다
   :n1,n2 t n3   -   n1번 line에서 n2번 line까지를 n3번째 line 뒤에 복사
   :n1,n2 m n3   -   n1번 line에서 n2번 line까지를 n3번째 line 뒤에 이동
 
4. 이동
   ^은 Control Key를 의미하고, 아래에서 ^?은 ^과 다른 키(?)를 함께 누르는 것을 의미한다.
   아래에서 n은 숫자를 의미한다.
 
   [커서의 이동]   -   커서의 이동은 명령 모드에서 가능하다.
   한글자 이동   -   h(왼쪽으로 한 글자 이동)  l(오른쪽으로 한 글자 이동)
   한 행 이동   -  j(아래로 한 행 이동)  k(위로 한 행 이동)
   한 화면 이동   -   ^f/^b: 한 화면 아래/위로 이동(forward/backward)
   반 화면 이동   -   ^d/^u : 반 화면 아래/위로 이동(down/up)
   한 단어 이동   -   w,W(한 단어 앞으로 이동), b, B(한단어 뒤로 이동),e(단어의 끝으로)
   행 지정 이동   -   nG(지정한 행으로 커서를 이동)
 
   [커서 이동]
   G  -   파일의 맨 끝으로 이동
   nG  -   n번째 줄로 이동
   :n  -   n번째 줄로 이동
   (, n(   -   현재 문장의 선두(위의 n번째 선두)로 이동
   ), n)   -   다음 문장의 선두(아래의 n번째 선두)로 이동
   {, n{   -   현재 문단의 선두(위의 n번째 선두)로 이동
   }, n}   -   다음 문단의 선두(아래의 n번째 선두)로 이동
   [ + [   -   이전 블록({})의 처음으로 이동
   ] + ]   -   다음 블록({})의 처음으로 이동
   ^ (6)   -   커서가 위치한 줄에서 맨앞으로 이동(빈칸무시)
   O(숫자)   -   커서가 위치한 줄에서 맨앞으로 이동(공백을 제외한 맨앞)
   $   -   커서가 위치한 줄에서 맨뒤로 이동
   H | M | L   -   화면상에서 커서를 처음/중간/마지막 줄로 이동
 
   [검색 & 치환]
   :s/string  -   string을 탐색
   /string  -   string이라는 문자를 현재의 위치에서 탐색
   ?string   -   string이라는 문자를 현재의 위치에서 역으로 탐색
   n   -   한번 탐색한 문자열을 연속적으로 탐색
   N   -   한번 탐색한 문자열을 역으로 연속적으로 탐색

   [문자 치환]   n은 숫자를 나타냄
   rc  -   현재 문자를 c로 치환
   R  -   현재 커서부터 Esc 문자가 입력될 때까지 치환
   s   -   현재문자를 삭제하고 입력모드로 전환
   ns   -   현재부터 n문자를 삭제하고 입력모드로 전환
   S   -   현재줄을 삭제하고 입력모드로 전환
   [단어 치환]   n은 숫자를 나타냄
   cw  -   한 단어를 치환하고 입력 모드로 전환
   ncw  -   현재부터 n단어를 삭제하고 입력 모드로 전환
   cc   -   현재 줄을 삭제하고 입력모드로 전환
   ncc   -   현재 줄부터 n줄을 삭제하고 입력모드로 전환
   C   -   현재 커서부터 줄 끝까지의 내용을 삭제하고 입력 모드로 전환
   nC   -   현재 커서부터 n줄까지 내용을 삭제하고 입력 모드로 전환
 
5. 환경 설정 및 기타 기능
   [set 및 기타]
   :set nu | nonu   -   line번호를 보여/안보여 준다
   :set ai | noai   -   자동 들여 쓰기/취소
   :set shiftwidth=4   -   들여쓰기 폭을 4문자로 설정
   :set cindent   -   C프로그램을 작성시 활용할 수 있는 자동 편집 기능
   :set all   -   set 변수 보기
   :set  -   현재 설정된 set 상태
   :syntax on | off\   -   색문자의 사용 on|off
 
   [환경 설정]
   set 등의 환경 초기 설정을 지정함으로 하여 vi 실행시에 초기 설정에 의한 작업 환경 홈디렉토리에 .exrc
   또는 .vimrc에 사용하고자 하는 설정을 편집한다.
 
   [태그 기능]     지정된 표시의 위치로 이동할 때 사용
   m + a   -   현재의 위치를 a위치로 표시(marking)
   m + c   -   현재의 위치를 c위치로 표시(marking)
   ' + a   -   a 표시된 위치로 이동
   ' + c   -   c 표시된 위치로 이동
   ' + '   -   '를 연속 두 번 누르면 이전 작업 위치로 이동
 
   [문자 buffer 기능]     각 문자에 대해 버퍼로 활용 가능
   " + a + y5y   -   문자 a에 현재 줄부터 5줄을 저장
   " + a + p   -   문자 a에 저장된 5줄의 내용을 붙여 넣기
 
   [기타]
   J   -   현재 줄과 다음 줄을 합침
   ~  -   대소문자로 상호 변환
   ^v + m   -   제어문자인 ^M문자를 현재의 위치에 삽입
   .(dot)   -   조금전 실행한 기능을 반복 실행
   ctrl + g   -   편집 중인 파일 이름과 현재 위치를 확인
   ctrl + l   -   Refresh (화면갱신)
   ctrl + 6   -   2개의 파일을 동시에 편집하고 있을 때 상호 이동

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,